Back port "scan_freq" implementation to wpa supplicant 0.6.x

Holger Schurig holgerschurig
Thu Dec 16 05:14:54 PST 2010

> WEXT has the facility to scan for specific channels, but no in-kernel
> drivers implement that functionality.  Of course, since it's channels
> and not band/freq pairs it's completely broken too.

I thought that the WEXT-libertas did implement this, but that was (for 
me) so long ago that I forgot the exact details.


> I was told that there is a way to adapt a non mac80211 driver(WEXT
> baseed) to work with mac80211.

You confused mac80211 and cfg80211. Every mac80211-driver is also 
controlled by cfg80211. But there are some non-mac80211-drivers that are 
controlled by cfg80211 natively as well. And then there are some old, 
outdated drivers that are still on WEXT. But the kernel has a WEXT-
>cfg80211 gateway, where you can use cfg80211-based tools (e.g. "iw" or 
wpa_supplicant -Dnl80211) with those drivers.

However, the API of cfg80211 is much richer than the API of WEXT, so not 
everything migth work, neither directly nor via the Linux kernel WEXT-
>cfg80211 shim.

One thing that you should also know: when I wrote here driver, I meant 
the drivers in the linux kernel. wpa_supplicant / hostapd also has kind 
of drivers, using different APIs. And here, there are several WEXT based 
drivers that inherit part of their function from a the basic driver, but 
add non-standard stuff on top of that.

The implication here is the following: if you enhance wpa_supplicant's 
base-WEXT-driver (src/drivers/driver_wext.c), than you have to make this 
in a way that won't disturb the other WEXT-drivers (e.g. driver_atmel.c, 
driver_hostap.c, driver_madwifi.c etc).


More information about the Hostap mailing list