This process was relatively straightforward for me, but it required looking at several sources. I don’t compile any kernels. I just found the appropriate firmware and loaded it on the bbb. I then did some hand waving and sacrificed a chicken and it all worked. Check below the fold for details.
I assume that you’re using ubuntu as your host operating system and angstrom from June 20 2013 on the bbb. This process will probably work with windows, but you’ll need to find some scp and ssh implementation. Google for putty ssh. That’s serviceable implementation.
- Plug in the wifi dongle and power up the bbb. Do it in that order.
- ssh to your bbb as root (default no password. most terrible thing ever).
- run “journalctl | grep rtl”. You should see something like the following:
Jan 01 00:00:14 beaglebone kernel: rtlwifi: Firmware rtlwifi/rtl8192cufw.bin not available
- This is firmware which is missing. Find it in /lib/firmware/rtlwifi if you’re running ubuntu. You can also get it here.
- On the bbb, run “mkdir /lib/firmware/rtlwifi” and then scp your firmware file into this new directory.
- on the bbb, run “wpa_passphrase YOUR_SSID YOUR_PASSPHRASE” replacing the capitalized words with your ssid and wpa passphrase. This will produce an encrypted “psk=” line. We’ll use that encrypted string in our config file. If you’re using WEP, shame on you, and your psk will be unencrypted in the config file.
- edit /var/lib/connman/wifi.config (which will be a new file) and create it with the following contents:
Type = wifi
Name = YOUR_SSID
Passphrase = YOUR_ENCRYPTED_PASSPHRASE
- reboot. On my bbb, it takes several minutes for wifi to come online. The following commands will let you see the status of the driver and connection status if you wish to obsess over it. “dmesg|grep rtl” lets you know the status of the driver load. “dmesg|grep wlan” lets you know status of the wifi connection. “ifconfig wlan0” shows info including the IP address of your wifi interface. “netstat -rn” shows you the current list of routes.
My wifi occasionally disconnects and takes a few minutes to reconnect, but I haven’t found the cause yet. I’ll update the post when I track that problem down.