问题描述
我买了一台装有RTL8723AE-BT无线网卡的新笔记本电脑,但似乎没有什么能让它起作用。
Realtek通常会为其卡提供驱动程序,但这个特定的驱动程序在Realtek的网站上没有驱动程序。我尝试了以下步骤以尝试使其工作:
-
已安装的ndiswrapper版本1.57(来自存储库,带有dkms)和1.58rc1(来自ndiswrapper网站的源代码编译)。两者都失败了:版本1.57没有提供IoWMIOpenBlock和IoWMIQueryAllData函数的接口。 1.58rc1在它们的位置有虚函数,但它失败并带有”ioremap failed”消息。经过进一步调查,我发现1.58rc1中的函数NdisMMapIOSpace(ndis.c:808)被调用物理地址和长度为零,这导致失败。由于这个函数似乎没有在ndiswrapper的代码中的任何地方调用,我假设Windows驱动程序以某种方式用伪造的参数调用它。
-
我尝试使用64位版本(在我安装的系统上,使用x86_64版本的Ubuntu)和32位版本(在启用了持久性的live-USB x86系统上)的Windows XP驱动程序。两个版本都发生了相同的错误。
-
由于Realtek的RTL8192CE /SE /DE的Linux驱动程序实际上在其源代码中提到了8723芯片组,我尝试编译它们并对它们进行修改,但它们没有获取卡ID(10ec:8723)。我还尝试在sysfs(/sys /bus /pci /drivers /rtl8192de)位置(驱动程序(实际上,每次一个,一次一个)上的
echo 10ec 8723 > new_id
,但是即使使用sudo我也得到”Permission denied”错误。我sudo su
再试一次,我得到错误bash: echo: write error: Invalid argument
。
我已经没想完了。购买仅与Ubuntu一起使用的新笔记本并且无法使用其wi-fi连接真的很令人沮丧。
如果有人能说明替代方案,我会非常感激。
编辑:lshw -C网络输出
$ sudo lshw -C network -numeric
*-network UNCLAIMED
description: Network controller
product: Realtek Semiconductor Co., Ltd. [10EC:8723]
vendor: Realtek Semiconductor Co., Ltd. [10EC]
physical id: 0
bus info: pci@0000:03:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress cap_list
configuration: latency=0
resources: ioport:d000(size=256) memory:f7900000-f7903fff
*-network
description: Ethernet interface
product: RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]
vendor: Realtek Semiconductor Co., Ltd. [10EC]
physical id: 0.2
bus info: pci@0000:04:00.2
logical name: eth0
version: 0a
serial: 00:90:f5:cd:6d:f7
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=N/A ip=192.168.0.106 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
resources: irq:43 ioport:c000(size=256) memory:f2104000-f2104fff memory:f2100000-f2103fff
最佳解决办法
Realtek正在非官方地提供官方Linux驱动程序(通过Dropbox)
Realtek在92系列驱动程序版本0006.0514.2012中添加了对RTL8273AE-BT的支持。由于未知原因,他们的网站上尚未提供Windows和Linux驱动程序。但Realtek技术支持一直在提供Dropbox链接,其中包含许多用户报告的源代码/固件tarball。
我从哪里得到它?安全吗?
-
可以通过this Dropbox link.下载驱动程序
-
我可以使用this content listing确认此文件是它声称的文件,前提是它具有以下MD5或SHA1哈希:(您可以使用
md5sum
或sha1sum
验证)MD5:fd10e9a347c6447f649324d6bdab53de SHA1:1ccd6ae73878d8bf65bd7c0384e333b121606230
如何在Ubuntu上构建和安装驱动程序?
-
使用
Ctrl
+Alt
+T
打开终端。 -
您需要先安装这些软件包才能构建驱动程序:
sudo apt-get install build-essential linux-headers-generic linux-headers-`uname -r`
-
粘贴以下行以一步下载并解压缩驱动程序存档:
wget -O- http://dl.dropbox.com/u/57056576/DRIVERS/REALTEK/rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012.tar.gz | tar -xz
-
切换到解压缩的驱动程序目录,构建并安装驱动程序:cd rtl_92ce_92se_92de_8723ae_linux_mac80211_0006.0514.2012 make sudo make install
-
通过加载来测试驱动程序(这是一个one-time步骤;重新启动一次后,驱动程序应该在每次启动时自动加载):
sudo modprobe rtl8723e
次佳解决办法
Commenting out/removing the
IEEE80211_HW_BEACON_FILTER
(line 320 inbase.c
) makes it possible to compile when using the 3.4 kernel. So far I haven’t experienced any problems. The card seems to work as it did before, although it might be less power-efficient. I can’t guarantee it won’t cause any problems, but it’s better than nothing.
那么,这里有一些关于你的新反馈:我做了以上所有并得到了相同的编译错误并修改了你的建议。然后司机工作了ONCE。重新启动后,它不再可以打开任何无线连接。尝试启动到Windows 7,仍然,它不再能检测到任何无线连接。
我现在确信这个程序已经阻止了我的wlan适配器 – Windows仍然可以识别设备,但是存在一些问题,因为它不再感知任何无线连接。我必须使用外部的linksys适配器,因为我的板载realtek不见了:/
<<>>无视上述评论,因为当我写这篇文章时我很生气。
更新:我发现不知何故该驱动程序已将我的WLAN模块的’Roaming Sensitivity’设置为’Low’,这导致它无法检测到任何无线信号。在Windows 7中,我去了设备管理器并将该设置更改为’High’和voilá – 它还活着了!呼…
在任何情况下,请注意,如果您在遵循互联网的建议时不小心,可能会发生这种情况。在再次启动进入我的ubuntu分区之前我会三思而后行
第三种解决办法
我与来自Realtek的支持人员进行了交谈,并收到了另一位用户在此问题上提交的Dropbox托管的相同文件。我按照自述文件的说明编译了驱动程序并且它有效,您可能需要将8723 *固件文件复制到rtlwifi文件夹中。
应该说,这个解决方案并不完美,我与WEP AP有一些非常不稳定的联系。此驱动程序也支持内核3.3。
3.4内核已经删除了mac80211模块中的一些调用,这个调用需要编译,因此出现错误而无法编译。这对于ubuntu来说现在不是问题,但它意味着你不能在up-to-date Fedora 17或使用3.4+内核的任何其他发行版上安装驱动程序 – 包括即将推出的Ubuntu版本。
有关更改的信息,请参阅http://article.gmane.org/gmane.linux.kernel.wireless.general/84114/match=ieee80211_hw_beacon_filter。