2010-08-30 20:40:57

by Charles Gordon

[permalink] [raw]
Subject: What extra functionality does a driver need to support for access point functionality?

Hi,

I'm trying to understand what additional features are needed in
drivers to support AP mode. I took a look at the mac80211
documentation on the web site and all it says is that:

# honour IEEE80211_TX_CTL_SEND_AFTER_DTIM or set
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING and use the
ieee80211_get_buffered_bc() function
# must honour IEEE80211_TX_RC_USE_SHORT_PREAMBLE or never do
short-preamble transmissions
# When sending probe response frames, the timestamp must be adjusted
by the hardware or firmware. This is important to power saving
stations that happen to adjust their TSF from the timestamp in the
probe response frame.
# implement sequence numbering for frames with the
IEEE80211_TX_CTL_ASSIGN_SEQ flag (or ask the hardware to do it for
those frames)
# react to the set_tim() callback or fetch each beacon from mac80211

This makes it seem like the driver doesn't have to do that much more
than it does normally. Somehow, I don't believe that's it can be that
easy. What else does the driver need to do to support something like
hostapd?

Thanks for your help.


2010-08-31 10:50:08

by Helmut Schaa

[permalink] [raw]
Subject: Re: What extra functionality does a driver need to support for access point functionality?

On Tue, Aug 31, 2010 at 8:58 AM, Johannes Berg
<[email protected]> wrote:
> On Mon, 2010-08-30 at 16:40 -0400, Charles Gordon wrote:
>
>> I'm trying to understand what additional features are needed in
>> drivers to support AP mode. ?I took a look at the mac80211
>> documentation on the web site and all it says is that:
>
> [...]
>
>> This makes it seem like the driver doesn't have to do that much more
>> than it does normally. ?Somehow, I don't believe that's it can be that
>> easy. ?What else does the driver need to do to support something like
>> hostapd?
>
> That really is all it needs to do, assuming it is a mac80211 based
> driver. There are some minor details like not filtering the frames,
> obviously, but those aren't usually a problem. The most common issue is
> not being able to implement multicast-after-DTIM correctly.

The driver also needs to be capable of reliably reporting the tx status of
at least some frames (for example injected frames).

Helmut

2010-08-31 06:57:08

by Johannes Berg

[permalink] [raw]
Subject: Re: What extra functionality does a driver need to support for access point functionality?

On Mon, 2010-08-30 at 16:40 -0400, Charles Gordon wrote:

> I'm trying to understand what additional features are needed in
> drivers to support AP mode. I took a look at the mac80211
> documentation on the web site and all it says is that:

[...]

> This makes it seem like the driver doesn't have to do that much more
> than it does normally. Somehow, I don't believe that's it can be that
> easy. What else does the driver need to do to support something like
> hostapd?

That really is all it needs to do, assuming it is a mac80211 based
driver. There are some minor details like not filtering the frames,
obviously, but those aren't usually a problem. The most common issue is
not being able to implement multicast-after-DTIM correctly.

johannes