Hi all,

Very long time without a post, but hopefully that will now change as I have much technical bodgery planned.
Anyway, without going to current life goings-ons too much, I am currently in the middle of my first semester of the final year computer networks BsC, My final year project submission has been approved (more on that kettle of fish in another post) and I am working two days a week for a local outsourced IT firm.

Onto the main reason of the post.. Toys! I am now the proud owner of an acer aspire one ‘netbook’. Tiny little laptop powered by an Intel atom processor. It ships with it’s own small linux distribution, however this did not even get a chance before it got ripped off and replaced with ubuntu 8.10 (first boot :) )

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