通常,Realtek会在其网站上提供该型号的驱动程序,但这个特定型号的无线网卡并没有可用的驱动程序。为了尝试让它工作,我已经尝试了以下步骤:
安装了ndiswrapper的1.57版本(来自存储库,并使用dkms)和1.58rc1版本(从ndiswrapper官网编译而来)。但是两个版本都失败了:1.57版本没有提供IoWMIOpenBlock和IoWMIQueryAllData函数的接口。1.58rc1版本替代这两个函数,但是却出现“ioremap failed”错误。
进一步调查后,发现在1.58rc1版本的ndis.c文件中,函数NdisMMapIOSpace(行808),被传入物理地址和长度为零的参数,导致了失败。由于在ndiswrapper的任何代码中似乎都没有调用这个函数,我猜测可能是Windows驱动程序以虚假的参数调用了该函数。
我尝试在已安装的系统上使用64位版本(该系统使用x86_64版的Ubuntu)和32位版本(启用了持久化的x86现场USB系统)的Windows XP驱动程序。两个版本都出现了相同的错误。
由于Realtek的RTL8192CE/SE/DE Linux驱动程序实际上在其源代码中提到了8723芯片组,所以我尝试编译并加载它们,但它们无法识别卡片ID(10ec:8723)。我还尝试在/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 network 输出
$ 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
lshw -c network
命令的输出结果。 - ish