2008-05-03

Revisiting Ndiswrapper and MadWifi

To recap: Acer 2920Z has Atheros AR2425 (AR5007EG) wireless chipset:
$ lspci | grep Wireless
04:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)


Support for this chipset with the official Madwifi-drivers is incomplete. So, you have two choices: either you use Windows drivers with Ndiswrapper or you try the Madwifi-drivers anyway. I have tried them both and both eventually worked for me. Now I'm using Madwifi, which is more native and hopefully a bit faster solution. Below are instructions for both

Ndiswrapper

Earlier, I wrote how I got my WLAN working using the instructions given at http://wiki.gadz.org/Linux/LaptopAcer. As that site has been down for quite a while now, as a public service, I'm posting the relevant commands given there here. This page has been reconstructed from my own notes, so it does not really resemble the original much, only the commands are the same.

To check for Madwifi driver compliance:
dmesg | grep -i wifi
lsmod | grep ath
sudo iwconfig


To remove madwifi driver:
sudo rmmod ath_pci

To blacklist it add a line
blacklist ath_pci

to /etc/modprobe.d/blacklist-common

To download ndiswrapper drivers that worked for me on 2920Z: drivers-32bits or drivers-64bits. (These seem to be still up, although the page itself is down.)

Using the driver:
sudo ndiswrapper -i net5211.inf

Launching the driver:
modprobe ndiswrapper

Testing to see that you have wlan interface:
sudo ndiswrapper -l
sudo iwconfig


To load module on boot add line
ndiswrapper

to /etc/modules. (This may be unnecessary on Ubuntu if ndiswrapper is already loaded.)

Finally reboot and setup your network. Alternatively you can use the graphical ndisgtk and network settings.

These are the links suggested by the page:


MadWifi

Update 2008-10-11: This information on installing MadWifi is somewhat outdated, see my post here and this MadWifi ticket.

I tried following the tutorial that was linked from the Google docs site listed above, but my machine froze when trying to do the modprobe. With some additional effort, however, I was able to get a newer version working and I'm using it right now. Here is a modifed version of the tutorial that worked for me.

If you've been using ndiswrapper earlier and have blacklisted the atheros driver, first remove the blacklisting. Also make sure that you are not using the currently installed atheros drivers from the restricted drivers manager (untick the boxes).

If you haven't built anything before, install build utilities
sudo apt-get update && sudo aptitude install build-essential

Get the latest madwifi snapshot with the patch from http://snapshots.madwifi.org/special/. For me it was madwifi-nr-r3366+ar5007.tar.gz. In terminal window untar it
tar xvzf madwifi-nr-r3366+ar5007.tar.gz

and cd in to the directory
cd madwifi-nr-r3366+ar5007/

Build (make clean is usually not absolutely required)
sudo make clean
sudo make
sudo make install

and add the driver
sudo modprobe ath_pci

You should now get a connection with devices wifi0 and wlan0
sudo iwconfig

You may have to reboot, though. You may also want to add ath_pci to /etc/modules, so that it is loaded automatically at boot. If at a later time, for example, a kernel update breaks something, rebuild and reinstall.

No comments: