Installing a wireless network card without linux drivers


I installed a ASUS WL-138g wireless network card into my PC running ferdora 7

Unfortunately I could not find any Linux drivers for this card, so I used a utility called ndiswrapper. ndiswrapper implements a Windows kernel API and NDIS (Network Driver Interface Specification) API within the Linux kernel.

To view information about your installed card run the following commands

# lspci

00:0d.0 Ethernet controller: Marvell Technology Group Ltd. Marvell W8300 802.11 Adapter (rev 07)

# lspci -n

00:0d.0 Class 0200: 11ab:1fa6 (rev 07)

The windows drivers included with the WL-138g card are not very compatible with ndiswrapper. Therefore I used the pciid number found above 11ab:lfa6 to find other drivers. The WL-138g card uses the same chips that the D-Link DWL-G510 uses, I therefore downloaded this driver.

To use windows drivers with linux you need the unshield utility to extract the .cab files.

You need to extract and using unshield as follows

unshield x *.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

To install a driver, ndiswrapper needs to have both a .ini and .sys file in the same directory. The windows 98 drivers work with my 2.6.20 kernel, I therefore copied the Inf98/mrv8k51.inf and Drv98/MRV8K51.sys into an empty directory

Ensure you read the INSTALL file in the ndiswrapper directory on how to install ndiswrapper, make sure you have the kernel_devel rpm installed for your exact version of kernel, without this rpm ndiswrapper won't compile and a wrong version of kernel_devel will cause issues when trying to install the ndiswrapper later on

Run the following command to install the ndis driver

ndiswrapper -i mrv8k51.inf
ndiswrapper -l
Installed ndis drivers:
mrv8k51 driver present, 11ab:1fa6 hardware present

We then need to load ndiswrapper into the kernel as follows

modprobe ndiswrapper

That's it, run ifconfig -a to see the interface, it should be labelled wlan0

Use a linux network utility to configure the wireless details to enable connection to your ADSL router