This is an old revision of the document!
Table of Contents
ASUS eee PC HowTo
This Howto apply to the ASUS 1005HA netbook specifically; but it can be ported to other similar machine.
With Slackware everything works pretty much out of the box for this Asus EEE-pc model; however, function keys are not enabled by default, which means additional configuring steps.
The scope of this document is to provide a guide for such steps. This document assumes some basic knowledge of slackware configuration procedure available here.
Powersaving and ACPI
Asus eee PC's are/where popular netbooks. Some linux distro where build specifically for these machines and specific scripts where ported to slackware.
Enabling ACPI
To enable ACPI, the following parameter should be passed to the kernel:
Append=“Acpi_osi=Linux vt.default_utf8=0”
EEE PC acpi scrips
Eric Hameleers,(aka AlienBOB) had created a slackware package that will enable most of the FN keys functions; however, two FN key functions that I've personally impossible to live without based on my preferences and usage are the FN+F3 (disable touchpad) and FN+Space bar (Super Hybrid Engine)
These could be easily enabled by doing the following:
Touchpad toggle function
Create a text file on /etc/acpi/events/ as follows
event=hotkey ATKD 00000037 action=/etc/acpi/actions/touchpad-toggle.sh
In my case, the file is named touchpad-toggle. This particular file identify an action once an event triggers. The “00000037” points specifically to the event of pressing FN+F3 keys combination of the model specified.
The Action file /etc/acpi/actions/touchpad-toggle.sh:
#!/bin/bash #Toggle touchpad # do nothing if package is removed PKG=eeepc-acpi-scripts FUNC_LIB=/usr/share/$PKG/functions.sh DEFAULT=/etc/default/$PKG [ -e $FUNC_LIB ] || exit 0 . $FUNC_LIB . /etc/acpi/lib/notify.sh action=$1 SYNSTATE=$(synclient -l | grep TouchpadOff | awk '{ print $3}') # change state if [ $SYNSTATE = 0 ]; then synclient touchpadoff=1 msg="Touchpad OFF" elif [ $SYNSTATE = 1 ]; then synclient touchpadoff=0 msg="Touchpad ON" fi notify touchpad "$msg"
Enabling SHE function
“Super Hybrid Engine” as it's known under windows has a significant effect on powersaving. This underclocks the FSB for powersave/overclocks for performance. This is achieved by laptop-mode-tools.
Once laptop-mode-tools is installed we could proceed with enabling the control of the FSB by pressing FN+Space bar combo by creating a file on the /etc/acpi/events folder just as before:
event=hotkey ATKD 00000039 action=/etc/acpi/actions/she.sh
in my case, the file is /etc/acpi/events/cpu.
The Action file /etc/acpi/actions/she.sh:
#!/bin/bash #Toggle touchpad # do nothing if package is removed PKG=eeepc-acpi-scripts FUNC_LIB=/usr/share/$PKG/functions.sh DEFAULT=/etc/default/$PKG [ -e $FUNC_LIB ] || exit 0 . $FUNC_LIB . /etc/acpi/lib/notify.sh action=$1 she_names=("performance" "normal" "powersave") she_value_performance=("0" "0x300") she_value_normal=( "1" "0x301") she_value_powersave=( "2" "0x302") #find current SYS_DEVICE="/sys/devices/platform/eeepc/cpufv" she_current=`cat ${SYS_DEVICE}` if [[ "${she_current}" == "${she_value_performance[1]}" ]]; then she_next=${she_value_normal[0]} echo $she_current elif [[ "${she_current}" == "${she_value_normal[1]}" ]]; then she_next=${she_value_powersave[0]} echo $she_current elif [[ "${she_current}" == "${she_value_powersave[1]}" ]]; then she_next=${she_value_performance[0]} echo $she_current fi function she_toggle() { if [[ "${she_names[${she_current/0x30/}]}" != "${she_names[${she_next}]}" ]]; then msg="Super Hybrid Engine: ${she_names[${she_next}]}" echo ${she_next} > ${SYS_DEVICE} && msg="Super Hybrid Engine: ${she_names[${she_current/0x30/}]} to ${she_names[${she_next}]}" cpu & else msg="Super Hybrid Engine: Already at ${she_names[${she_next}]}" fi } ################################################################# case $1 in "debug") print_generic_debug ;; "powersave") she_next=2 she_toggle ;; "normal") she_next=1 she_toggle ;; "performance") she_next=0 she_toggle ;; *) she_toggle ;; esac notify cpu "$msg"
Video card speed tune up
I've recently learned that this Asus 1005HA Intel chip 945GM/GMS/GME is slightly under clocked in order to provide longer battery life according to the SHE profile. On windows, the default clock-speed is 166MHz in powersaving mode and 200MHz in High/Super mode; however, this chip is able to run at 400MHz.
The following script will set GMA chipset speeds (run it as root):
#!/bin/sh case "$1" in 250) val=31 ;; 400) val=33 ;; 200) val=34 ;; *) echo "Possible values are: 200, 250, 400." >&2 exit 1 ;; esac setpci -s 02.0 f0.b=00,60 setpci -s 02.0 f0.b=$val,05
In my case, I called it gma-clock… You just need to call it with the desired speed options you as argument. The only three valid options are 200, 250 and 400.