A project log for Wandboard experiments

Setting up the WBQUAD

Christoph TackChristoph Tack 05/26/2020 at 19:440 Comments

Broadcom BCM4330 driver

This one uses the Broadcom BCM4330.  Be sure to use the correct firmware-file and NVRAM-file.  These are the ones that worked for me:
ubuntu@arm:~$ sha256sum /lib/firmware/brcm/brcmfmac4330-sdio.bin
004eb91ba7f1cd6eaf57b51f90d8004c5663c38175a8a9314a4e2f574cbfbd14  /lib/firmware/brcm/brcmfmac4330-sdio.bin
ubuntu@arm:~$ sha256sum /lib/firmware/brcm/brcmfmac4330-sdio.txt 
240cb4cbfb37cf516cb6df6373e6fb573ee45e14a22a565bf7d60f42fc40bdd8  /lib/firmware/brcm/brcmfmac4330-sdio.txt

There should be some logging messages:

ubuntu@arm:~$ dmesg | grep brcmf
[   17.644303] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4330-sdio for chip BCM4330/4
[   17.644638] usbcore: registered new interface driver brcmfmac
[   17.693124] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac4330-sdio.wand,imx6q-wandboard.txt failed with error -2
[   17.981990] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4330-sdio for chip BCM4330/4
[   17.982083] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[   17.982727] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4330/4 wl0: Oct 25 2011 19:34:12 version
[   19.875155] ieee80211 phy0: brcmf_p2p_create_p2pdev: timeout occurred
[   19.881689] ieee80211 phy0: brcmf_cfg80211_add_iface: add iface p2p-dev-wlan0 type 10 failed: err=-5

 Don't panic.  The wandboard connects to the AP, even though there seem to be some errors.

Check that wlan0 exists now:

ubuntu@arm:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,DYNAMIC,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:1f:7b:b4:11:ef brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether fc:4d:d4:c5:17:ac brd ff:ff:ff:ff:ff:ff


This is the active command-line network manager.  Tips for practical use can be found on the ArchWiki.
Just follow the steps to connect to an access point.  Once done, the DHCP-server should have assigned you an IP-address:

ubuntu@wandboard:~$ ifconfig wlan0
wlan0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC>  mtu 1500
        inet  netmask  broadcast
        inet6 fe80::fe4d:d4ff:fec5:17ac  prefixlen 64  scopeid 0x20<link>
        ether fc:4d:d4:c5:17:ac  txqueuelen 1000  (Ethernet)
        RX packets 255  bytes 31958 (31.9 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 224  bytes 27296 (27.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Pinging and DNS should work as well:

ubuntu@wandboard:~$ ping -c3
PING ( 56(84) bytes of data.
64 bytes from ( icmp_seq=1 ttl=54 time=30.9 ms
64 bytes from ( icmp_seq=2 ttl=54 time=34.3 ms
64 bytes from ( icmp_seq=3 ttl=54 time=33.1 ms

--- ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 30.943/32.773/34.295/1.385 ms