升级到 Ubuntu 13.10 后,我的笔记本电脑中的 Ralink RT3290 Wi-Fi 适配器无法工作。因此,我按照如何使 Ralink RT3290 无线网卡工作?编译驱动程序并手动加载。看起来模块已成功加载,因为我得到了以下输出:
forever41200@forever41200:~$ lsmod | grep -in rt3290sta
26:rt3290sta 1170462 0
forever41200@forever41200:~$ modinfo rt3290sta
filename: /lib/modules/3.11.0-13-generic/kernel/drivers/net/wireless/rt3290sta.ko
version: 2.6.0.0_rev1
srcversion: 3D39532F027115378BDBC79
alias: pci:v00001814d00003290sv*sd*bc*sc*i*
depends:
vermagic: 3.11.0-13-generic SMP mod_unload modversions
parm: mac:rt28xx: wireless mac addr (charp)
但 Ralink RT3290 Wi-Fi Adapter 使用的驱动程序没有变化。它仍然使用“rt2800pci”,而不是“rt3290sta”。
forever41200@forever41200:~$ sudo lspci -v
02:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe
Subsystem: Foxconn International, Inc. Device e055
Flags: bus master, fast devsel, latency 0, IRQ 44
Memory at f7d10000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/32 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-89-bc-3a-3f-76-b8
Kernel driver in use: rt2800pci
02:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
Subsystem: Foxconn International, Inc. Device e056
Flags: bus master, fast devsel, latency 0, IRQ 3
Memory at f7d00000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-8a-bc-3a-3f-76-b8
所以我将“rt2800pci”和“rt2x00pci”添加到黑名单,我也更新了 initramfs。但它仍然没有使用“rt3290sta”。它说 Wi-Fi 适配器正在使用“rt2860”。
forever41200@forever41200:~$ sudo lspci -v
02:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe
Subsystem: Foxconn International, Inc. Device e055
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at f7d10000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-89-bc-3a-3f-76-b8
Kernel driver in use: rt2860
02:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
Subsystem: Foxconn International, Inc. Device e056
Flags: bus master, fast devsel, latency 0, IRQ 3
Memory at f7d00000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-8a-bc-3a-3f-76-b8
这很奇怪,因为我在系统中找不到“rt2860”模块。
forever41200@forever41200:~$ lsmod | grep -in rt2860
forever41200@forever41200:~$ modinfo rt2860
ERROR: Module rt2860 not found.
然后我将“rt2860”添加到黑名单,但是什么也没发生。
使用“rt2860”模块,Wi-Fi 适配器起初可以工作,但几分钟后整个 Linux 系统崩溃。我收到的错误消息是:
它提到了“rt3290sta”,这让我更加困惑使用的驱动程序是“rt2860”还是“rt3290sta”。
顺便说一句,将“rt2800pci”和“rt2x00pci”添加到黑名单后,Ralink RT3290 Wi-Fi 适配器不再名为“wlan0”,而是被命名为“ra0”。
答案1
删除 rt2800pci
sudo rmmod rt2800pci
加载新的
sudo modprobe rt3290sta
发布任何错误消息。
如果新模块 rt3290sta 在启动时无法正确加载,那么您几乎肯定需要将 rt2800pci 模块列入黑名单。
看: