Linux 带Buildroot的BeagleBoard Ralink Wifi USB

Linux 带Buildroot的BeagleBoard Ralink Wifi USB,linux,linux-kernel,wifi,beagleboard,buildroot,Linux,Linux Kernel,Wifi,Beagleboard,Buildroot,我有一个BeagleBoard版本C5,我正在使用Buildroot创建一个简单的定制Linux系统。我正在Windows7主机上开发Ubuntu10.04VM。我购买了一个Ralink wifi USB加密狗,并验证了Windows 7和Ubuntu都可以识别和使用该加密狗。当我用Buildroot构建系统后启动BeagleBoard时,我似乎无法让board识别USB wifi加密狗,更不用说使用它了 我已经用udev、wifi工具、usbutils、usbmount、libusb和wpa_

我有一个BeagleBoard版本C5,我正在使用Buildroot创建一个简单的定制Linux系统。我正在Windows7主机上开发Ubuntu10.04VM。我购买了一个Ralink wifi USB加密狗,并验证了Windows 7和Ubuntu都可以识别和使用该加密狗。当我用Buildroot构建系统后启动BeagleBoard时,我似乎无法让board识别USB wifi加密狗,更不用说使用它了

我已经用udev、wifi工具、usbutils、usbmount、libusb和wpa_suplicant配置了Buildroot。在“硬件控制”下,我选择了linux固件和Ralink 30XX驱动程序支持

我尝试以以下链接为例,但它们似乎专注于使用像Angstrom或Ubuntu这样的全面发行版,我想用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/
在连接了USB wifi适配器的主机上,我从lsusb命令获得以下输出:

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
在我的beagleboard上,我已将wpa_supplicant.conf配置为如下所示:

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
}
如果我在目标上运行lsusb,我会得到:

unable to initialize libusb: -99
我不知道接下来该怎么办。如何让BeagleBoard使用Buildroot实现USB加密狗,以及如何加载这些Ralink驱动程序?提前谢谢

编辑-我已在内核中启用USB控制器支持,但仍然无法从Linux 3.3内核菜单配置中的设备驱动程序>网络设备支持>无线LAN>raylink驱动程序支持加载我为raylink启用的驱动程序

以下是我在启动主板并尝试获取Wifi时看到的情况。对此有何想法

# 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
编辑2:

如果我在BeagleBoard上启动ubuntu,适配器就会被识别,通过编辑wpa_配置,我可以ping www.google.com。我必须在我的自定义kernel.config中缺少一些东西,或者我是如何加载驱动程序的。。。有什么想法吗

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
编辑:

在3.2.23内核中启用下面提到的USB选项(显然在3.3中不起作用),并启用上面提到的驱动程序,它就可以工作了

# 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


我认为您的内核没有配置主机控制器驱动程序。我假设你的U盘在插入时不会闪烁或点亮。它甚至可能没有动力。您能检查一下您的kernel.config中是否配置了EHCI或OHCI吗?如果没有,请激活它们。更明确地说,如果Beagleboard像Pandorn,您应该检查
CONFIG\u USB\u EHCI\u HCD\u OMAP
CONFIG\u USB\u EHCI\u HCD
是否已启用。

我认为您的内核没有配置主机控制器驱动程序。我假设你的U盘在插入时不会闪烁或点亮。它甚至可能没有动力。您能检查一下您的kernel.config中是否配置了EHCI或OHCI吗?如果没有,请激活它们。更明确地说,如果Beagleboard像Pandorn,你应该检查
CONFIG_USB_EHCI_HCD_OMAP
CONFIG_USB_EHCI_HCD
是否已启用。

我想知道,Beagleboard是否识别其他USB设备,比如pen drive??不,我的自定义内核没有。如果我在BeagleBoard上加载Ubuntu并运行“lsusb”,那么它确实可以识别我的集线器和wifi加密狗。这将是比较工作完整发行版和非工作自定义版本的内核配置。还要注意的是,kenels具有一定程度的互换性(前提是您在文件系统中放置了正确的模块),因此您可以从工作内核源代码开始,自定义这些源代码,并且仍然可以自定义用户空间安装,beagle board是否能识别其他USB设备,比如pen drive?不,我的自定义内核不能识别。如果我在BeagleBoard上加载Ubuntu并运行“lsusb”,那么它确实可以识别我的集线器和wifi加密狗。这将是比较工作完整发行版和非工作自定义版本的内核配置。还请注意,kenels具有一定程度的互换性(前提是您在文件系统中放置了正确的模块),因此您可以从工作内核源代码开始,自定义这些源代码,并且仍然可以自定义用户空间安装。感谢这帮助我能够列出USB设备,请参阅我上面修订的编辑,现在我正在尝试加载驱动程序。非常感谢您的帮助。好的,从编辑1开始,您已经启用了USB控制器支持。你的USB钥匙现在能识别了吗?你能正确安装吗?在继续使用wifi加密狗之前,请确认这一点。不,不是,我认为这就是问题所在。同样的驱动程序(rt2800)构建在我的自定义内核中,这些驱动程序是在我用Ubuntu启动SD卡时加载的。但在Ubuntu上,当我使用lsusb时,我得到了公认的Ralink芯片组。在我的自定义内核中,我只得到LSUB“Linux基金会X.X根集线器”的输出。我已经尝试在linux-menuconfig中尽可能地启用USB支持。elinux说BeagleBoard rev C3上存在一些硬件问题:。值得检查您的版本C5是否受到影响。google groups线程指的是一个补丁,值得一看:最终,你使用的内核版本是什么?感谢它帮助我列出USB设备,请参阅我上面修改的编辑,现在我正在尝试加载驱动程序。非常感谢您的帮助。好的,从编辑1开始,您已经启用了USB控制器支持。你的USB钥匙现在能识别了吗?你能正确安装吗?在继续使用wifi加密狗之前,请确认这一点。不,不是,我认为这就是问题所在。同样的驱动程序(rt2800)构建在我的自定义内核中,这些驱动程序是在我用Ubuntu启动SD卡时加载的。但在Ubuntu上,当我使用lsusb时,我得到了公认的Ralink芯片组。在我的自定义内核中,我只得到LSUB“Linux基金会X.X根集线器”的输出。我已经尝试在linux-menuconfig中尽可能地启用USB支持。elinux说BeagleBoard rev C3上存在一些硬件问题:。值得检查您的版本C5是否受到影响。GoogleGroups线程引用了一个补丁,值得一看:最终,您使用的内核版本是什么?