This short article is describing how to set up a new wifi stick for the BeagleBone running the Angström linux distribution.
Plug your BeagleBone, connect to it and also plug the wifi stick.
Let’s see what do you have:
root@beaglebone:~# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 0ace:1211 ZyDAS 802.11bg Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Those 2 hexa numbers are already enough information to determine which driver to use with the stick.
They are called vendor and product id.
Go to http://linuxwireless.org/en/users/Devices/USB and look up your device.
Now go to http://www.angstrom-distribution.org/repo/ and look up the corresponding kernel module package and firmware package.
For a ZyDAS 1211 device one should use zd1211-rw kernel module and the zd1211-firmware package.
- root@beaglebone:~# opkg install zd1211-firmware
OR if it says “unknown package”, we can do a bit of workaround.
You should download it from here and put the folder named zd1211 in your /lib/firmware/zd1211.
To do so you can call something like this after decompressing the downloaded archive:
- root@beaglebone:~# mkdir /lib/firmware/zd1211
- me@laptop:~/unzip/zd1211-firmware$ scp * email@example.com:../../lib/firmware/zd1211
If you don’t have the firmware available, you should acquire it manually and copy the binary file (or headers) to /lib/firmware/DRIVER_NAME.
If you have an Edimax EW7318USG, you should use the rt73usb kernel module along with the rt73-firmware package (or if it’s not available, go for the below description).
If you have a D-Link 122G which looks like this with lsusb:
Bus 001 Device 002: ID 07d1:3c0f D-Link System
You can check on http://linuxwireless.org/en/users/Devices/USB the vendor and product id. At the time of writing this article there is no such product ID on this page but it’s worth a try to test it’s brothers’ and sisters’ driver. Click on the rt2800usb link next to any of them and check the “firmware” section. This will redirect you to the linux firmware git repo, where you can search for the firmware you need.
For this particular device I downloaded rt2870.bin.
Copy it to /lib/firmware/ and you’re done.
Run dmesg | tail after trying to run a device. You can get useful information here.
To check if you have the necessary kernel modules loaded automatically, run lsmod.