Details

When using the broadcom-wl driver (version 6.30.223.271), wpa_supplicant is not able to authenticate to networks because it passes invalid arguments to the wl driver. This works in version 2.6, but fails in 2.7.



It may be similar to the bug report here:



I am not sure if this should be filed as a bug here or upstream, but since other distros had handled similar problems at the distro level, I figured I would start here.



Additional info:

* wpa_supplicant (1:2.7-1)

* broadcom-wl-dkms (version 6.30.223.271)



Below is an excerpt form the wpa_supplicant logs with verbose debugging enabled:

```

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Starting AP scan for wildcard SSID (Interleave with specific)

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Add radio work 'scan'@0x55a3451483b0

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: First radio work item in the queue - schedule start immediately

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Starting radio work 'scan'@0x55a3451483b0 after 0.000007 second wait

Dec 17 21:41:34 freya wpa_supplicant[24157]: Request driver to clear scan cache due to local BSS flush

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: nl80211: scan request

Dec 17 21:41:34 freya wpa_supplicant[24157]: nl80211: Scan SSID - hexdump_ascii(len=0): [NULL]

Dec 17 21:41:34 freya wpa_supplicant[24157]: nl80211: Scan extra IEs - hexdump(len=12): 7f 0a 00 00 00 00 00 00 00 00 00 01

Dec 17 21:41:34 freya wpa_supplicant[24157]: nl80211: Add NL80211_SCAN_FLAG_FLUSH

Dec 17 21:41:34 freya wpa_supplicant[24157]: nl80211: Scan trigger failed: ret=-22 (Invalid argument)

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: State: SCANNING -> INACTIVE

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: CTRL-EVENT-SCAN-FAILED ret=-22 retry=1

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Radio work 'scan'@0x55a3451483b0 done in 0.000068 seconds

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: radio_work_free('scan'@0x55a3451483b0): num_active_works --> 0

Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Setting scan request: 1.000000 sec

Dec 17 21:41:34 freya wpa_supplicant[24157]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/0

Dec 17 21:41:35 freya wpa_supplicant[24157]: dbus: fi.w1.wpa_supplicant1.Interface.RemoveNetwork (/fi/w1/wpa_supplicant1/Interfaces/0) [o]

Dec 17 21:41:35 freya wpa_supplicant[24157]: dbus: Unregister network object '/fi/w1/wpa_supplicant1/Interfaces/0/Networks/0'

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Request to deauthenticate - bssid=00:00:00:00:00:00 pending_bssid=00:00:00:00:00:00 reason=3 state=INACTIVE

Dec 17 21:41:35 freya wpa_supplicant[24157]: TDLS: Tear down peers

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Data frame filter flags=0x0

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: INACTIVE -> DISCONNECTED

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Set wlp2s0 operstate 0->0 (DORMANT)

Dec 17 21:41:35 freya wpa_supplicant[24157]: netlink: Operstate: ifindex=2 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)

Dec 17 21:41:35 freya wpa_supplicant[24157]: EAPOL: External notification - portEnabled=0

Dec 17 21:41:35 freya wpa_supplicant[24157]: EAPOL: External notification - portValid=0

Dec 17 21:41:35 freya wpa_supplicant[24157]: RTM_NEWLINK: ifi_index=2 ifname=wlp2s0 operstate=5 linkmode=1 ifi_family=0 ifi_flags=0x11003 ([UP][LOWER_UP])

Dec 17 21:41:35 freya wpa_supplicant[24157]: RTM_NEWLINK: ifi_index=2 ifname=wlp2s0 operstate=2 linkmode=1 ifi_family=0 ifi_flags=0x1002 ()

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Interface down (wlp2s0/wlp2s0)

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Event INTERFACE_DISABLED (26) received

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Interface was disabled

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Data frame filter flags=0x0

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: DISCONNECTED -> DISCONNECTED

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Set wlp2s0 operstate 0->0 (DORMANT)

Dec 17 21:41:35 freya wpa_supplicant[24157]: netlink: Operstate: ifindex=2 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)

Dec 17 21:41:35 freya wpa_supplicant[24157]: EAPOL: External notification - portEnabled=0

Dec 17 21:41:35 freya wpa_supplicant[24157]: EAPOL: External notification - portValid=0

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: DISCONNECTED -> INTERFACE_DISABLED

Dec 17 21:41:35 freya wpa_supplicant[24157]: l2_packet_receive - recvfrom: Network is down

Dec 17 21:41:35 freya wpa_supplicant[24157]: RTM_NEWLINK: ifi_index=2 ifname=wlp2s0 operstate=5 linkmode=1 ifi_family=0 ifi_flags=0x11003 ([UP][LOWER_UP])

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Interface up (wlp2s0/wlp2s0)

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Own MAC address on ifindex 2 (wlp2s0) changed from 6c:40:08:8f:f9:d6 to ba:c1:d2:34:32:9f

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Event INTERFACE_ENABLED (25) received

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Interface was enabled

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: INTERFACE_DISABLED -> DISCONNECTED

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Set wlp2s0 operstate 0->0 (DORMANT)

Dec 17 21:41:35 freya wpa_supplicant[24157]: netlink: Operstate: ifindex=2 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Rescheduling scan request: 0.000000 sec

Dec 17 21:41:35 freya wpa_supplicant[24157]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/0

Dec 17 21:41:35 freya wpa_supplicant[24157]: dbus: fi.w1.wpa_supplicant1.Interface.Scan (/fi/w1/wpa_supplicant1/Interfaces/0) [a{sv}]

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Add radio work 'scan'@0x55a3451483b0

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: First radio work item in the queue - schedule start immediately

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: No enabled networks - do not scan

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: DISCONNECTED -> INACTIVE

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Starting radio work 'scan'@0x55a3451483b0 after 0.000043 second wait

Dec 17 21:41:35 freya wpa_supplicant[24157]: Request driver to clear scan cache due to local BSS flush

Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: nl80211: scan request

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Scan SSID - hexdump_ascii(len=0): [NULL]

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Add NL80211_SCAN_FLAG_FLUSH

Dec 17 21:41:35 freya wpa_supplicant[24157]: Scan requested (ret=0) - scan timeout 30 seconds

Dec 17 21:41:35 freya wpa_supplicant[24157]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/0

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Event message available

Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Drv Event 33 (NL80211_CMD_TRIGGER_SCAN) received for wlp2s0

```



Steps to reproduce:

1. Use a computer with a broadcom network card that requires the broadcom-wl driver

2. Scan for networks (or try to connect to a wpa-authenticated network) with wpa_supplicant (or, in my case, NetworkManager)

3. The scan will fail and log the above failures

Description:When using the broadcom-wl driver (version 6.30.223.271), wpa_supplicant is not able to authenticate to networks because it passes invalid arguments to the wl driver. This works in version 2.6, but fails in 2.7.It may be similar to the bug report here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833507 (though the current Arch config does not appear to include the CONFIG_WNM or CONFIG_WNM_AP options, so it doesn't seem to be identical).I am not sure if this should be filed as a bug here or upstream, but since other distros had handled similar problems at the distro level, I figured I would start here.Additional info:* wpa_supplicant (1:2.7-1)* broadcom-wl-dkms (version 6.30.223.271)Below is an excerpt form the wpa_supplicant logs with verbose debugging enabled:```Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Starting AP scan for wildcard SSID (Interleave with specific)Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Add radio work 'scan'@0x55a3451483b0Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: First radio work item in the queue - schedule start immediatelyDec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Starting radio work 'scan'@0x55a3451483b0 after 0.000007 second waitDec 17 21:41:34 freya wpa_supplicant[24157]: Request driver to clear scan cache due to local BSS flushDec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: nl80211: scan requestDec 17 21:41:34 freya wpa_supplicant[24157]: nl80211: Scan SSID - hexdump_ascii(len=0): [NULL]Dec 17 21:41:34 freya wpa_supplicant[24157]: nl80211: Scan extra IEs - hexdump(len=12): 7f 0a 00 00 00 00 00 00 00 00 00 01Dec 17 21:41:34 freya wpa_supplicant[24157]: nl80211: Add NL80211_SCAN_FLAG_FLUSHDec 17 21:41:34 freya wpa_supplicant[24157]: nl80211: Scan trigger failed: ret=-22 (Invalid argument)Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: State: SCANNING -> INACTIVEDec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: CTRL-EVENT-SCAN-FAILED ret=-22 retry=1Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Radio work 'scan'@0x55a3451483b0 done in 0.000068 secondsDec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: radio_work_free('scan'@0x55a3451483b0): num_active_works --> 0Dec 17 21:41:34 freya wpa_supplicant[24157]: wlp2s0: Setting scan request: 1.000000 secDec 17 21:41:34 freya wpa_supplicant[24157]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/0Dec 17 21:41:35 freya wpa_supplicant[24157]: dbus: fi.w1.wpa_supplicant1.Interface.RemoveNetwork (/fi/w1/wpa_supplicant1/Interfaces/0) [o]Dec 17 21:41:35 freya wpa_supplicant[24157]: dbus: Unregister network object '/fi/w1/wpa_supplicant1/Interfaces/0/Networks/0'Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Request to deauthenticate - bssid=00:00:00:00:00:00 pending_bssid=00:00:00:00:00:00 reason=3 state=INACTIVEDec 17 21:41:35 freya wpa_supplicant[24157]: TDLS: Tear down peersDec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Data frame filter flags=0x0Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: INACTIVE -> DISCONNECTEDDec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Set wlp2s0 operstate 0->0 (DORMANT)Dec 17 21:41:35 freya wpa_supplicant[24157]: netlink: Operstate: ifindex=2 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)Dec 17 21:41:35 freya wpa_supplicant[24157]: EAPOL: External notification - portEnabled=0Dec 17 21:41:35 freya wpa_supplicant[24157]: EAPOL: External notification - portValid=0Dec 17 21:41:35 freya wpa_supplicant[24157]: RTM_NEWLINK: ifi_index=2 ifname=wlp2s0 operstate=5 linkmode=1 ifi_family=0 ifi_flags=0x11003 ([UP][LOWER_UP])Dec 17 21:41:35 freya wpa_supplicant[24157]: RTM_NEWLINK: ifi_index=2 ifname=wlp2s0 operstate=2 linkmode=1 ifi_family=0 ifi_flags=0x1002 ()Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Interface down (wlp2s0/wlp2s0)Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Event INTERFACE_DISABLED (26) receivedDec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Interface was disabledDec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Data frame filter flags=0x0Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: DISCONNECTED -> DISCONNECTEDDec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Set wlp2s0 operstate 0->0 (DORMANT)Dec 17 21:41:35 freya wpa_supplicant[24157]: netlink: Operstate: ifindex=2 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)Dec 17 21:41:35 freya wpa_supplicant[24157]: EAPOL: External notification - portEnabled=0Dec 17 21:41:35 freya wpa_supplicant[24157]: EAPOL: External notification - portValid=0Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: DISCONNECTED -> INTERFACE_DISABLEDDec 17 21:41:35 freya wpa_supplicant[24157]: l2_packet_receive - recvfrom: Network is downDec 17 21:41:35 freya wpa_supplicant[24157]: RTM_NEWLINK: ifi_index=2 ifname=wlp2s0 operstate=5 linkmode=1 ifi_family=0 ifi_flags=0x11003 ([UP][LOWER_UP])Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Interface up (wlp2s0/wlp2s0)Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Own MAC address on ifindex 2 (wlp2s0) changed from 6c:40:08:8f:f9:d6 to ba:c1:d2:34:32:9fDec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Event INTERFACE_ENABLED (25) receivedDec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Interface was enabledDec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: INTERFACE_DISABLED -> DISCONNECTEDDec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Set wlp2s0 operstate 0->0 (DORMANT)Dec 17 21:41:35 freya wpa_supplicant[24157]: netlink: Operstate: ifindex=2 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Rescheduling scan request: 0.000000 secDec 17 21:41:35 freya wpa_supplicant[24157]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/0Dec 17 21:41:35 freya wpa_supplicant[24157]: dbus: fi.w1.wpa_supplicant1.Interface.Scan (/fi/w1/wpa_supplicant1/Interfaces/0) [a{sv}]Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Add radio work 'scan'@0x55a3451483b0Dec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: First radio work item in the queue - schedule start immediatelyDec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: No enabled networks - do not scanDec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: State: DISCONNECTED -> INACTIVEDec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: Starting radio work 'scan'@0x55a3451483b0 after 0.000043 second waitDec 17 21:41:35 freya wpa_supplicant[24157]: Request driver to clear scan cache due to local BSS flushDec 17 21:41:35 freya wpa_supplicant[24157]: wlp2s0: nl80211: scan requestDec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Scan SSID - hexdump_ascii(len=0): [NULL]Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Add NL80211_SCAN_FLAG_FLUSHDec 17 21:41:35 freya wpa_supplicant[24157]: Scan requested (ret=0) - scan timeout 30 secondsDec 17 21:41:35 freya wpa_supplicant[24157]: dbus: flush_object_timeout_handler: Timeout - sending changed properties of object /fi/w1/wpa_supplicant1/Interfaces/0Dec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Event message availableDec 17 21:41:35 freya wpa_supplicant[24157]: nl80211: Drv Event 33 (NL80211_CMD_TRIGGER_SCAN) received for wlp2s0```Steps to reproduce:1. Use a computer with a broadcom network card that requires the broadcom-wl driver2. Scan for networks (or try to connect to a wpa-authenticated network) with wpa_supplicant (or, in my case, NetworkManager)3. The scan will fail and log the above failures