[RFC 0/1] libertas: new scan logic

Holger Schurig hs4233 at mail.mn-solutions.de
Wed Nov 28 09:49:27 EST 2007


Hi Dan !

I've rewritten the scan logic. I'm sending this as a RFC to get 
feedback about it.

As you see in the source, I'm not finished and have some TODOs 
there. I've marked them with TODO in the source/patch:

1. numprobes, channel_list

This is currently not implemented. The only code that ever can 
set numprobes or a specific channel ist is via the 'setuserscan' 
file in the debugfs.

I'm not aware that this is used by anybody, I'm also not aware 
that this is terribly useful. Should I remove the code in 
debugfs or implement the rest in scan.c to continue it's 
support?


2. Uncommented code

The two pieces uncommented with #if 0 ... #endif are uncommented 
in the current version of scan.c. I don't know why. Should those 
sections be removed or who is doing the rest of the work to fill 
them with life?


3. Mimic mac80211 bsstype

mac80211 checks for that the scan request if the proper type. 
However, I don't see how "iwlist eth1 scan" can transfer a 
bsstype.

Maybe some other tools used the corresponding field of the 
SIOCSIWSCAN, I don't know.

The old scan.c didn't also support this setting.


4. Allow "iwlist eth1 scan SSID"

This should probably be implemented. The old scan.c also didn't 
support this setting, but iwconfig can do it. Maybe 
wpa_supplicant can do it, too.


5. Wait for the result

Both the old scan.c and my new scan.c use a worker to break the 
scanning of 14 channels into little pieces. And both scan.c 
versions have currently the same bug. When you run "iwlist eth1 
scan", you'll get a result way before the scanning is finished.

What's the proper way to wait until adapter->last_scanned_channel 
is 0 ?



Greetings, Holger



More information about the libertas-dev mailing list