Sep 25, 2007

Using Windows Drivers in Linux

Continuing with my capstone class series, I have some exciting developments. If you have read my previous posts, you know that I have been working on a project in school where I have to create an all Linux network using 5 different distros. Three of those machines need to be able to connect to wireless.

One of the problems I had was that Linux didn't detect the drivers for the wireless cards. Anyone who has dabbled in Linux knows that drivers not working is kind of a pain in the arse sometimes. There are literally forums after forums of people trying to get drivers to work in Linux where Linux doesn't detect them natively. I have never really experienced this too much since I use Ubuntu, and it pretty much detects everything.

supermanSo what did I do to get wireless to work? I used Windows drivers! How can that be El Di Pablo? Linux can't use Windows Drivers! You're friggin' loco!" I am sure you are saying. Actually, that is not entirely true. You can use Windows drivers in a pinch, and for some devices that is your only option because most vendors only support the name brands like Windows (what a shocker) and sometimes MAC.

Now you probably want to know how to get the windows drivers to work. I thought you might. In order to do this you need a Linux program called ndiswrapper. Most distros come with ndiswrapper already installed, but not always. If they don't, Google how to install it for your distro. It is actually pretty straight forward.

Once you have it installed do the following:

1) Download the Windows driver from the vendors website. Some vendors only put their drivers in self extracting executables. If this is the case, you may have to download it on Windows first and run the executable to extract the driver files. That is what I had to do anyway.

2) Once you get the extracted driver files, copy them to your Linux box and cd into the folder where the drivers are. You should have at least a .inf file and a .sys file.

3) Run ndiswrapper -i driver_name.inf to install the driver

4) Run ndiswrapper -l to check to see if the driver installed correctly.

5) Run ndiswrapper -m to create an alias for your device (i.e. wlan0 for wireless)

6) Run modprobe ndiswrapper to load the new driver module. If you don't get any errors, you are golden!

If you did get errors, check to make sure you used the correct driver. If you are sure you are correct, it's time to start Googling again. Welcome to Linux!

Twitter Delicious Facebook Digg Stumbleupon Favorites More

Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | stopping spam