Netbook Asus 1005HA

From YobiWiki
Jump to navigation Jump to search

Characteristics

  • ASUS 1005HA ACPI BIOS revision 1102
  • Build Date 10/16/09
  • EC Firmware Version:EPCD-029
  • CPU Intel Atom N280 @ 1.66GHz, FSB 667MHz, L1 24kb, L2 512kb (2 logical cores, 1 physical)
  • 2Gb 667MHz DDR2 non-ECC CL5 SODIMM (the original one was a 1Gb SODIMM)
  • 1024x600 Intel Corporation Mobile 945GME Express Integrated Graphics Controller
  • BIOS v02.58 American Megatrends
  • HDD ST9250315AS 250GB
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x8da2c67c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13055   104857600    7  HPFS/NTFS
/dev/sda2           13055       29094   128835584    7  HPFS/NTFS
/dev/sda3           29094       30400    10485760   1b  Hidden W95 FAT32
/dev/sda4           30400       30401       16064+  ef  EFI (FAT-12/16/32)
  • Atheros AR8132 / L1c Gigabit Ethernet Adapter
  • Atheros AR9285 Wireless Network Adapter (PCI-Express) AW-NE785H
  • ASUSTek Broadcom Bluetooth 2.1 (USB) AW-BT253
  • Battery LION ASUS 1005HA 5800mAh 63Wh
  • Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller
  • Webcam 0.3Mpx UVC 1.00 IMC Networks (13d3:5108)
  • SynPS/2 Synaptics TouchPad


Firmware upgrade

It has v1102, since there were a couple of new versions:

1401 Update brightness table
1301 Improve Wifi performance
1301 Update EC firmware
1203 Fix there is no "safely remove hardware" icon in windows 7 when plug in SD card.

So let's try to install v1401

  • http://support.asus.com/download/download.aspx
    • EEE family / EEE PC / 1005HA / Linux
    • BIOS 1401
  • Unzip archive
  • Rename file 1005HA-ASUS-1401.ROM into 1005HA.ROM and move it to a USB stick (my 6Gb USB HD wasn't detected I had to use a real 1Gb USB Flash)
  • Reboot on the USB by pressing ALT-F2 while rebooting
  • Flash is done automatically
  • Remove USB stick & reboot

Ubuntu

Install

For this one I wanted a minimal maintenance stuff for basic laptop operations so I chose the latest Ubuntu at the moment: Lucid Lynx.
Actually they have a version special for netbooks, installable from a USB stick, cool:

Ubuntu Netbook 10.04

The only thing is that I wanted to only replace the 2 NTFS partitions and keep the last 2 partitions for now.
First time I tried I used the partition tool from Ubuntu installer but if it succeeded completing the install, after reboot it appeared that the partition table didn't contain refs to the root partition, ouch! So the new partition table was never written to the disk.
I rebooted on a good old FCCU liveCD v12 and changed the partition table the way I wanted then I did again the Ubuntu install, this time without troubles.

I advise to keep at least the EFI partition as it's an 8Mb primary partition used by the BIOS for its "Boot Booster".
In case you already deleted it, simply recreate it with fdisk: 8Mb, type "ef". On reboot, hit F2, and re-enable boot booster in the BIOS.
Mine is at end of the 250Gb HDD:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda4           30400       30401       16064+  ef  EFI (FAT-12/16/32)

Out-of-the-Box

Working:

  • Suspend-to-RAM
  • Suspend-to-Disk (hibernate)
  • Webcam
  • VGA output
  • Ethernet
  • Wi-Fi
  • Audio playback
  • CPU freq scaling 1/1.33/1.66GHz, ondemand
  • sdcard reader
  • Silverkey disable touchpad
  • Hotkeys: suspend, Wi-Fi on/off, disable touchpad, brightness up/down, volume off/up/down
  • Bluetooth, it detected a W300i phone and I could use the phone as remote control OOB, could use it to access Internet as well apparently
  • My 3G USB key (Vodaphone K3565 = Huawei E160)

Not working?:

  • multi-touchpad. See below the paragraph about Touchpad
  • audio mic. See below the paragraph about Microphone
  • Hotkeys: backlight on/off (not clear, it worked at the beginning, anyway it's barely usable without any backlight... Once Jupiter is used it seems it's used as VGAOFF)
  • Hotkeys: hotkey display toggle, hotkey display resize, taskmanager, super-hybrid-engine. See below how to use them with eeepc-laptop & Jupiter

Powersave Tuning

eeepc-laptop

eeepc-laptop module gives access to the eee hotkeys & eee Super Hybrid Engine for better powersafe control

Install driver:

$ modinfo eeepc-laptop
filename:       /lib/modules/2.6.32-23-generic/kernel/drivers/platform/x86/eeepc-laptop.ko
license:        GPL
description:    Eee PC Hotkey Driver
author:         Corentin Chary, Eric Cooper
srcversion:     9A474055673699361160D37
alias:          acpi*:ASUS010:*
depends:        
vermagic:       2.6.32-23-generic SMP mod_unload modversions 586 
parm:           hotplug_disabled:Disable hotplug for wireless device. If your laptop need that, please report to acpi4asus-user@lists.sourceforge.net. (bool)
sudo vi /etc/default/grub
=> GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux"
sudo update-grub
reboot 

Now eeepc-laptop kernel module will be properly loaded

In /var/log/syslog

eeepc_laptop: Eee PC Hotkey Driver
eeepc_laptop: wlan hotplug disabled
eeepc_laptop: Hotkey init flags 0x41
eeepc_laptop: TYPE (2000000) not reported by BIOS, enabling anyway
eeepc_laptop: PANELPOWER (4000000) not reported by BIOS, enabling anyway
eeepc_laptop: TPD (8000000) not reported by BIOS, enabling anyway
eeepc_laptop: Get control methods supported: 0xe101713
eeepc_laptop: Backlight controlled by ACPI video driver
input: Asus EeePC extra buttons as /devices/platform/eeepc/input/input11
NetworkManager: <info>  Found wlan radio killswitch rfkill5 (at /sys/devices/platform/eeepc/rfkill/rfkill5) (driver eeepc)

Sysfs controls:

$ ls /sys/devices/platform/eeepc/
available_cpufv  cpufv_disabled   input/           subsystem/
camera           disp             modalias         uevent
cardr            driver/          power/           
cpufv            hwmon/           rfkill/

Display:

/sys/devices/platform/eeepc/disp:
1 = LCD
2 = CRT
3 = LCD+CRT

If you run X11, you should use xrandr instead.

Camera:

/sys/devices/platform/eeepc/camera:
1 = on
0 = off

SDCard reader:

/sys/devices/platform/eeepc/cardr:
1 = on
0 = off

CPU clock configuration:

/sys/devices/platform/eeepc/cpufv:
0 = Super Performance Mode
1 = High Performance Mode
2 = Power Saving Mode

Reading this file will show the raw hexadecimal value which is defined as follow:

| 8 bit | 8 bit |
    |       `---- Current mode
    `------------ Availables modes

For example, 0x301 means: mode 1 selected, 3 available modes.

Jupiter

Jupiter is taking care of multiple power saving settings including the eee SHE & GMA950 overclocking if you install also jupiter-support-eee
See http://www.webupd8.org/2010/06/jupiter-take-advantage-of-asus-super.html To install it, there are a few pre-requisite:

aptitude install libnotify-bin acpi

Get .deb packages jupiter & jupiter-support-eee from here & install them

It takes also care of the extra FN buttons (there is also packages eee-applet & eeepc-acpi-scripts or eeepc-control if you prefer not to use Jupiter)

Applet will start at reboot, otherwise you can already start it manually by calling "jupiter.exe" (oups, C#...)
Hovering applet displays CPU temperature.

Issue: very slow at displaying messages when pressing several times / several buttons in a short amount of time.

Support:

powertop & greedy applications

powertop permits to spot easily which applications are wakening the CPU dozen of times per second and/or are writing files to the disk, preventing spin down.

aptitude install powertop

Maybe you can simply disable applications at startup but as I didn't use them anyway I removed them completely:


ubuntuone-* was causing 16% of the wakeups
How to remove it?

killall ubuntuone-login ubuntuone-preferences ubuntuone-syncdaemon
rm -rf ~/.local/share/ubuntuone
rm -rf ~/.cache/ubuntuone
rm -rf ~/.config/ubuntuone
rm -rf ~/Ubuntu\ One/ # unless you've valuable data here, be careful!
sudo apt-get purge ubuntuone-client* python-ubuntuone-storage* 

It removed rhythmbox-ubuntuone-music-store python-ubuntuone libubuntuone-1.0-1 ubuntuone-client-gnome ubuntuone-client python-ubuntuone-client python-ubuntuone-storageprotocol


Desktopcouch is also quite active, actually it's used amongst others by evolution, gwibber, ubuntu-one,... so let's remove gwibber

killall gwibber-service
apt-get purge gwibber*

It removed gwibber gwibber-service


and all CouchDB

pkill -f couch
apt-get purge couch*

It removed python-desktopcouch-records python-desktopcouch desktopcouch couchdb-bin python-couchdb

laptop-mode

aptitude install -R laptop-mode-tools

=> accept to remove pm-utils-powersave-policy
pm-utils-powersave-policy was doing two things:

  • increase dirty_writeback to one minute
  • Power down HDA controller with corresponding Sigmatel/IDT codec after 10 idle seconds

laptop-mode-tools is doing the same, but we've to enable the Intel HDA powersave mode manually

Intel HDA power saving settings:
Modify /etc/laptop-mode/conf.d/intel-hda-powersave.conf

CONTROL_INTEL_HDA_POWER=1

Intel SATA power management settings:
Modify /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf

CONTROL_INTEL_SATA_POWER=1

USB autosuspend settings:
Modify /etc/laptop-mode/conf.d/usb-autosuspend.conf

CONTROL_USB_AUTOSUSPEND=1

Note that laptop-mode could also take care of CPUfreq & eee SHE but we're already using Jupiter for that.

Tuning ONGOING

Watching which application writes to the drive, preventing it to spin down:

aptitude install blktrace
blktrace -d /dev/sda -o - | blkparse -i -

=> I see [flush-8:0]


Global IO usage on HDD:

aptitude isntall sysstat
iostat -p sda 2

powertop proposed various power saving settings:

Soundcard powersave mode (done by laptop-mode, see above):

echo 1 > /sys/module/snd_hda_intel/parameters/power_save

Wireless card powersave mode:

iwconfig wlan0 power timeout 500ms

SATA ALPM link power management (done by laptop-mode, see above):

echo min_power > /sys/class/scsi_host/host0/link_power_management_policy

Enable USB autosuspend for non-input devices (done by laptop-mode, see above)

how??

Disable camera USB

echo 0 >  /sys/devices/platform/eeepc/camera

laptop-mode:

not sure about sched-mc-power-savings.conf
=> to be tested with powertop

? auto-hibernate required or is it already the case??

Touchpad

aptitude install gpointing-device-settings

& enable circular scrolling (System / Pointing Devices)

For multi-touch I'm not sure how to proceed. Lucid Lynx doesn't use hal anymore.
See

Microphone

Microphone does not work out of the box.
From here:
Install the pulse audio tools

aptitude install paman pavucontrol pavumeter padevchooser

Sound & Video / PulseAudio Volume Control / Input Devices tab:
Unmute audio
Unlock channels
Set front left channel to 100% and the front right channel to 0%.

Additional packages

Skype

Enable Canonical PArtners Repositories: System / Software Sources / Other Software:

http://archive.canonical.com/ubuntu lucid
aptitude install skype

Bugs

At reboot I encountered once the following bug: getpwuid_r(): failed due to unknown user id(0), gone after a reboot.

Misc links