Sunday 2 May 2010

Howto: Ubuntu 10.04 Lucid Post Install Acer Aspire One 110 (aka AAO & AA1) 8GB/16GB SSD Model

I need to clarify that this is on the Acer Aspire One 110, a couple of comments have indicated that the wifi fix did not work on their machines, one at least has a different model and its entirely my mistake I didn't state clearly which model it is I have, well the wife and I both have. Doing a lspci shows we have Atheros AR5001 wireless device.

Post install there are a number
of things that need tweaking. The wifi and media cards will not function correctly without some work, other things will improve performance or help the SSD longevity.

Wifi
Lets start by fixing the wireless, its probably the first thing you want to do as it will drop your connection like a butterfingered, blind juggler...... With one hand.

In your System / Admintration / Software Sources, enable any repo's that aren't enabled, though you can avoid the source ones if you want. The fire up synaptic, Reload the repository lists and add following package:

linux-backports-modules-wireless-lucid-generic

it will also select a similar named package with your kernel version in its name that we also want. Once that is done I would reboot and your wifi should be nearly done. Now I have installed on mine twice and the second install wouldn't automatically connect to the home wifi when I rebooted, I had to go into System / Preferences / Network Connections and delete the existing wireless connection there, and then Add the connection again. I am not sure why, but its not much trouble to correct and barely worth the time investigating. Yours may work without doing that.

Media Card Readers
You need to edit /etc/default/grub (as root ofc) and find the
line that starts:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Change it to read

GRUB_CMDLINE_LINUX_DEFAULT="pciehp.pciehp_force=1 elevator=noop quiet splash"

The pciehp part fixes the card readers to be hot swappable and the
elevator=noop improves SSD performance, we'll add that now while we are dabbling in the right place. Anyone with a HD version who may be following this should omit the elevator=noop.

To then make the changes actually apply next boot they have to be applied to the Grub boot process so you should then perform :

sudo update-grub

Many thanks to Magrat G for pointing out the ommision in the comments.

Ramon in the comments made the following suggestion:

I've got a SD card in the storage expansion slot (where /home is mounted). To avoid suspend/hibernate failure, this is a nice tweak:

echo "SUSPEND_MODULES=\"sdhci sdhci_pci\"" | sudo tee -a /etc/pm/config.d/suspend_modules

It is reported in bug #477106 (see comment #35):
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/477106

I will add a disclaimer that I have not tested that but it seems like a good fix and has many reports of it working for many people.

Move /tmp to RAM and general fstab fiddling
Lets backup our fstab before we start messing with it, if anything breaks we can copy it back and start again.. By we, I mean *you* of course ;)

sudo cp /etc/fstab /etc/fstab-bak
sudo gedit /etc/fstab


then add these lines at the bottom

none /var/log tmpfs size=10M 0 0
none /tmp tmpfs size=100M 0 0
none /var/tmp tmpfs size=20M 0 0


That is all we do to move /tmp to RAM but we can make another change here to improve SSD lifespan and performance. Find the lines that mount your SSD partition/s and tweak the options to include noatime so the filesystem does not record access times, which is pretty useless and causes unnecessary writes. An editted line might look like this for root:

/dev/sda1 / ext2 defaults,noatime,errors=remount-ro 0 1

Or if the UUID scheme is in use /home might be:

UUID=10b794b3-78b6-44f1-b179-8e38302efe05 /home ext2 defaults,noatime 0 2

Notice the use of ext2 in the examples above, Its fairly important to not use a journalled filesystem on this older SSD. I'm not a filesystem guru and it may be fine to use ext3 or ext4 without journalling, but I am unsure so I formatted with what I knew was recommended.

You get the idea, if you have any doubts just leave it be or google for a more in depth guide on this point.

I will be adding further onto this post as time permits and I go through them myself, or remember what I did.