Scanning problem for hidden SSIDs

Holger Schurig hs4233 at mail.mn-solutions.de
Fri Jun 22 08:23:49 EDT 2007


> The problem is that the scan is TLV-based, and that we can only
> scan 2 or 3 channels at a time 

AFAIK this is because inside the WLAN chip the scan response 
would overflow.


> before a pause

What do you mean with "pause", is a 

    ret = libertas_prepare_and_send_command(priv,
        CMD_802_11_SCAN, 0,
        CMD_OPTION_WAITFORRSP, 0, scan_cmd);

sufficient?  That is equal to calling

    wait_event_interruptible(adapter->cmd_pending,
        !adapter->nr_cmd_pending);

I cannot see any other code in scan.c that would cause a pause.


Suppose I need to scan for "any" or a specific SSID. If I do 
this:

   setup SCAN_CMD with TLV to scan chan 1+2
   libertas_prepare_and_send_command with CMD_OPTION_WAITFORRSP
   setup SCAN_CMD with TLV to scan chan 3+4
   libertas_prepare_and_send_command with CMD_OPTION_WAITFORRSP
   setup SCAN_CMD with TLV to scan chan 5+6
   libertas_prepare_and_send_command with CMD_OPTION_WAITFORRSP
   setup SCAN_CMD with TLV to scan chan 7+8
   libertas_prepare_and_send_command with CMD_OPTION_WAITFORRSP
   setup SCAN_CMD with TLV to scan chan 9+10
   libertas_prepare_and_send_command with CMD_OPTION_WAITFORRSP
   setup SCAN_CMD with TLV to scan chan 11+12
   libertas_prepare_and_send_command with CMD_OPTION_WAITFORRSP
   setup SCAN_CMD with TLV to scan chan 13 (+14)
   libertas_prepare_and_send_command with CMD_OPTION_WAITFORRSP

... would pause introduced by CMD_OPTION_WAITFORRSP be enought to 
not get disconnected?



More information about the libertas-dev mailing list