Wow! This is my first experience with ndiswrapper.
ndiswrapper is a very cool project that implements Windows kernel API and NDIS (Network Driver Interface Specification) API within Linux kernel. With this piece of software you can get working many windows drivers with your Linux box.
Some weeks ago I have bought a wireless network adapter, the Asus WL-138G. This network card is not supported directly by Linux, so I have installed ndiswrapper version 1.2 and started playing with some drivers…
Following some posts around internet, I have found that the driver included with the card are not very well compatible with ndiswrapper.
I have identified this card with *lspci* and *lspci -n*:
# 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 pciid is 11ab:1fa6; this code is very useful to find informations on Internet. This wifi card mount the same chip that D-Link DWL-G510, so I have downloaded the driver from here.
To play with windows drivers you need some utilities like unshield and cabextract to extract all files .cab.
I have extracted data1.cab and data2.cab
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 [...]
To install a driver with ndiswrapper you need to have a file .ini and a file .sys under the same directory. After some installation’s test i have found that the windows 98 drivers works nicely under my 2.6.12 kernel, so after copying ./Inf98/mrv8k51.inf and ./Drv98/MRV8K51.sys into a newly created directory…
ndiswrapper -i mrv8k51.inf ... ndiswrapper -l Installed ndis drivers: mrv8k51 driver present, hardware present
ok, the last step is to load this driver into kernel…
Bingo!, my Asus wifi card is working like a charm with windows driver under my linux box.