我有一个运行yocto头晕版本的Atmel设备(内核3.6.9)。我正在尝试配置系统以加载USB wifi适配器,但我要么缺少部分驱动程序,要么我没有正确配置所有内容。无论哪种方式,我都不是100%确定需要设置为热插拔和配置wifi适配器的所有子系统。这就是我所知道的:
制造商是一种名为Panda Wireless的通用设备。它实际上使用了引擎盖下的rt2800usb.ko驱动程序。如果我将设备插入我的Fedora桌面或覆盆子pi,一切都正确加载。
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 :(得分:0)
对于模块部分的自动加载,您只需在/etc/modules-load.d/中添加一个名为rt2800usb.conf的文件,其中包含模块名称(即rt2800usb),它将在启动时加载。