PLEASE NOTE: This site is no longer being actively maintained. For frequently updated BeagleBone resources please visit Beaglebone.org.

Tuesday, August 5, 2014

On 3:23 PM by Anonymous

BeagleBone Black Ubuntu WiFi Installation and Troubleshooting Guide

There’s no doubt that installing a WiFi adapter on the BeagleBone Black is a great option for in a wide range of applications. However, the popularity of WiFi has led to a range of both legitimate and knock-off adapters being created for the BeagleBone. Add in the complications of multiple operating systems and WiFi installation has proven frustrating for many users.

Step one is ensuring that the adapter you choose will work on the BeagleBone Black. The compact UWN100 and extended range UWN200 adapters from Logic Supply have been tested and verified to work with Linux UBUNTU on the BeagleBone Black. In this tutorial we’ll take you through the steps for installing and troubleshooting the MT7601 chipset which is found in both the UWN100 and UWN200.

IMPORTANT NOTES:

(1) Because WiFi adapters draw more current when operating (transmitting and receiving) the installation process will require a reliable power source. USB power alone may not be sufficient to power both the BeagleBone and the USB WiFi adapter. In some instances under-powering can cause a number of unpredictable issues. We highly recommend the use of a PW5V-2A high current ac-adapter.

(2) The Ethernet (RJ45) network cable should be removed when using the USB WiFi adapter.

(3) This tutorial is for UBUNTU Linux distribution.

This distribution was used for the verification:

https://rcn-ee.net/deb/microsd/trusty/bone-ubuntu-14.04-console-armhf-2014-07-06-2gb.img.xz

To view your version:

uname -a

You can view the revision in the ID.txt file in the removable drive that appears when you connect to the BeagleBone.

What You Will Need

STEP 1 - Verify That The USB WiFi Adapter is detected

Power off the Beaglebone Black, insert the UWN100 or UWN200, Power On the BeagleBone Black.

lsusb


STEP 2

ssh into the BeagleBone.

Check that "/etc/rcn-ee.conf" exists.

ls /etc/rcn* 

If it exists, edit the file (nano /etc/rcn-ee.conf) and add:

third_party_modules=enable

If not present

echo "distro=Ubuntu" > /tmp/rcn-ee.conf
echo "deb_distribution=Ubuntu" >> /tmp/rcn-ee.conf
echo "third_party_modules=enable" >> /tmp/rcn-ee.conf
sudo mv /tmp/rcn-ee.con /etc/rcn-ee.conf    

STEP 3

Make sure you have a network Ethernet connection (RJ45).Then run:

wget http://rcn-ee.net/deb/trusty-armhf/v3.8.13-bone56/install-me.sh
sudo /bin/bash/ install-me.sh

Reboot the BeagleBone

STEP 4 - Verify That the Interface is Present

ifconfig -a

The "ra0" section indicates the device status. The presence of this "ra0"section indicates that the device and drivers are both working correctly. "ra0" means Ralink adapter 0.

STEP 5 - WPA2 Encrypted Access 

To connect to a WPA protected wireless network, first encrypt the WPA passphrase:

wpa_passphrase [SSID] [passphrase]

As an example:

ubuntu@arm:~$ wpa_passphrase myhome mysecretpsw
network={
ssid="myhome"
#psk="mysecretpsw"
psk=b8721a39d4e01b85a44c5ca932ce742f4a3da0bfb44712150116ff56da476cd1
}

Copy the output (psk=....), we will need it in a second.

Use nano to edit the Network Interface file.

sudo nano /etc/network/interfaces

and enter/add:

auto ra0
iface ra0 inet dhcp
wpa-ssid mySSID
wpa-psk YourEncryptedPassPhrase

NOTES:
1) Replace mySSID with your SSID name
2) Replace YourEncryptedPassPhrase with the encrypted output you saved from above.
3) Do not put your SSID in quotes, even if it contains spaces.

Exit and Save: (Ctrl-X), Y, (enter)

Reboot:
shutdown -r now

NOTE: Ethernet cable must be disconnected from the BeagleBone for the wifi to automatically connect.

Check that you have been assigned a connection:

ifconfig -ra0

Look for inet addr: XX.XX.X.XXX this is your dhcp assigned IP address.
Finally you can access the network.


(Ping test)




NOTE: This is a console Ubuntu distribution (without graphical desktop). Network access is active, but web browsing will require a desktop environment.