Matt on Acer Aspire One w/ Ubuntu – WiFi Fix after Suspend/Resume
Acer Aspire One: http://www.acer.com/aspireone/
Intel Atom: http://www.intel.com/technology/atom/index.htm
Ubuntu 8.10: http://www.ubuntu.com/
Performance Improvement for ubuntu on Aspire One: https://help.ubuntu.com/community/AspireOne
Anyway, this combination is awsome! The ease of use of ubuntu for day to day use, combined with the fact it’s still Linux for advanced hacking when needed, all in a tiny laptop package which makes it portable enough to throw in your bag and have it with you anywhere.
The default 802.11a/b/g card is an internal atheros miniPCI card as well, which means using the madwifi drivers the laptop supports wireless packet injection out of the box
There is however one issue I have had, and that is that wifi was broken after a suspend/resume (suspend/resume is damn fast). After a little playing around I have managed to fix this, my solution is below:
The solution is to unload the madwifi drivers on suspend, and reload them on resume.
you can do this manually after resuming by running the following commands as root:
/usr/local/bin/madwifi-unload
/sbin/modprobe ath_pci
This unloads all madwifi kernel modules, and then loads them again. The wifi should spring back into life.
However, this is nasty, so the following script will run these commands for you on suspend/resume:
Create a new file in /usr/lib/pm-utils/sleep.d called ‘06acerwifi’.
Chmod this to 755, and place the following into it:
#!/bin/sh
#
. “${PM_FUNCTIONS}”
unload_madwifi()
{
/usr/local/bin/madwifi-unload > /dev/null
}
load_madwifi()
{
/sbin/modprobe ath_pci > /dev/null
}
case “$1″ in
hibernate|suspend)
unload_madwifi
;;
thaw|resume)
load_madwifi
;;
*) exit $NA
;;
esac
Hope this helps someone!
//Matt