【问题标题】:yocto custom linux not loading wireless modulesyocto custom linux不加载无线模块
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-23
    • 2021-10-20
    • 2019-12-31
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 2021-10-07
    相关资源
    最近更新 更多