Thread (8 messages) 8 messages, 2 authors, 2017-02-27

Re: brcmfmac: problem using WPS with wpa_supplicant on BCM43362

From: Jörg Krause <hidden>
Date: 2017-02-27 17:04:04

Hi Arend,

On Fri, 2017-02-24 at 13:15 +0100, Arend Van Spriel wrote:
On 24-2-2017 11:26, Jörg Krause wrote:
quoted
Hi Arend,

On Fri, 2017-02-24 at 10:58 +0100, Arend Van Spriel wrote:
quoted
On 24-2-2017 10:43, Jörg Krause wrote:
quoted
Hi Arend,

On Fri, 2017-02-24 at 09:16 +0100, Arend Van Spriel wrote:
quoted
On 23-2-2017 21:21, Jörg Krause wrote:
quoted
Hi,

I am using Linux Kernel v4.9.9 and wpa_supplicant 2.6. When
running
'wpa_cli wps_pin any', the following messages are printed:

"""
quoted
wps_pin any         
[ 4011.779108] brcmfmac: brcmf_vif_set_mgmt_ie: vndr ie set
error :
-30
[ 4011.786190] brcmfmac: brcmf_config_ap_mgmt_ie: Set
Beacon IE
Failed
"""

.. and nothing happens. The data sheet for the BCM43362
states
that
the
module supports WPS.
Hi Jörg,

We have never tested WPS with brcmfmac. Most of it is in
firmware
so
it
might work. We had some fixes related to setting management
IE,
but
it
should be in 4.9. I did not check it (yet).
As it turns out, WPS does not work if a network configuration
in
wpa_supplicant has the flag `mode=2` (access point mode) set:

"""
ctrl_interface=/var/run/wpa_supplicant
update_config=1

network={
	ssid="AP"
	key_mgmt=NONE
	mode=2
	id_str="ap"
}
"""

Setting mode=2 for a network and having ap_scan=1 (default)
means
if no
APs matching to the currently enabled networks are found, a new
network
 (IBSS or AP mode operation) may be initialized (if
configured).

So, WPS does not work if the interface is operating in AP mode.
I
wonder, if this is a desired behavior? At least, wpa_supplicant
does
not complain, but prints "WPS-PBC-ACTIVE", but no messages are
following, until "WPS-TIMEOUT".
So what do you expect exactly? Are you trying to connect with
some
other
device to this AP interface?
Sorry, I got confused. The device operating in AP mode shall be
connected to some other AP as a station. Of course, WPS cannot be
used
to do so as long as the interface is operation in AP mode, as the
device should be the WPS enrollee and not the registrar. My bad!
Thanks
for pointing that out.

So, to use WPS for connecting the device to another AP I have to
bring
the interface into an non-AP mode first.

So, I can confirm that using WPS works when the interface is
unconfigured. However, if the in the interface is in AP mode and
WPS is
started the error messages pop up.
You mean the message you emailed earlier as below?

[ 4011.779108] brcmfmac: brcmf_vif_set_mgmt_ie: vndr ie set
error :
-30
[ 4011.786190] brcmfmac: brcmf_config_ap_mgmt_ie: Set Beacon IE
Failed

You get firmware error -30 which is BCME_NOTFOUND. This can happen in
firmware upon deleting an IE. However, it is hard to say what is
exactly
happening without knowing the message content that goes to firmware.
You
can enable firmware console logging to see if you get any message
regarding this, eg. "wlc_del_ie: IE not in list". Do insmod with
debug=0x00100000.

	if (total_ie_buf_len) {
		err  = brcmf_fil_bsscfg_data_set(ifp, "vndr_ie",
iovar_ie_buf,
						 total_ie_buf_len);
		if (err)
			brcmf_err("vndr ie set error : %d\n", err);
	}

If this happens in the .start_ap() callback the error is ignored so
it
should not affect AP operation although beacon may not be setup
properly.
I loaded the brcmfmac driver with the debug setting and started wpa_cli
wps_pbc while the device operates in AP mode.

This is the log after running the command:

"""
kern.err kernel: [   73.277473] brcmfmac: brcmf_vif_set_mgmt_ie: vndr
ie set error : -30
kern.err kernel: [   73.284647] brcmfmac: brcmf_config_ap_mgmt_ie: Set
Beacon IE Failed
daemon.err wpa_supplicant[176]: Failed to set beacon parameters
daemon.notice wpa_supplicant[176]: wlan0: WPS-PBC-ACTIVE 
kern.debug kernel: [   73.298749] brcmfmac: CONSOLE: 
user.notice ACTION_WPA: WPS-PBC-ACTIVE
daemon.notice wpa_supplicant[176]: wlan0: WPS-TIMEOUT 
daemon.err wpa_supplicant[176]: Failed to set beacon parameters
kern.err kernel: [  193.319897] brcmfmac: brcmf_vif_set_mgmt_ie: vndr
ie set error : -30
kern.err kernel: [  193.333464] brcmfmac: brcmf_config_ap_mgmt_ie: Set
Beacon IE Failed
kern.debug kernel: [  193.347876] brcmfmac: CONSOLE: wl0: wlc_del_ie:
IE not in list
user.notice ACTION_WPA: WPS-TIMEOUT
"""

Note, that the first brcmfmac CONSOLE message is empty, whereas the
second one is "wl0: wlc_del_ie: IE not in list".

Best regards,
Jörg Krause
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help