immediate disassociated with hostapd 2.9. 2.5 work fine

tom schuring tomschuring at
Tue Sep 22 03:00:02 EDT 2020

Alright, i have linked it to the following bit of code:
if (bss->drv->device_ap_sme) {
         u16 type = (WLAN_FC_TYPE_MGMT << 2) | (WLAN_FC_STYPE_AUTH << 4);

         // Register for all Authentication frames
         if (nl80211_register_frame(bss, bss->nl_mgmt, type, NULL, 0)
             < 0)
                    "nl80211: Failed to subscribe to handle 
Authentication frames - SAE offload may not work");

in the
    static int nl80211_mgmt_subscribe_ap_dev_sme(struct i802_bss *bss)
function in driver_nl80211.c

It is the cause that hostapd registers for WLAN_FC_STYPE_AUTH and when 
that message is received from the driver the code thinks we have an open 
AP..even though the config is a PSK config..

l80211: MLME event 59 (NL80211_CMD_FRAME) on uap0(d4:ca:6e:6a:6a:59) 
A1=d4:ca:6e:6a:6a:59 A2=8c:83:e1:25:a8:d0
nl80211: MLME event frame - hexdump(len=30): b0 00 3a 01 d4 ca 6e 6a 6a 
59 8c 83 e1 25 a8 d0 d4 ca 6e 6a 6a 59 80 8a 00 00 01 00 00 00
nl80211: Frame event
nl80211: RX frame da=d4:ca:6e:6a:6a:59 sa=8c:83:e1:25:a8:d0 
bssid=d4:ca:6e:6a:6a:59 freq=2437 ssi_signal=0 fc=0xb0 seq_ctrl=0x8a80 
stype=11 (WLAN_FC_STYPE_AUTH) len=30
uap0: Event RX_MGMT (18) received
authentication: STA=8c:83:e1:25:a8:d0 auth_alg=0 auth_transaction=1 
status_code=0 wep=0 seq_ctrl=0x8a80
uap0: STA 8c:83:e1:25:a8:d0 IEEE 802.11: authentication OK (open system)
uap0: STA 8c:83:e1:25:a8:d0 MLME: 
MLME-AUTHENTICATE.indication(8c:83:e1:25:a8:d0, OPEN_SYSTEM)
uap0: STA 8c:83:e1:25:a8:d0 MLME: MLME-DELETEKEYS.request(8c:83:e1:25:a8:d0)
authentication reply: STA=8c:83:e1:25:a8:d0 auth_alg=0 
auth_transaction=2 resp=0 (IE len=0) (dbg=handle-auth)
nl80211: send_mlme - da= 8c:83:e1:25:a8:d0 noack=0 freq=0 no_cck=0 
offchanok=0 wait_time=0 fc=0xb0 (WLAN_FC_STYPE_AUTH) nlmode=3
nl80211: Use bss->freq=2437
nl80211: CMD_FRAME freq=2437 wait=0 no_cck=0 no_ack=0 offchanok=0
CMD_FRAME - hexdump(len=30): b0 00 00 00 8c 83 e1 25 a8 d0 d4 ca 6e 6a 
6a 59 d4 ca 6e 6a 6a 59 00 00 00 00 02 00 00 00

I have commented out the whole of the "if (bss->drv->device_ap_sme)" if 
statement and it works again (even in 2.9)

This could be a problem with my driver or a more generic problem.

if someone with more insight how this should work would like more 
information then
please reach out and just ask what other information i can provide.
i'm happy to help, but for now this will get me past this hurdle.



More information about the Hostap mailing list