Acer Aspire One

From ArchWiki
Revision as of 08:23, 4 September 2008 by Thomasd (talk | contribs) (Tuning tips: framebuffer)
Jump to: navigation, search


WARNING: THIS ARTICLE IS INCOMPLETE! Visit the Arch forum thread link below to get information on installing Arch Linux on the Acer Aspire One.

Most of this information is from the Arch Forum. You can also find a lot of helpful information from the AspireOneUser Forum and Install Ubuntu Hardy Heron (8.04.1) on the Acer Aspire One. General netbook installation hints can be found also in the Asus EEE PC Wiki article

Hardware

Aspire One common hardware

  • Intel Atom N270 1.6 GHz cpu, smp capable(hyperthreading like PIV), up to SSE3 extensions, no EM64T!
  • Intel 945GME chipset
  • Intel 950 GMA onboard graphics adapter
  • 8,9 inch Acer Crystal Brite 1024×600 display
  • Realtek High Definition Audio ALC260
  • 11.V 41,2Wh/2200mAh or 45Wh/2400mAh Lithium-Ionen-Akku / 3 cell, 6 cell model planned
  • sd(hc) Card Reader left side: RICOH R5C8xx
  • multi Card Reader right side Seite: JMicron JMB385 Flash Media Controller
  • Webcam: Acer Crystal Eye Webcam (Suyin Optronics)
  • Wlan: Atheros AR5007EG (Chipset 2425)
  • LAN: Realtek RTL8102E
  • Touchpad: Synaptics
  • weight: 960 gr.
  • size: 24,9 x 17 x 2,9 cm
  • one memory expansion slot ( So-DIMM DDRII 400/533/667MHz up to 1GB) under the keyboard hard to access see memory upgrade; max. 1,5GB
  • foo

version A110L

  • one 512MB memory stick onboard soldered
  • 8GB solid state disc

version A150L

  • one 1024MB memory stick onboard soldered
  • 120gb 1.8"(?) hdd


Before You Begin

A110L: Avoiding Pitfalls for SSD version

Solid state drives are made of flash memory. They are fast in reading but slow in writing data. Flash memory you cannot overwrite countless times. So for a long ssd life take care to

  1. Never choose to use a journaling file system on the SSD partitions
  2. Never use a swap partition on the SSD
  3. Edit your new installation fstab to mount the SSD partitions "noatime"
  4. Never log messages or error log to the SSD

The rules ensure that we won't reach the maximum limit of writes on our SSD faster than we should.

Choosing Your Installation Media

The Acer Aspire One does not have an optical drive installed on the machine. This means you will need to install Arch Linux through one of the alternative methods:

  1. USB pen drive (Recommended)
  2. External USB CD-ROM drive

Installing Arch Linux

  • Install through USB media. Press F12 at BIOS post or change boot order with F2.
  • It is recommended to permanently add a sd(hc) card into the left sd card reader to extend storage space

Recommended partition shemes for A110L

  • /dev/sda1 all 8GB on the SSD for /
  • /dev/mmcblk0p1 all space on the extensional sd(hc) card(left side) /home (using the UUID of the left card reader might be a good idea when also using the right card reader, see Section Multi Card Reader below)
  • no swap at all
  • see also tuning tips

Hardware setup

  • use of kernel >=2.6.26 is recommended to get eth0 up and running
  • blackmask memstick module, makes full load on one core, should be patchable and fixed in next kernel release
  • blackmask ath5k too, since it doesn't work
  • setup cpufreq scaling: load modul acpi_cpufreq and put the wanted governor into rc.local see wiki page
  • modules in rc.conf:
 to be filled (r8169 ath_pci !memstick acpi_cpufreq)

Network

WLAN

  • use ath_pci for onboard wlan - kernel driver ath5k loads well but does not yet support the chipset
  • install madwifi_hal wlan kernel module, for wireless support

Add the following to sysctl.conf to make the wlan blink when there's traffic:

 dev.wifi0.ledpin=3
 dev.wifi0.softled=1

The led on the front will now do the association blink, as well as blink based on wireless traffic. Use ledpin=-3 for a solid light.

LAN

  • use module r8169 for eth0 support with kernel version >=2.6.26

Configuration

For having network management mobility you can try the follow packages:

  • extra/networkmanager

Select one front end from you desktop flavor:

  • extra/gnome-network-manager
  • community/knetworkmanager

Than add to the /etc/rc.conf "networkmanager" as something similar to:

 DAEMONS=(syslog-ng !network !netfs !crond dbus hal @kdm @networkmanager)

Audio

Typical Intel HD Audio. Just follow alsa setup

Video

Typical Intel chipset. Works with the xf86-video-intel driver. 400ish on glxgears. There's a VGA port, haven't tried that out yet.

You'll need to install packages

  • xorg
  • xf86-video-intel
  • synaptics

Original Linpus Xorg.conf:

 # Xorg configuration created by system-config-display
 
 Section "ServerFlags"
   Option "DontZap" "yes"
   Option "DontVTSwitch" "yes"
 EndSection
 
 Section "ServerLayout"
   Identifier "Default Layout"
   Screen 0 "Screen0" 0 0
   InputDevice "Mouse0" "CorePointer"
   InputDevice "Synaptics Mouse" "AlwaysCore"
   InputDevice "Keyboard0" "CoreKeyboard"
 EndSection
 
 Section "InputDevice"
   Identifier "Keyboard0"
   Driver "kbd"
   Option "XkbModel" "pc105"
   Option "XkbLayout" "gb,us"
   Option "XkbVariant" "euro"
   Option "XkbOptions" "grp:alt_shift_toggle"
 EndSection
 
 Section "InputDevice"
   Identifier "Synaptics Mouse"
   Driver "synaptics"
   Option "Device" "/dev/psaux"
   Option "Protocol" "auto-dev"
   Option "LeftEdge" "1700"
   Option "RightEdge" "5300"
   Option "TopEdge" "1700"
   Option "BottomEdge" "4200"
   Option "FingerLow" "25"
   Option "FingerHigh" "30"
   Option "MaxTapTime" "180"
   Option "MaxTapMove" "220"
   Option "VertScrollDelta" "100"
   Option "MinSpeed" "0.09"
   Option "MaxSpeed" "0.18"
   Option "AccelFactor" "0.0015"
   Option "SHMConfig" "on"
 EndSection
 
 Section "InputDevice"
   Identifier "Mouse0"
   Driver "mouse"
   Option "Protocol" "IMPS/2"
   Option "Device" "/dev/input/mice"
   Option "ZAxisMapping" "4 5"
   Option "Emulate3Buttons" "no"
 EndSection
 
 Section "Monitor"
   Identifier "Monitor0"
   Modeline "1024x600" 50.40 1024 1048 1184 1344 600 600 619 625
   # Option "Above" "Monitor1"
 EndSection
 
 Section "Device"
   Identifier "Videocard0"
   Driver "intel"
   # Option "monitor-LVDS" "Monitor0"
   # Option "monitor-VGA" "Monitor1"
   Option "Clone" "true"
   Option "MonitorLayout" "LVDS,VGA"
   vBusID "PCI:0:2:0"
   # Screen 0
 EndSection
 
 Section "Screen"
   Identifier "Screen0"
   Device "Videocard0"
   Monitor "Monitor0"
   DefaultDepth 24
   SubSection "Display"
     Viewport 0 0
     Depth 24
     Modes "1024x600" "800x600" "640x480"
     Virtual 1024 600
   EndSubSection
 EndSection

Webcam

Works on the fly with the kernel26 (>=2.6.22) from core using the UVC driver (uvcvideo).

Multi Card Reader

Both card readers work only, when cards are inserted at boot time. Remounting using other cards is then no problem. Be sure to use UUID for mounting, as the /dev/mmcbkl... change names depending on the amount of cards inserted. Assuming you have the left card mounted as /home, the /etc/fstab might have these entries:

UUID=63A4-4B29  /home      vfat  users,rw,uid=1000,gid=100,fmask=0113,dmask=0002  0  0  #left sd card reader
UUID=FFFF-FFFF  /mnt/right vfat  users,rw,uid=1000,gid=100,fmask=0113,dmask=0002  0  0  #right multi card reader

Note that both are mounted as vfat here. You might want to use ext2 for your home card, but problems have been reported with some cards ext2 formatted.

Additional function keys

For the wifi kill switch add these keycodes in /etc/rc.local:

 /usr/bin/setkeycodes e055 159
 /usr/bin/setkeycodes e056 158

For the Fn-Keys add these additionally:

 /usr/bin/setkeycodes e025 130
 /usr/bin/setkeycodes e026 131
 /usr/bin/setkeycodes e027 132
 /usr/bin/setkeycodes e029 122
 /usr/bin/setkeycodes e071 134
 /usr/bin/setkeycodes e072 135

Now setup an ~/.Xmodmap

 keycode 160 = XF86AudioMute
 keycode 174 = XF86AudioLowerVolume
 keycode 176 = XF86AudioRaiseVolume
 keycode 223 = XF86Standby
 keycode 239 = XF86KbdBrightnessDown
 keycode 123 = XF86KbdBrightnessUp
 keycode 210 = XF86Display

and add

 xmodmap ~/.Xmodmap

to your .xinitrc.

If you use KDE or Gnome you can use the appropriate tools to bind the keys or they work just fine without further modifications. If you use neither KDE nor Gnome then read on.

To use the keys to adjust volume it is recommended to use xbindkeys:

 pacman -S xbindkeys

Add

 xbindkeys &

to .xinitrc and use the following as .xbindkeysrc.scm:

 (xbindkey '("m:0x0" "c:160") "amixer set Master mute")
 (xbindkey '("m:0x0" "c:176") "amixer set Master 2dB+ unmute")
 (xbindkey '("m:0x0" "c:174") "amixer set Master 2dB- unmute")
 (xbindkey '("XF86Display") "uxterm -e vgadisplay.sh")

Note that I have added the option to switch the external VGA output here by a bash-display-script. You will need the following as /usr/bin/vgadisplay.sh:

 #! /bin/bash
 TEMP=/tmp/answer$$
 dialog --menu "Select VGA behavior" 13 50 6 1 off 2 1024x600 3 "Auto (most probably 1024x768)" 2>$TEMP
 ret=$?
 choice=`cat $TEMP`
 case $ret in
     1) ;; # Cancel - do nothing
     0)  # User selection
         case $choice in
          1) xrandr --output VGA --off;;
          2) xrandr --output VGA --mode 1024x600;;
          3) xrandr --output VGA --auto;;
         esac
         ;; 
     *)  # Shouldnt happen
         echo "Abnormal ret code from dialog: $ret" 
         ;; 
 esac

You may also bind an xrandr call directly with the XF86Display key but with the above way you have more options.

Tuning tips

  • Use the noop IO scheduler (elevator=noop to /boot/grub/menu.lst's kernel line)
  • While editing the /boot/grub/menu.lst you may also add vga=771 to the kernel line to have a 800x600 256-colored framebuffer for a nicer boot-up. See Grub for more info.
  • locate pacman pkg cache in /etc/pacman.conf to your sd card ( /home/where_ever_you_want_it)
  • ToDo: post example fstab
  • reduce write accesses on / and /home using "noatime" option in /etc/fstab
  • speedup logging and tmp files, change /etc/fstab this way:
   tmpfs      /var/log        tmpfs        defaults           0    0
   tmpfs      /var/tmp        tmpfs        defaults           0    0
   tmpfs      /tmp            tmpfs        defaults           0    0
  • EXT3: change commit interval in fstab, e.g.:
   UUID=f00ba4 / ext3 noatime,nodiratime,commit=15 0 1
  • Or for all filesystems use:
   echo "1500" > /proc/sys/vm/dirty_writeback_centisecs
  • Firefox 3.x uses a sqlite db that creates many write accesses, so this can reduce it:
  • Firefox -1- go to about_config, right click, add new string „browser.cache.disk.parent_directory“ with value "/tmp/firefox"
  • Firefox -2- change options/security/ and disable phishing - take care !
  • ToDo: install customized kernel with slack konfig and custom CLFAGS
  • for faster boot and a slack optimized hardware configuration try the custom kernel: http://dev.archlinux.org/~andyrtr/AspireOne/kernel26-one/
    if you need additional hardware support recompile it to your needs, report suggestions/missing modules to the forum thread

lspci

00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 02)
03:00.0 Ethernet controller: Atheros Communications, Inc. AR5006EG 802.11 b/g Wireless PCI Express Adapter (rev 01)

Weblinks