首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持Buildroot的BeagleBoard Ralink Wifi USB

支持Buildroot的BeagleBoard Ralink Wifi USB
EN

Stack Overflow用户
提问于 2012-07-23 08:32:04
回答 1查看 4.4K关注 0票数 1

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

我已经使用udev、wifi-tools、usbutils、usbmount、libusb和wpa_supplicant配置了Buildroot。在“Hardware Control”下,我选择了linux-firmware and Ralink 30XX driver support。

我尝试使用以下链接作为示例,但它们似乎侧重于使用像Angstrom或Ubuntu这样的成熟发行版,我想用Buildroot构建一个自定义内核:

代码语言:javascript
复制
[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命令得到以下输出:

代码语言:javascript
复制
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,如下所示:

代码语言:javascript
复制
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,我会得到:

代码语言:javascript
复制
unable to initialize libusb: -99

我不知道下一步该怎么走。如何使用Buildroot让BeagleBoard实现using,以及如何加载那些Ralink驱动程序?提前谢谢。

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

这是我在启动主板并尝试获取Wifi时看到的情况。对此有什么想法吗??

代码语言:javascript
复制
# 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_config,我可以ping通www.google.com。我一定是在我的自定义内核.config中遗漏了什么,或者我是如何加载驱动程序的……有什么想法吗?

代码语言:javascript
复制
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中不起作用),并启用我上面提到的驱动程序,它就可以工作了!

代码语言:javascript
复制
# 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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-23 22:51:18

我认为你的内核没有配置主机控制器驱动。我假设你的U盘在插上电源时不会闪烁或亮起。它可能连电源都没有。你能检查一下你的内核.config中是否配置了EHCI或check吗?如果没有,请激活它们。更明确地说,如果Beagleboard类似于pandaboard,您应该检查CONFIG_USB_EHCI_HCD_OMAPCONFIG_USB_EHCI_HCD是否已启用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11605159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档