Search Linux Wireless

Re: brcmfmac: problem using WPS with wpa_supplicant on BCM43362

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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:
> > Hi Arend,
> > 
> > On Fri, 2017-02-24 at 10:58 +0100, Arend Van Spriel wrote:
> > > On 24-2-2017 10:43, Jörg Krause wrote:
> > > > Hi Arend,
> > > > 
> > > > On Fri, 2017-02-24 at 09:16 +0100, Arend Van Spriel wrote:
> > > > > 
> > > > > On 23-2-2017 21:21, Jörg Krause wrote:
> > > > > > 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:
> > > > > > 
> > > > > > """
> > > > > > > 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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux