Using the NDIS Wrapper
NDIS?
NDIS = Network Device Interface Specification.
Ms IBM Intel and 3com came up with this in the MS-DOS days it basically is an API layer for MS OSes to Communicate with network Hardware using NDIS compatible <windows/dos> drivers
What and y?
Some NICs <network interface cards e.g. Ethernet card/802.11 card> are not supported by Linux (most wifi cards aren’t) u can use the NDIS wrapper to get support for a lot of the cards by using ur windows driver.
Purpose of the wrapper:
Allows a Microsoft NDIS 5 driver to operate in Linux. It is basically a hack that Linux programmers cam up with to translate the NDIS data into a Linux compatible form.
Many Chipsets are supported <like Frags Ti chipset for his wireless card>.
The following link is to a list of cards/chipsets KNOWN to work if yours isn’t listed don’t worry it may still work.
http://www.linux-wlan.org/docs/wlan_adapters.html.gz
Installation
The source code can be downloaded here. You will need your Windows driver so that the wrapper can install it. NOTE: the kernel source must be present on your system
Instructions
> tar zxvf ndiswrapper-0.7.tar.gz
> cd ndiswrapper-0.7
> su (log in as root)
> make install
verify the driver was installed:
ll /lib/modules/YourKernel/misc/
-rw-r--r-- 1 root root 65764 May 6 13:38 ndiswrapper.ko
verify the utils were installed:
whereis loadndisdriver ndiswrapper Driver_Name
loadndisdriver: /sbin/loadndisdriver
ndiswrapper: /usr/sbin/ndiswrapper /etc/ndiswrapper
Driver_Name: /usr/sbin/Driver_Name
/usr/sbin/ndiswrapper -i
This will create a subdirectory in your /etc subdirectory named "ndiswrapper" with a copy of your Windows driver. I copied my Windows driver files over to my home subdirectory for future use. So i used: "/usr/sbin/ndiswrapper -i /home/urusername/Driverfolder/drivername.inf"
verify your Windows driver was installed:
> /usr/sbin/ndiswrapper -l
> output:
Installed ndis drivers:
drivername present
utility
Activating your card
load the Wrapper driver by issuing the command:
> /sbin/modprobe ndiswrapper.
Check your message log by issuing a dmesg command . An entry should look like this:
divert: allocating divert_blk for wlan0
wlan0: ndiswrapper ethernet device 00:90:96:68:6e:67 using driver bcmwl5.sys
Issue the command /sbin/iwconfig and the following should<similar> be displayed
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11g ESSID:"11g AP" Nickname:"*********"
Mode:Managed Frequency:2.452GHz Access Point: 00:90:96:64:75:B5
Bit Rate=48Mb/s Tx-Power:13 dBm
RTS thr=2347 B Fragment thr=2346 B
Power Management: off
Link Quality:100/100 Signal level:-41 dBm Noise level:-256 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:66133 Invalid misc:4260128 Missed beacon:0
Give the command /usr/sbin/ndiswrapper –m to detect ur network device. This will add the line: alias wlan0 ndiswrapper to your /etc/modprobe.conf file. The rest of the setup procedure is distribution specific. The INSTALL document in the ndiswrapper archive has examples of configuring your NIC manually. Go to http://ndiswrapper.sourceforge.net/ for further help