This article will demonstrate how to add wifi to the OSD3358 via the USB Host interface. These instructions are valid for the default Debian Linux distribution provided with the boards as-shipped from GHI. Instructions for other distributions will likely be different.
Note that there are instructions out there on the internet that mention editing /etc/network/interfaces. This is no longer supported. Currently, wifi is managed via the connmanctl app.
- You will need an OSD3358 board. The OSD3358_Dev development system from GHI comes with a USB host interface. If you have the OSD3358TH or OSD3358 SOM, you will need to add a USB host interface circuit.
- You will need a USB Wifi interface. I used a cheap TP-Link WN725N. Any USB wifi that is listed as compatible with the BeagleBone Black wll also work here.
- If you are using your USB host interface for a keyboard and/or mouse, you will also need a hub of some sort.
- Your OSD3358 device needs to be configured and running Debian lxqt 8.4 or later.
- Run connmanctl:
You may see an error regarding vpn connections. You can ignore this error.
- Scan for wifi access points
connmanctl> scan wifi
Scan completed for wifi
- List the discovered services (from all interfaces)
*AO Wired ethernet_ec1127bdd190_cable
- Start the user request agent: Note that this is only required if your wifi is not 'open' (i.e., it requires a password or other security facilities)
connmanctl> agent on
- Connect to the access point with the 'connect' command and answer any prompts for more information:
connmanctl> connect wifi_10feed1cd6f3_43616c73796e73686972652d3234_managed_psk
Agent RequestInput wifi_10feed1cd6f3_43616c73796e73686972652d3234_managed_psk
Passphrase = [ Type=psk, Requirement=mandatory, Alternates=[ WPS ] ]
WPS = [ Type=wpspin, Requirement=alternate ]
- Exit from connmanctl:
Your changes will be saved automatically.
- You can check whether you are connected by using iwconfig and ifconfig:
wlan0 IEEE 802.11bgn ESSID:"Calsynshire-24" Nickname:"
Mode:Managed Frequency:2.437 GHz Access Point: C0:7C:D1:DE:2A:40
Bit Rate:72.2 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Link Quality=0/100 Signal level=2/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
eth0 no wireless extensions.
usb0 no wireless extensions.
debian@beaglebone:~$ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 10:fe:ed:1c:d6:f3
inet addr:10.0.0.177 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::12fe:edff:fe1c:d6f3/64 Scope:Link
inet6 addr: 2601:600:8500:30:12fe:edff:fe1c:d6f3/64 Scope:Global
UP BROADCAST RUNNING MULTICAST DYNAMIC MTU:1500 Metric:1
RX packets:598 errors:0 dropped:78 overruns:0 frame:0
TX packets:127 errors:0 dropped:1 overruns:0 carrier:0
RX bytes:95746 (93.5 KiB) TX bytes:23816 (23.2 KiB)
- From the above, you can see that we have been granted ip address 10.0.0.177
- If you receive a warning about being in tethering or access-point mode, enter this command:
connmanctl tether wifi offThanks to Mr. John Smith for pointing that out in this article.
- More information can be found at : https://wiki.archlinux.org/index.php/Connman#Wi-Fi, including instructions on setting a preferred network technology. More info on connman can be found at https://gist.github.com/kylemanna/6930087
- Contact Pervasive Digital for assistance with automated discovery and wifi provisioning during headless deployment of your OSD/Beaglebone-based devices.