CrunchBang Linux Acer Aspire One Howto

:!: This guide contains instructions on how to install a standard version of CrunchBang on the Acer Aspire One. The guide was created purely from the experience of installing CrunchBang on a A150 Aspire One (the one with the 120 or 160GB HDD) with BIOS version 3309 (see notes). If you own a A110L Aspire One then it is recommended that you carry out research in regards to SSD performance and wear (see notes).

Hardware Status

Fully Functional

This means the hardware works as expected with no known bugs or problems what so ever, this being said some bugs may occur and it is worth noting not all hardware works “out of the box” although the steps to get it working are below.

  • Audio
  • Video
  • USB
  • WiFi
  • Ethernet
  • Card Readers
  • Webcam
  • Suspend
  • Fan Control
  • Hibernate (no thorough testing carried out but no obvious problems seen)

Known Problems

  • None

Installation

Prerequisites

  • A 1GB+ USB flash drive formatted as FAT32.
  • A working system from which to setup the live usb.

Preparation

  1. Download either the CrunchBang Standard or Lite edition iso.
  2. Connect your USB flash drive that has been formatted as FAT32.
  3. Download and run UNetbootin.
    1. wget http://unetbootin.sourceforge.net/unetbootin-linux-latest
    2. sudo apt-get install p7zip-full
    3. chmod +x unetbootin-linux-*
    4. ./unetbootin-linux-*
  4. Click on the ”…” to the right of the “Diskimage” option and select the CrunchBang .iso you downloaded previously.
  5. :!: Ensure the right “Drive” has been selected and click “OK”.
  6. Once UNetbootin has finished unmount the flash drive and insert it into your Aspire One.
  7. Turn the Aspire One on and press “F12” when prompted, select your USB flash drive from the menu that appears.
  8. :!: Once the UNetbootin menu appears select the “Default” option.
  9. The CrunchBang Live environment will now be loaded. To install the system right-click on the desktop area and select the “Install” option.

Post-Install

Kuki Kernel

I recommend installing the Kuki kernel to get the systems hardware working as best as possible. This kernel has been compiled specifically for the Aspire One and fixes most of the hardware problems including:

NOTE: These URLs are broken. Need updating.

  • Audio.
  • WiFi - including the WiFi LED.
  • Both card readers - requires some additional steps below.
  1. Download and install the kernel image.
    1. wget http://kernelmirror.linxisp.com/releases/linux-image-2.6.28sickboy-kuki_0.4_i386.deb
    2. sudo dpkg -i linux-image-2.6.28sickboy-kuki_0.4_i386.deb
  2. :!: Optional - Download and install the kernel headers.
    1. wget http://kernelmirror.linxisp.com/releases/linux-headers-2.6.28sickboy-kuki_0.4_i386.deb
    2. sudo dpkg -i linux-headers-2.6.28sickboy-kuki_0.4_i386.deb

WiFi (Optional)

Although the WiFi works out of the box with the kuki kernel there have been reports the ath5k driver does not like heavy traffic. Because of this sickboy (creator of the kuki kernel) has released a package to install the madwifi drivers which do not suffer from the same problems as ath5k.

  1. Download and install the madwifi package. (URLs are no good; need updating)
    1. wget http://kernelmirror.linxisp.com/releases/madwifi-modules-2.6.28sickboy-kuki_0.9.4+r3772.20080716-1+0.4_i386.deb
    2. sudo dpkg -i madwifi-modules-2.6.28sickboy-kuki_0.9.4+r3772.20080716-1+0.4_i386.deb
  2. Blacklist Ath5k to prevent conflict.
    1. echo "blacklist ath5k" | sudo tee -a /etc/modprobe.d/blacklist

Card Readers

In order to get both card readers working the following steps need to be taken.

  1. Insert the pciehp kernel module
    1. sudo modprobe pciehp
    2. echo "pciehp" | sudo tee -a /etc/modules
  2. Create /etc/modprobe.d/sdhci
    1. gksudo gedit /etc/modprobe.d/sdhci
    2. Add the following lines
      1. options pciehp pciehp_force=1 
        options sdhci debug_quirks=1

Both card readers should now work after a reboot.

Audio

All the audio worked out of the box for me with no problems using suspend. The only tweak I had to do was to enable the microphone in the mixer.

  1. Right-click on the desktop and go to “Sound & Video → Volume Control”.
  2. Click on “Preferences” and then check “Capture” and then click “Close”.
  3. Adjust the sound levels as required from the volume control panel.

Reference: research papers and transportadora

Fan Control

As the Aspire One does not seem to manage the fan very well it results in quite a noisy system (my fan is usually on constantly). This can be remedied by using a script that has been created to manage the fan better.


Newer alternative from the Ubuntu wiki

I found that acerfand caused my ZG5 to randomly freeze. According to the Ubuntu wiki this is a known problem. The newer solution is reproduced here since it is in the middle of the Ubuntu wiki page:

wget http://www.piie.net/files/acerhdf_kmod-0.4.0-3.tar.gz
tar zxvf acerhdf_kmod-0.4.0-3.tar.gz
cd acerhdf_kmod
make
sudo make install

Get the most up to date version here.

Now load the kernel module using grafica

modprobe acerhdf

check it worked by looking in your message log

tail /var/log/messages

Feb 19 01:25:42 mythtv kernel: [106628.078100] acerhdf: version: 0.2 compiledate: Feb 19 2009 01:25:21
Feb 19 01:25:42 mythtv kernel: [106628.078116] acerhdf: biosvendor:Acer
Feb 19 01:25:42 mythtv kernel: [106628.078125] acerhdf: biosversion:v0.3309
Feb 19 01:25:42 mythtv kernel: [106628.078134] acerhdf: biosrelease:10/06/2008
Feb 19 01:25:42 mythtv kernel: [106628.078143] acerhdf: biosproduct:AOA150
Feb 19 01:25:42 mythtv kernel: [106628.078850] acerhdf: Temperature is: 49

Mine does not display the last line but appears to be working fine.

To make sure it loads at boot time add acerhdf to /etc/modules (I did not need to do this as it worked automatically on mine.)

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

fuse
lp
ath_pci
acerhdf

:!: It has been noted some versions of the Aspire One and maybe some BIOSes do not return the correct temperature values to the script (usually 0°C). If this is true of your Aspire One then it will cause the fan to remain off constantly which could damage the system severely. Please take all the steps listed to ensure the script is returning a reasonable value before you apply the daemon.

  1. Download the acer_ec.pl script and the acerfand daemon.
    1. wget http://aceracpi.googlecode.com/svn/trunk/acer_ec/acer_ec.pl
    2. wget http://electronpusher.org/~rachel/acerfand
  2. Check that the acer_ec.pl script returns some reasonable values by running it a few times.
    1. sudo perl acer_ec.pl ?= 58
    2. This returns a hex value e.g. 0×32. You can convert this to a decimal by using Google, just enter the search query “0×32 in decimal” replacing 0×32 with the value that was returned.
  3. If the script is returning reasonable values then we can make the daemon executable and move both the script and daemon to /usr/local/bin. If you are doing this on a AAO110L you will notice that when you run the acerfand script it works but the computer shuts down after a minute or so, to fix this you need to edit the acerfand script, follow the steps here and desentupidora.
    1. chmod +x acerfand
    2.  sudo cp acer_ec.pl acerfand /usr/local/bin/
  4. We now need to start the acerfand daemon and check that it recognises the BIOS version.
    1. sudo acerfand
    2. sudo tail -f /var/log/syslog
    3. An example of the output is:
      Jan 31 11:31:36 Neo acerfand: acerfand 0.06 starting
      Jan 31 11:31:36 Neo acerfand: Detected bios version v0.3309
      Jan 31 11:31:36 Neo acerfand: Starting to govern acer fan speed. Interval: 5, fan-off: 60, fan-auto: 70
  5. If your BIOS version is detected properly then we need to get the daemon to run at boot.
    1. gksudo gedit /etc/rc.local
    2. Go to the bottom of the file and add
      /usr/local/bin/acerfand

      beforeexit 0” line.

:!: On the AAO110L this didn't work. A fix would be to start it when the session starts.

To do that open a terminal and type:

sudo visudo

Go to the end of the file and add the following line (editing this files is like editing a file using vim):

<username> ALL= NOPASSWD: /usr/local/bin/acerfand

Save the changes and exit.Acompanhantes Right-click your desktop and go Preferences → Openboxconfig → Edit autostart.sh and at the end of the file add:

sudo /usr/local/bin/acerfand

Save and exit. Next time you restart your session acerfand should be started.

Customisation

By default the script initiates the fan at ⇒70°C and turns it off at ⇐60°C. These values, as well as how often to poll the system temperature, can be changed to custom ones.

  1. gksudo gedit /etc/acerfand.conf
  2. In the file add values for “INTERVAL”, “FANOFF” and “FANAUTO”
  3. For example:
    INTERVAL=5
    FANOFF=60
    FANAUTO=70

INTERVAL defines how often to poll in seconds.
FANOFF defines the temperature at which to turn the fan off in °C.
FANAUTO defines the temperature at which to turn the fan on in °C.

HotKeys

:!: Note: Although this section fixes all the hotkeys it will not give you an on screen notification of the volume level. I am working on finding a clean way to get notification of the volume level when using the hotkeys.

Some of the hotkeys on the Aspire One do not work as expected on a fresh install of CrunchBang. In particular the volume keys are not mapped and the brightness up key has some unexpected results. The following fixes all of these problems.

  1. gksudo gedit /usr/share/hotkey-setup/acer.hk
  2. Go to the bottom of the file and add
    setkeycodes	e04e	$KEY_BRIGHTNESSUP	# Aspire One BrightUp plusminus fix
  3. gksudo gedit ~/.config/openbox/rc.xml
  4. Go to the line containing ”</keyboard>” (line 396 on the defaul rc.xml) and add the following before it
        <!-- Keybindings for Aspire One -->
        <keybind key="XF86AudioMute">
          <action name="Execute">
            <execute>amixer -q set Master toggle</execute>
          </action>
        </keybind>
        <keybind key="XF86AudioRaiseVolume">
          <action name="Execute">
            <execute>amixer -q set Master 1+</execute>
          </action>
        </keybind>
        <keybind key="XF86AudioLowerVolume">
          <action name="Execute">
            <execute>amixer -q set Master 1-</execute>
          </action>
        </keybind>

Notes

 
howto/aspireone.txt · Last modified: 2010/02/04 20:25 by marcossp
 

Copyright © 2010 CrunchBang Linux. Some rights reserved.