升級到 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 轉接器所使用的驅動程式並沒有改變。它仍然使用“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 模組列入黑名單。
看: