2015-11-03 105 views
0

我有一个Atmel设备运行yocto的晕眩版本(内核3.6.9)。我试图配置系统加载usb wifi适配器,但我要么缺少部分驱动程序,要么我没有正确配置所有配置。无论哪种方式,我不能100%确定所有需要设置为热插拔和配置WiFi适配器的子系统。以下是我所知道的:yocto定制linux无法加载无线模块

制造商是一种通用设备称为熊猫无线。它实际上使用引擎盖下的rt2800usb.ko驱动程序。如果我将设备插入到Fedora桌面或树莓派中,则所有内容都可以正确加载。

Nov 03 11:31:08 darkstar kernel: usb 1-2: new high-speed USB device number 4 using xhci_hcd 
Nov 03 11:31:09 darkstar kernel: usb 1-2: New USB device found, idVendor=148f, idProduct=5372 
Nov 03 11:31:09 darkstar kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 
Nov 03 11:31:09 darkstar kernel: usb 1-2: Product: 802.11 n WLAN 
Nov 03 11:31:09 darkstar kernel: usb 1-2: Manufacturer: Ralink 
Nov 03 11:31:09 darkstar kernel: usb 1-2: reset high-speed USB device number 4 using xhci_hcd 
Nov 03 11:31:09 darkstar kernel: ieee80211 phy2: rt2x00_set_rt: Info - RT chipset 5392, rev 0223 detected 
Nov 03 11:31:09 darkstar kernel: ieee80211 phy2: rt2x00_set_rf: Info - RF chipset 5372 detected 
Nov 03 11:31:09 darkstar kernel: ieee80211 phy2: Selected rate control algorithm 'minstrel_ht' 
Nov 03 11:31:09 darkstar mtp-probe[19863]: checking bus 1, device 4: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2" 
Nov 03 11:31:09 darkstar mtp-probe[19863]: bus: 1, device: 4 was not an MTP device 
Nov 03 11:31:10 darkstar kernel: rt2800usb 1-2:1.0 wlp0s20u2: renamed from wlan0 
Nov 03 11:31:10 darkstar crda[19893]: setting regulatory domain to US based on timezone (America/New_York) 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): using nl80211 for WiFi device control 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): driver supports Access Point (AP) mode 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): new 802.11 WiFi device (driver: 'rt2800usb' ifindex: 8) 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): exported as /org/freedesktop/NetworkManager/Devices/7 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2] 
Nov 03 11:31:10 darkstar kernel: ieee80211 phy2: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin' 
Nov 03 11:31:10 darkstar kernel: ieee80211 phy2: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.29 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): preparing device 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> rfkill2: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/ieee80211/phy2/rfkill2) (driver rt2800usb) 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2) supports 4 scan SSIDs 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): supplicant interface state: starting -> ready 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): device state change: unavailable -> disconnected (reason 'supplicant-available') [20 30 42] 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2): supplicant interface state: ready -> disconnected 
Nov 03 11:31:10 darkstar NetworkManager[911]: <info> (wlp0s20u2) supports 4 scan SSIDs 
Nov 03 11:31:11 darkstar NetworkManager[911]: <info> (wlp0s20u2): supplicant interface state: disconnected -> inactive 
Nov 03 11:31:13 darkstar ModemManager[755]: <warn> Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2': not supported by any plugin 

当我将设备连接到yocto家电,我几乎不会获得远:

Nov 3 20:03:05 yocto user.info kernel: usb 1-1: new high-speed USB device number 3 using atmel-ehci 
Nov 3 20:03:05 yocto user.info kernel: usb 1-1: New USB device found, idVendor=148f, idProduct=5372 
Nov 3 20:03:05 yocto user.info kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 
Nov 3 20:03:05 yocto user.info kernel: usb 1-1: Product: 802.11 n WLAN 
Nov 3 20:03:05 yocto user.info kernel: usb 1-1: Manufacturer: Ralink 

在yocto电器,模块不会自动加载。我必须用modprobe安装它们。但是,即使手动加载它们,我也没有更进一步。我不知道为什么udev没有选择这个,我真的不知道还有什么需要发生,以获得wlan0(或类似的东西)显示在适配器列表中。

我想我被现代Linux发行版所宠坏,我只是插入东西,他们都工作:)任何意见将不胜感激。

+0

如果您手动加载模块,是否会收到任何错误消息(或dmesg中的其他任何内容?)。当谈到自动加载模块时,你是否得到了任何你运行'udev-monitor'的线索来感受udev实际上在做什么? – Anders

回答

0

对于模块的自动加载部分,您可以简单地在/etc/modules-load.d/中添加一个名为rt2800usb.conf的文件,其中包含模块名称(即rt2800usb),它将在启动时加载。