I bought a new laptop with a RTL8723AE-BT wireless card, but it seems there is nothing that makes it work.
Realtek usually makes drivers available for its card, but this specific one doesn't have a driver available on Realtek's website. I have tried the following steps in order to try and make it work:
-
Installed ndiswrapper versions 1.57 (from repositories, with dkms) and 1.58rc1 (compiled from source from ndiswrapper's website). Both failed: version 1.57 does not provide an interface for the functions IoWMIOpenBlock and IoWMIQueryAllData. 1.58rc1 has dummy functions in their places, but it fails with a "ioremap failed" message.
Upon further investigation, I have found that the function NdisMMapIOSpace (ndis.c:808), in 1.58rc1, gets called with physical address and length zero, which causes the failure. Since this function doesn't seem to be called from anywhere in ndiswrapper's code, I'd assume the Windows driver is somehow calling it with bogus parameters.
-
I tried using both the 64-bit version (on my installed system, which uses the x86_64 version of Ubuntu) and the 32-bit version (on a live-USB x86 system with persistence enabled) of the Windows XP driver. The same errors occurred for both versions.
-
Since Realtek's Linux drivers for RTL8192CE/SE/DE actually mention the 8723 chipset in its sources, I tried compiling them and modprobing them, but they don't pick up the card ID (10ec:8723). I also tried to
echo 10ec 8723 > new_id
on the sysfs (/sys/bus/pci/drivers/rtl8192de) location ( of the driver (actually, on each of them, one at a time), but I get a "Permission denied" error even with sudo. If Isudo su
and try again, I get the errorbash: echo: write error: Invalid argument
.
I have run out of ideas. It's really frustrating to buy a new notebook to use only with Ubuntu and not be able to use its wi-fi connection.
If anyone can shed a light on alternatives, I'd be very thankful.
Edit: lshw -C network output
$ 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
Best Answer
Realtek is making the official Linux driver available unofficially (via Dropbox)
Support for the RTL8273AE-BT has been added by Realtek in the 92-series driver, version 0006.0514.2012. For unknown reasons, neither the Windows nor Linux drivers are available on their website (yet). But Realtek tech support has been providing a Dropbox link with the source code/firmware tarball which numerous users have reported as working.
Where do I get it? Is it safe?
I can confirm that this file is what it claims to be, with this content listing, provided it has the following MD5 or SHA1 hashes: (which you can verify with
md5sum
orsha1sum
)How do I build and install the driver on Ubuntu?
You'll need to install these packages first to build the driver:
Paste the below line to download and extract the driver archive in one single step:
Change to the extracted driver's directory, build and install the driver:
Test the driver by loading it (this is a one-time step; after you reboot once, the driver should automatically load on every boot):