【发布时间】:2015-11-03 20:16:54
【问题描述】:
我有一个运行 yocto 令人晕眩的版本(内核 3.6.9)的 Atmel 设备。我正在尝试将系统配置为加载 USB wifi 适配器,但我要么缺少部分驱动程序,要么没有正确配置所有内容。无论哪种方式,我都不能 100% 确定所有需要设置为热插拔和配置 wifi 适配器的子系统。以下是我所知道的:
制造商是一些名为 Panda Wireless 的通用设备。它实际上在引擎盖下使用了 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 发行版宠坏了,我只需插入一些东西,它们都可以工作 :) 任何建议都将不胜感激。
【问题讨论】:
-
如果您手动加载模块,您是否会收到任何错误消息(或 dmesg 中的其他任何内容?)。当谈到自动加载模块时,您是否得到任何线索,您运行
udev-monitor以了解 udev 实际在做什么?
标签: wifi kernel-module yocto