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 5.90.125.104
[ 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
Connman
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 192.168.1.6 netmask 255.255.255.0 broadcast 192.168.1.255
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 google.com
PING google.com (172.217.168.238) 56(84) bytes of data.
64 bytes from ams15s40-in-f14.1e100.net (172.217.168.238): icmp_seq=1 ttl=54 time=30.9 ms
64 bytes from ams15s40-in-f14.1e100.net (172.217.168.238): icmp_seq=2 ttl=54 time=34.3 ms
64 bytes from ams15s40-in-f14.1e100.net (172.217.168.238): icmp_seq=3 ttl=54 time=33.1 ms
--- google.com 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
Remarks
- It's not necessary to install rfkill. You might be tempted to use it to unblock wifi. but connman handles that.
- Don't edit /etc/resolv.conf. Connmand will overwrite it.
- Don't edit /etc/network/interfaces. You could add info there about wifi networks, you'd better let that be handled by connman.
- There's no need to create any wpa_supplicant.conf file as suggested in some fora.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.