When I installed Ubuntu 7.10 (Gutsy Gibbon) on my Acer Aspire 4320, madwifi also got installed (via Linux restricted modules). Since I was sure that having both madwifi and ndiswrapper on my notebook was not going to work, I removed the outdated version of madwifi.
That the outdated version of madwifi didn't work with the wireless network hardware - Atheros AR5006EG (rev 01) - in my Acer as is clear from the following output:
john@throy:~$ dmesg | egrep -i '(ath|wifi)'
[ 16.004000] ath_hal: module license 'Proprietary' taints kernel.
[ 16.004000] ath_hal: 0.9.18.0 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
[ 17.020000] ath_pci: 0.9.4.5 (0.9.3.2)
[ 17.068000] wifi%d: unable to attach hardware: 'Hardware revision not supported' (HAL status 13)
The output of dmesg was filtered, using egrep, in such a way that all lines with ath and/or wifi - case insensitive - are shown.
The following ath related modules were loaded:
john@throy:~$ lsmod | grep ath
ath_pci 98336 0
wlan 206660 1 ath_pci
ath_hal 192720 1 ath_pci
At first I thought I could simply remove those modules with:
sudo modprobe -r ath_pci
Since afterwards another lsmod | grep ath
showed no modules. But
it was a bit more complicated than that, as a reboot made clear.
Because the madwifi driver is part of the Linux restricted modules, I also had to disable the module by editing a file:
sudo gedit /etc/default/linux-restricted-modules-common
and had to change:
DISABLED_MODULES=""
into:
DISABLED_MODULES="ath_hal"
which at least prevented the modules from being loaded, because after I rebooted the Acer notebook a filtered lsmod showed no modules:
john@throy:~$ lsmod | grep ath
john@throy:~$
However, still all was not right, as the following filtered output from dmesg shows:
john@throy:~$ dmesg | egrep -i '(ath|wifi)'
[ 17.136000] ath_pci: Unknown symbol _ath_hal_attach
[ 17.136000] ath_pci: Unknown symbol ath_hal_process_noisefloor
[ 17.136000] ath_pci: Unknown symbol ath_hal_computetxtime
[ 17.136000] ath_pci: Unknown symbol ath_hal_mhz2ieee
[ 17.136000] ath_pci: Unknown symbol ath_hal_detach
[ 17.136000] ath_pci: Unknown symbol ath_hal_probe
[ 17.136000] ath_pci: Unknown symbol ath_hal_init_channels
[ 17.136000] ath_pci: Unknown symbol ath_hal_getwirelessmodes
Blacklisting ath_pci did result in the above "Unknow symbol" lines
no longer appearing in the output of dmesg. I opened the file
/etc/modprobe.d/blacklist
sudo gedit /etc/modprobe.d/blacklist
and added the following line to the end of the file:
blacklist ath_pci
to have ath_pci blacklisted.
I saved the file, and rebooted the Acer Aspire 4320. When I checked the dmesg file again for any occurences of ath I got zero lines:
john@throy:~$ dmesg | grep -i ath
john@throy:~$
which was the output I was hoping for, so I moved on to the next step: Compiling and installing NDISwrapper on the Acer Aspire 4320.