Scanning problem for hidden SSIDs

Holger Schurig hs4233 at mail.mn-solutions.de
Fri Jun 22 14:38:38 EDT 2007


> 2) connected
>     - Have to break up scan into 2 or 3 channel sets for firmware
>     - Have to pause between channel sets so card can go back to
> associated channel for a while

Other cards are handling this in a different manner.

When they scan, they send a "I'm going into powersafe mode" to their AP. 
The AP notices this and buffers any outgoing packet for the station. 
Now the station is free to leave the current channel, and can do the 
scanning. After the scanning, it returns to the old channel and sends 
a "I'm back from powersafe" packet.

Note that you just send an empty data packet with the sleep bit set, you 
don't actually sleep or let the WIFI chip sleep!


I know that madwifi does it that way, the Agere Firmware for WLAGS 
driver does it that way. Oh, and mac80211 in the current kernel does it 
also that way, see file net/mac80211/ieee80211_sta.c, function  
ieee80211_sta_start_scan(), code

   netif_stop_queue(sdata->dev);
   if (sdata->type == IEEE80211_IF_TYPE_STA &&
       sdata->u.sta.associated)
           ieee80211_send_nullfunc(local, sdata, 1);

the "1" is for powersafe.


I just don't know how I can tell the firmware to send such a data 
packet. I think it is one of the bits in the txpd.powermgmt (page 24 of 
the manual), but which one?



More information about the libertas-dev mailing list