This post explains how to configure a Panda USB Wireless adapter (PAU05) on BeagleBone Black rev-C board running Ubuntu 16.04 LTS.
This article assumes that you have a terminal to work with. The terminal could either be a serial session debug interface on or an ssh session over wired Ethernet connection.
Once WiFi is setup, adapter is part of your ‘home’ local network. A terminal session on wireless network can be created and neither debug interface nor wired connection are required.
Warning: Any WiFi adapter draws significant current from power supply. A 5 V / 2 A power supply is strongly recommended.
WiFi Adapter State
I used Panda USB Wireless adapter model PAU05. It is an inexpensive wireless-N adapter that works with many operating systems, including Ubuntu, on 2.4 GHz wireless band.
On Ubuntu desktop, PAU05 works plug-and-play. However, with Ubuntu running on an embedded board like BeagleBone Black, it has to be configured manually.
Power off BBB, insert WiFi adapter into the USB slot and power on.
On ssh terminal, check adapter configuration with below command:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $ sudo iwconfig wlan0 IEEE 802.11bgn ESSID:off/any Mode: Managed Access Point: Not-Associated Retry short limit:7 RTS thr:off Fragement trh:off Power Management:off $ sudo lshw -C network *-usb description: Wireless interface product: 802.11 n WLAN vendor: Ralink physical id: 1 bus info: usb@1:1 logical name: wlan0 version: 1.01 serial: 9c:ef:d5:fc:03:12 capabilities: usb-2.00 ethernet physical wireless configuration: broadcast=yes driver= driverversion= firmware= ip= link=no maxpower=450mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11bgn |
Note that the wireless interface logical name ‘wlan0’ could be different on your board. In that case, replace ‘wlan0’ with that name in all subsequent commands.
Configure Wireless Interface
Clearly, the adapter is powered off by default (link=no).
To turn it on and connect to your home network, add below lines to file /etc/network/interfaces and save it (open with sudo).
1 2 3 4 5 6 | .... .... auto wlan0 iface wlan0 inet dhcp wpa-ssid "my_network_name" wpa-psk "my_password" |
Needless to say, replace wpa-ssid & wpa-psk values with your home network name and password respectively.
Manually Check Wireless Connection
Back on the terminal, manually bring up the wireless interface to obtain a dynamic IP address.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | $ sudo ifup wlan0 <wait for DHCP messages> $ ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr 9c:ef:d5:fc:03:12 inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::9eef:d5ff:fefc:312/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1223 errors:0 dropped:0 overruns:0 frame:0 TX packets:229 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:163428 (163.4 KB) TX bytes:38497 (38.4 KB) $ sudo lshw -C network *-usb description: Wireless interface product: 802.11 n WLAN vendor: Ralink physical id: 1 bus info: usb@1:1 logical name: wlan0 version: 1.01 serial: 9c:ef:d5:fc:03:12 capabilities: usb-2.00 ethernet physical wireless configuration: broadcast=yes driver=rt2800usb driverversion=4.4.91-ti-rt-r140 firmware=0.29 ip=192.168.1.13 link=yes maxpower=450mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11bgn |
Note down that IP address. Usually, the same IP address is assigned every time.
Remove wired Ethernet cable. SSH to BBB using the wireless adapter IP address noted above:
1 | ssh ubuntu@192.168.1.13 |
Upon login, ping any website to verify the connection is working.
1 2 3 4 5 6 | $ ping google.com PING google.com (172.217.11.78) 56(84) bytes of data. 64 bytes from lax17s34-in-f14.1e100.net (172.217.11.78): icmp_seq=1 ttl=53 time=15.1 ms 64 bytes from lax17s34-in-f14.1e100.net (172.217.11.78): icmp_seq=2 ttl=53 time=15.4 ms 64 bytes from lax17s34-in-f14.1e100.net (172.217.11.78): icmp_seq=3 ttl=53 time=21.4 ms |
Reboot BBB
Connect serial debug cable, setup serial session & reboot BeagleBone Black with WiFi adapter still inserted in USB slot.
Optionally, on Serial session, look for boot messages confirming wireless connection:
1 2 | [ OK ] Started ifup for wlan0. [ OK ] Found device RT5372 Wireless Adapter. |
The updates done to file /etc/network/interfaces will ensure automatic connection to wireless network.
Final Remarks
Above procedure should work for any other make of wireless adapter that supports Ubuntu.
Before trying the adapter on BBB, I suggest you make sure it works on some other desktop operating system.