Linux 能否在 Asus EEE 901 上网本中支持“Ralink corp. RT2800 802.11n PCI”(也许是 RT2860STA?)

aSt*_*eve 6 linux wifi

好的,我知道这不会很简单,但我真的很想让它工作。

大约 18-24 个月前,我的 Asus EEE 901 上网本运行良好 - 运行 Ubuntu - 我让它按照更新管理器的建议进行“升级”。wi-fi 随后失败了——并且,在忙于其他事情的同时,摆弄并“软管”了操作系统的安装。上网本一直呆在柜子里,直到这个周末……当我使用 /dev/zero 覆盖驱动器时 - 然后安装了一个全新的 Linux Mint 12 副本。

在全新安装时,我仍然遇到 Wi-Fi 问题,但其他一切都很好。

使用默认的 Linux Mint 安装,问题的第一个迹象来自 /var/log/syslog 中的这个条目

... [5.048933] rt2800pci 0000:01:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
... [5.048980] rt2800pci 0000:01:00.0: setting latency timer to 64
... [5.062119] phy0 -> rt2800_init_eeprom: Error - Invalid RF chipset detected.
... [5.062134] phy0 -> rt2x00lib_probe_dev: Error failed to allocate device
... [...     ] rt2800pci 0000:01:00.0: PCI INT A disabled
Run Code Online (Sandbox Code Playgroud)

按照网上找到的一些建议,我通过在 /etc/modprobe.d/rt2800.conf 中输入以下内容将 rt2800pci 列入黑名单

blacklist rt2800pci
blacklist rt2800lib
Run Code Online (Sandbox Code Playgroud)

这给我留下了一个有效的安装 - 但没有 wi-fi 支持。然后我着手确定正确的驱动程序。lshw 的相关输出是:

*-network UNCLAIMED
    description: Network controller
    product: RT2800 802.11n PCI
    vendor: Ralink corp
    physical id: 0
    bus info: pci@0000:01:00.0
    version: 00
    width: 32 bits
    clock: 33MHz
    capabilities: bus_master cap_list
    configuration: latency=0
    resources: memory:fbef0000-febfffff
Run Code Online (Sandbox Code Playgroud)

如果我然后使用 lspci 进一步调查“lspci -vs 01:00.0”

01:00.0 Network controller: Ralink corp. RT2800 802.11n PCI
        Subsystem: Ralink corp. Device 2860
        Physical Slot: eeepc-wifi
        Flags: bus master, fast devsel, latency 0, IRQ 11
        Memory at febef0000 (32-bit, non-prefetchable) [size=64K]
        Kernel modules: rt2800pci
Run Code Online (Sandbox Code Playgroud)

在网上多搜索一点建议,我需要使用 rt2860sta 驱动程序,而不是为 2860 设备使用 rt2800pci 驱动程序。我没有安装通用内核之一。

我访问了http://www.ralinktech.com/en/04_support/support.php?sn=501 - 并下载了“RT2860PCI/mPCI/CB/PCIe(RT2760/RT2790/RT2860/RT2890)” - 并按照说明进行操作README_STA。

当我使用 insmod 安装新驱动程序时,我收到了一个 ra0 设备报告......并且网络管理器确定上网本具有无线功能。不幸的是,这就是事情崩溃的地方。网络管理器没有找到任何本地基础设施模式接入点......当我试图通过明确给出其名称来连接到一个接入点时......无法建立任何连接 - ifconfig 给出了一些令人担忧的输出。 .. Mac 地址看起来是假的 00:00:ff:ff:ff:ff - 以及数以千计的“溢出”。

所以...问题:Linux 是否仍然支持我的 Asus EEE 901 中的 Ralink 驱动程序?如果是这样,哪个是要使用的正确驱动程序 - 我该如何配置该驱动程序?

要求

“lspci -n”的输出(我不知道在这方面有什么用......)

00:00.0 0600: 8086:27ac (rev 03)
00:02.0 0300: 8086:27ae (rev 03)
00:02.1 0380: 8086:27a6 (rev 03)
00:1b.0 0403: 8086:27d8 (rev 02)
00:1c.0 0604: 8086:27d0 (rev 02)
00:1c.1 0604: 8086:27d2 (rev 02)
00:1c.2 0604: 8086:27d4 (rev 02)
00:1c.3 0604: 8086:27d6 (rev 02)
00:1d.0 0c03: 8086:27c8 (rev 02)
00:1d.1 0c03: 8086:27c9 (rev 02)
00:1d.2 0c03: 8086:27ca (rev 02)
00:1d.3 0c03: 8086:27cb (rev 02)
00:1d.7 0c03: 8086:27cc (rev 02)
00:1e.0 0604: 8086:2448 (rev e2)
00:1f.0 0601: 8086:27b9 (rev 02)
00:1f.2 0101: 8086:27c4 (rev 02)
00:1f.3 0c05: 8086:27da (rev 02)
01:00.0 0280: 1814:0601
04:00.0 0200: 1969:1026 (rev b0)
Run Code Online (Sandbox Code Playgroud)

如果我返回到默认配置 - 没有列入黑名单,并运行“lsmod | grep rt”,我得到这个:

parport_pc             32114  0 
rt2800pci              18340  0 
rt2800lib              48717  1 rt2800pci
crc_ccitt              12595  1 rt2800lib
rt2x00pci              14202  1 rt2800pci
rt2x00lib              48114  3 rt2800pci,rt2800lib,rt2x00pci
mac80211              272785  3 rt2800lib,rt2x00pci,rt2x00lib
cfg80211              172392  2 rt2x00lib,mac80211
eeprom_93cx6           12653  1 rt2800pci
parport                40930  3 parport_pc,ppdev,lp
Run Code Online (Sandbox Code Playgroud)

从这里我没有看到任何明显的冲突 - 关于还有什么值得欢迎的建议。

更多信息...

我选择将螺丝刀带到我的 901 上,并取下 Wi-Fi 卡。在它的背面,有一个标签表明它根本不是 2800 系列,而是 RT2700E。也许,如果 Linux 错误地将其检测为 2800 系列,这就是我麻烦的根源?

卡片正面图片 卡片背面图片

jas*_*yan 3

从内核 3.0 开始,暂存驱动程序 rt2860sta 被主线驱动程序 rt2800pci 取代,并且暂存驱动程序被删除

我的 901 很高兴使用该rt2800pci驱动程序。确保没有启用其他驱动程序并与其冲突。