Lockup in wpa supplicant

Ben Greear greearb
Thu May 29 17:05:04 PDT 2014

On 05/29/2014 05:02 PM, michaelm wrote:
> Hi everyone
> First post on this list from me :)
> I am using wpa_supplicant 2.1 with linux wireless driver
> The problem I am having is that after a while, wpa_supplicant hangs in the function "radio_start_next_work" first giving the message:
> "Delay radio work start until externally triggered scan completes"

I saw similar problems when testing with ath10k...I ended up hacking my
supplicant to have a timeout so it could recover when it did not receive
scan results after 30 seconds...

Interesting that someone else saw this....


> Here is a full log:
> wlan_sta0: Event AUTH_TIMED_OUT (14) received
> wlan_sta0: SME: Authentication timed out
> wlan_sta0: Radio work 'sme-connect'@0x7b980 done in 0.051100 seconds
> BSSID 00:60:64:88:0e:c0 blacklist count incremented to 2
> wlan_sta0: Blacklist count 2 --> request scan in 500 ms
> wlan_sta0: Setting scan request: 0.500000 sec
> nl80211: Set wlan_sta0 operstate 0->0 (DORMANT)
> netlink: Operstate: ifindex=9 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)
> EAPOL: External notification - portEnabled=0
> EAPOL: External notification - portValid=0
> EAPOL: External notification - EAP success=0
> Delay radio work start until externally triggered scan completes
> wlan_sta0: State: DISCONNECTED -> SCANNING
> Scan SSID - hexdump_ascii(len=6):
>      6d 6d 74 65 73 74                                 mmtest
> wlan_sta0: Starting AP scan for wildcard SSID
> wlan_sta0: Optimize scan based on conf->freq_list
> wlan_sta0: Add radio work 'scan'@0x86c28
> Nothing ever happens after the above lines (wpa_supplicant is locked up), unless I trigger a scan using "iw"
> Without full debugging, it seems that wpa_s->external_scan_running flag is set forever and hence wpa_supplicant never does any radio work.
> I cannot really explain why there should be an externally triggered scan (as it would be the only condition to set the "external_scan_running" flag).
> I thought this may be to do with the fact that hostapd is running at the same time (as we use both STA and AP functionality simultaneously) but
> this occurs even with AP function disabled and hostapd not running.
> If I remove the return, e.g.:
>     if (wpa_s && wpa_s->external_scan_running) {
>         /*
>             ** log message, but do not return and proceed with radio work
>             */
>         wpa_printf(MSG_DEBUG, "<<<<Delay radio work start until externally triggered scan completes>>>>");
>         /* return; */
>     }
> Everything seems to work fine. Furthermore, it doesn't seem that interrupting external scan if supplicant needs to do its own is such a bad idea.
> Any ideas would be much appreciated
> Regards,
> Michael
> ______________________________________________________________________
> This communication contains information which may be confidential or privileged. The information is intended solely for the use of the individual or entity
> named above.  If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is
> prohibited.  If you have received this communication in error, please notify me by telephone immediately.
> ______________________________________________________________________
> _______________________________________________
> HostAP mailing list
> HostAP at lists.shmoo.com
> http://lists.shmoo.com/mailman/listinfo/hostap

Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

More information about the Hostap mailing list