I have a BeagleBoard Rev C5 and I am using Buildroot to make a simple custom Linux system. I'm developing on an Ubuntu 10.04 VM on a Windows 7 host machine. I purchased a Ralink wifi USB dongle and have verified that both Windows 7 and Ubuntu can recognize and use the dongle. When I boot my BeagleBoard after building the system with Buildroot I cannot seem to get the board to recognize the USB wifi dongle, let alone use it.
I have configured Buildroot with udev, wifi-tools, usbutils, usbmount, libusb, and wpa_supplicant. Under 'Hardware Control', I selected linux-firmware and Ralink 30XX driver support.
I've tried to follow these following links as examples but they seem to be focused on using a full-blown distribution like Angstrom or Ubuntu and I want to build a custom kernel with Buildroot:
[1]: http://antipastohw.blogspot.com/2010/07/how-to-make-linux-beagleboard-gadget.html
[2]: http://lakm.us/logit/2012/03/usb-wifi-stick-beagleboard-xm-wpa_supplicant/
[3]: http://linuxwireless.org/en/users/Download
[4]: http://deautomatized.wordpress.com/2012/04/08/ubuntu-11-10-on-beagleboard-rev-c5/
On Host Machine with USB wifi adapter connected, I get the following outpuf from the lsusb command:
Bus 002 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 148f:3070 Ralink Technology, Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
On my beagleboard I've configured wpa_supplicant.conf to look like below:
phil@beagle: cat wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
network={
ssid="NETGEAR"
scan_ssid=0
proto=WPA
key_mgmt=WPA-PSK
psk="PASSWORD"
pairwise=TKIP
group=TKIP
}
If I run lsusb on the target, I get:
unable to initialize libusb: -99
I'm not sure where to go from here. How can I get the BeagleBoard to realize the USB dongle using Buildroot and how can I load those Ralink drivers? Thanks in advance.
EDIT - I've enabled USB controller support in the kernel but still cannot load the driver I enabled for raylink from Device Drivers > Network Device Support > Wireless LAN > Raylink Driver Support from the Linux 3.3 Kernel menuconfig.
Here is what I am seeing when booting the board and trying to get Wifi. Any thoughts on this??
# modprobe rt2800usb.ko
# modprobe -r rt2800usb.ko
[ 378.257812] usbcore: deregistering interface driver rt2800usb
[ 378.319854] unwind: Index not found bf051d88
#
#
# modprobe rt2800usb.ko
[ 380.998291] cfg80211: Calling CRDA to update world regulatory domain
[ 381.087341] usbcore: registered new interface driver rt2800usb
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
# iwconfig
lo no wireless extensions.
# ifconfig -a
lo Link encap:Local Loopback
LOOPBACK MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
# pwd
/lib/modules/3.3.7/kernel/drivers/net/wireless/rt2x00
# ls
rt2500usb.ko rt2800lib.ko rt2800usb.ko rt2x00lib.ko rt2x00usb.ko rt73usb.ko
EDIT 2:
If I boot ubuntu on the BeagleBoard the adapter is recognized and by editing wpa_config I can ping www.google.com. I must be missing something in my custom kernel .config or how I am loading the drivers... Any thoughts?
ubuntu@omap:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
dmesg
[ 12.765960] Registered led device: rt2800usb-phy0::radio
[ 12.766113] Registered led device: rt2800usb-phy0::assoc
[ 12.766265] Registered led device: rt2800usb-phy0::quality
[ 12.766418] usbcore: registered new interface driver rt2800usb
ubuntu@omap:~$ lsmod
Module Size Used by
arc4 1211 2
rt2800usb 12562 0
rt2800lib 45046 1 rt2800usb
crc_ccitt 1525 1 rt2800lib
rt2x00usb 10659 1 rt2800usb
rt2x00lib 39368 3 rt2800usb,rt2800lib,rt2x00usb
mac80211 272168 3 rt2800lib,rt2x00usb,rt2x00lib
cfg80211 169655 2 rt2x00lib,mac80211
EDIT:
Enable the USB options mentioned below in the 3.2.23 Kernel ( apparently doesn't work in 3.3 ) and enable the drivers I mentioned above and it works!
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 1a40:0101 TERMINUS TECHNOLOGY INC. USB-2.0 4-Port HUB
Bus 001 Device 003: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter