• sdk
  • arm-sdk
  • Issues
  • #9

Closed
Open
Opened 2016-12-17T07:03Z by Ghost User @ghost

wlan0 on rpi3 not fully functional

The wlan0 interface on the rpi3 isn't fully functional. Running iwconfig reports that wlan0 has no wireless extensions. Running iwlist wlan0 scanning reports that wlan0 doesn't support scanning. However, using wpa_supplicant, it is possible to make a connection to a wifi access point. When a connection with wpa_supplicant is made, I see the following in dmesg:

[ 181.034621] brcmfmac: power management disabled [ 181.035994] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 182.322593] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 183.179543] brcmfmac: brcmf_sdio_hdparse: seq 167: sequence number error, expect 166 [ 183.179868] brcmfmac: brcmf_sdio_hdparse: seq 166: sequence number error, expect 168 [ 183.180441] brcmfmac: brcmf_sdio_hdparse: seq 168: sequence number error, expect 167

When the connection is brought down, I see:

[ 279.871716] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)

I did use iw to set the regulatory domain before starting wpa_supplicant, or running iwconfig/iwlist. I'm not sure what else to do to debug this. I'll be happy to provide any other necessary info.

Please solve the reCAPTCHA

We want to be sure it is you, please confirm you are not a robot.

  • parazyd
    parazyd @parazyd · 2016-12-18T12:43Z

    In this case, are you using the armhf or arm64 image?

    In any case, you should be using wpa_supplicant, not iw. Also, for ease of use, you can use wpa_passphrase, along with an /etc/wpa_supplicant/wpa_supplicant.conf and /etc/network/interfaces.

    Let me know if you need help with setting this up.

  • Ghost User
    Ghost User @ghost · 2016-12-19T03:18Z

    I'm using the arm64 image. The specific image name is devuan_jessie_1.0.0-beta2_arm64_raspi3.img.xz Thanks for your offer of setting up wpa_supplicant, I already have this going so that all I need to do is ifup wlan0, and ifdown wlan0. I'm sure I can set the regulatory domain with wpa_supplicant (I just haven't looked into this), so I don't really need iw. What I would like is a equivalent to iwlist for scanning available networks, and iwconfig to check the status of wlan0. Is there an easier way that you know of other than launching wpa_supplicant -i wlan0 -g wpa followed by wpa_cli -i wlan0 -g wpa, and looking up the necessary commands?

  • parazyd
    parazyd @parazyd · 2016-12-20T18:02Z

    Simply create a file calledwpa_supplicant.confin/etc/wpa_supplicant/and put:

    country=NL

    (where NL is your country code).

    Also good to add is:

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

    Which will allow users in thewheelgroup to control wifi.

    Then to autostart all of this, you would do it in/etc/network/interfacesIf I am not mistaken, it's already commented in that file so please check.

  • parazyd
    parazyd @parazyd · 2016-12-20T18:03Z

    To add your network to thewpa_supplicant.confyou would issue:

    # wpa_passphrase "networkSSID" "networkPassphrase" >> /etc/wpa_supplicant/wpa_supplicant.conf
  • parazyd
    parazyd @parazyd · 2016-12-20T18:08Z

    The above should start wpa_supplicant on every boot. So, provided you are in thewheelgroup, you would just have to runwpa_cli->scan->scan_results.

  • Ghost User
    Ghost User @ghost · 2016-12-21T00:55Z

    Thanks for the country= line, and the scan and scan_results commands for wpa_cli, much appreciated. I'll admit I should have found the time to look at the wpa_supplicant docs more in depth. Anyway, this is a good enough substitute for iw, iwconfig, and iwlist. I will go ahead and close this issue. Thanks again.

  • Ghost User @ghost closed · 2016-12-21T00:55Z

    closed