ASUS WL-138G Wifi and Linux

ASUS WL-138G is a 802.11G WLAN Card. It uses Marvell W8300 chipset.ASUS WL-138G is not supported in Linux. There are no native drivers available for WL-138G in linux.

After trying in vain to find any driver that could make it work under linux, I found ndiswrapper. It implements Windows kernel API and NDIS (Network Driver Interface Specification) API within Linux kernel. A Windows driver for wireless network card is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation.

Download ndis and install it. Details on installing ndiswrapper are available here

Also, The driver that comes along with the card, from ASUS, it not all that good. In windows, I found that the signal strength was quite less when it should not be. Since D-Link DWL-G510 uses the same chipset, I downloaded the drivers from here.

The driver file, dwlg510_driver_100.zip, contains two cab files. The files we require are inside “data2.cab” file. Since these cabfiles were created using installshield, we would need the utility “unshield“. Install unsheild to extract the files from the cab file.


root@localhost /usr/local/src> unshield x *.cab
Cabinet: data1.cab
[…]
extracting: ./InfXP/mrv8k51.inf
extracting: ./DrvXP/MRV8K51.sys
extracting: ./Inf98/mrv8k51.inf
extracting: ./Inf2K/mrv8k51.inf
extracting: ./Drv98/MRV8K51.sys
extracting: ./Drv2K/MRV8K51.sys
[…]

Like in Windows, we would need the .inf (driver info) and the .sys (driver) files. Copy them to /usr/local/ndis (or any directory. Both files should remain under the same tree).


root@localhost /usr/local/ndis> ndiswrapper -i mrv8k51.inf

root@localhost /usr/local/ndis> ndiswrapper -l
Installed ndis drivers:
mrv8k51 driver present, hardware present

The last step is to load this driver into kernel…

root@localhost /usr/local/ndis> ndiswrapper -m

You should then see a message along the lines of: Adding “alias wlan0 ndiswrapper” to /etc/modprobe.conf


root@localhost /usr/local/ndis> modprobe ndiswrapper

Now, the driver has been installed and the card should be active. Use the/any network-setup utility to install the card. (should be visible as wlan0).

3 thoughts on “ASUS WL-138G Wifi and Linux”

  1. Hi,

    Thanks for a great instruction.
    I managed to get the DLink DWL-G510-card running on a Fedora 17, with kernel 3.3.1-7. The only twirk was that I had to use NDIS 1.58rc1 to get it to compile on a 3.3-kernel.

    So it’s still valid, 6+ years after original posting 😉

Leave a Reply

Your email address will not be published. Required fields are marked *