Search Linux Wireless

Re: Does mac80211 support use of WIPHY_FLAG_SUPPORTS_FW_ROAM?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/03/2013 02:56 PM, Johannes Berg wrote:
Hi,

The short answer to your question is: no.

I know that we need to set the WIPHY_FLAG_SUPPORTS_FW_ROAMING but I'm not
sure if anything else needs to be signalled (called) in to mac80211?

I've seen calls to cfg80211_roamed_bss which gets the roamed indication out
to the user space but do we need to use this as well?

Can anyone explain?

The longer answer is that mac80211 doesn't use the connect API, it
implements the MLME itself. Roaming in firmware isn't just that, it's
much much more complex. Think of the AP station entry getting updated
(mac80211 would have to do this!), the new QoS/WMM parameters,
BSSID, ...

If you have roaming in your firmware, then you must have the MLME in the
firmware as well. Then, why are you using mac80211? Clearly not for the
MLME, but then what for instead? Maybe what you really want instead is
to do some (really really big!) refactoring on the datapath?

More general, a while ago we have been looking at mac80211 offloads to see whether the brcmfmac driver could be (effectively) converted to a mac80211 driver. The only possible conclusion was that a device with MLME in firmware should have a cfg80211 based driver, but maybe some daredevil would feel challenged to implement MLME firmware-offloading in mac80211, but that is probably a 'really really big' task :-)

Regards,
Arend

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux