Translation(s): none
Installing
Obtain the "Squeeze Alpha 1 Netinstall" AMD 64 CD and burn it to a CD-ROM or Flash to a USB-Stick(unetbootin).
Either configure you WLAN Router for WEP or use a Ethernet to USB Adapter e.g. http://www.dlink.com/products/?pid=133
for Networking, cause the Onboard LAN controller isn't supported by the installer and Wifi only works with WEP.
Boot and install Debian (Textmode->Expert worked fine).
Caution: If installing with option Graphics Desktop, Gnash (a GNU Flash implementation) will be installed and,e.g. Youtube Videos won't work with that.
Configuring
Touchpad: To get 2 Finger scrolling / Tapping disable working, the Elantech driver must be loaded,
which is from 2.6.32 part of psmouse.
However with 2.6.32 from Debian Squeeze it won't work for some reason.Solution: Install 2.6.34 form experimental.
Add
deb http://ftp.de.debin.org/debian experimental main
to /etc/apt/sources.list and install it via
apt-get install -t experimental linux-image-2.6.34-1-amd64
Add the Elantech option for psmouse via
/etc/modprobe.de/psmouse.conf -> options psmouse force_elantech=1.
Install gsynaptics via
apt-get install gsynaptics
and configure it via System->Pointing Devices.
Brightness(Intel):
First off all test if you can change brightness via
setpci -s 00:02.0 F4.B=1(darkest)
or
setpci -s 00:02.0 F4.B=ff(lightest).
If those command change your brightness, you can make it trigger via Fn+F5 / Fn+F6 via ACPI.
For this install the eeepc-acpi-scripts (apt-get install eeepc-acpi-scripts and replace /etc/acpi/actions/hotkey.sh with:
#!/bin/sh
# 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
case $(runlevel) in
*0|*6)
exit 0
;;
esac
BACKLIGHT=/sys/class/backlight/eeepc/brightness
if [ -e "$DEFAULT" ]; then . "$DEFAULT"; fi
. $FUNC_LIB
. /etc/acpi/lib/notify.sh
code=$3
value=$(test "x$1" = x- && cat "$BACKLIGHT" || echo "0x$3")
# In case keys are doubly-reported as hotkey and something else.
# It's random (and irrelevant) which is seen first.
acpi=
acpiwrite=
ACPITEST=/lib/init/rw/eeepc-acpi-scripts.acpi-ignore
case "$code" in
# Soft buttons 3 & 4 and Fn-Space/SHE are special.
# They're always reported as hotkeys.
# This will probably break when button events are added for these keys.
0000001[cd]|00000039)
;;
*)
if test -f "$ACPITEST"; then
read acpi <"$ACPITEST"
else
acpiwrite=$(test "x$1" = x- && echo hotkey || echo -)
fi
test "$1" = "$acpi" && exit 0
;;
esac
seen_hotkey() { test "$acpi" = button; }
handle_mute_toggle() {
/etc/acpi/actions/volume.sh toggle
}
handle_volume_up() {
/etc/acpi/actions/volume.sh up
}
handle_volume_down() {
/etc/acpi/actions/volume.sh down
}
show_wireless() {
if /etc/acpi/actions/wireless.sh detect; then
status=Off
else
status=On
fi
notify wireless "Wireless $status"
}
handle_blank_screen() {
if [ -S /tmp/.X11-unix/X0 ]; then
detect_x_display
if [ -n "$XAUTHORITY" ]; then
xset dpms force off
fi
fi
}
show_bluetooth() {
if bluetooth_is_on; then
notify bluetooth 'Bluetooth On'
else
notify bluetooth 'Bluetooth Off'
fi
}
handle_bluetooth_toggle() {
. /etc/acpi/lib/bluetooth.sh
if [ -e "$BT_CTL" ] || [ "$BLUETOOTH_FALLBACK_TO_HCITOOL" = "yes" ]; then
toggle_bluetooth
show_bluetooth
else
notify error 'Bluetooth unavailable'
fi
}
show_camera() {
if camera_is_on; then
notify camera 'Camera Enabled'
else
notify camera 'Camera Disabled'
fi
}
handle_camera_toggle() {
. /etc/acpi/lib/camera.sh
if [ -e "$CAM_CTL" ]; then
toggle_camera
show_camera
else
notify error 'Camera unavailable'
fi
}
show_brightness() {
# final digit of ACPI code is brightness level in hex
level=$(($value & 0xF))
# convert hex digit to percent
percent=$(((100 * $level + 8) / 15))
notify brightness "Brightness $percent%" fast
}
handle_shengine() {
. /etc/acpi/lib/shengine.sh
handle_shengine "$@"
}
handle_touchpad_toggle() {
. /etc/acpi/lib/touchpad.sh
toggle_touchpad
case "$?" in
0)
notify touchpad 'Touchpad on'
;;
1)
notify touchpad 'Touchpad off'
;;
esac
}
handle_vga_toggle() {
/etc/acpi/actions/vga-toggle.sh
}
handle_gsm_toggle() {
/etc/acpi/actions/gsm.sh toggle
if /etc/acpi/actions/gsm.sh detect; then
notify gsm "GSM off"
else
notify gsm "GSM on"
fi
}
# Handle events which we're handling differently on different models
case $(cat /sys/class/dmi/id/product_name) in
[79]*|1000H)
case $code in
ZOOM)
code=0000001b # soft button 2
;;
esac
;;
*)
case $code in
ZOOM)
code=00000038 # Fn-F4
;;
esac
;;
esac
case $code in
# Fn + key:
# <700/900-series key>/<1000-series key> - function
# "--" = not available
# F1/F1 - suspend
# (not a hotkey, not handled here)
# F2/F2 - toggle wireless
0000001[01]|WLAN)
notify wireless 'Wireless ...'
if grep -q '^H.*\brfkill\b' /proc/bus/input/devices; then
:
else
/etc/acpi/actions/wireless.sh toggle
fi
show_wireless
if ! /etc/acpi/actions/wireless.sh detect; then
wakeup_wicd
fi
;;
# --/F3 - touchpad toggle
00000037)
if [ "${FnF_TOUCHPAD}" != 'NONE' ]; then
${FnF_TOUCHPAD:-handle_touchpad_toggle}
fi
;;
# --/F4 - resolution change
00000038) # ZOOM
if [ "${FnF_RESCHANGE}" != 'NONE' ]; then
$FnF_RESCHANGE
fi
;;
# F3/F5 - decrease brightness
# F4/F6 - increase brightness
0000002?)
# actual brightness change is handled in hardware
if [ "x$ENABLE_OSD_BRIGHTNESS" != "xno" ]; then
show_brightness
fi
;;
BRTDN)
brightness=$((0x`setpci -s 00:02.0 F4.B`-16));
if [ $brightness -lt 0 ] ; then
brightness=1;
fi
setpci -s 00:02.0 F4.B=`printf '%x' $brightness`;
;;
BRTUP)
brightness=$((0x`setpci -s 00:02.0 F4.B`+16));
if [ $brightness -gt $((0xff)) ] ; then
brightness=$((0xff));
fi
setpci -s 00:02.0 F4.B=`printf '%x' $brightness`;
;;
# --/F7 - backlight off
00000016)
if [ "${FnF_BACKLIGHTOFF}" != 'NONE' ]; then
${FnF_BACKLIGHTOFF:-handle_blank_screen}
fi
;;
# F5/F8 - toggle VGA
0000003[012]|VMOD)
if [ "${FnF_VGATOGGLE}" != 'NONE' ]; then
${FnF_VGATOGGLE:-handle_vga_toggle}
fi
;;
# F6/F9 - 'task manager' key
00000012|PROG1)
if [ "${FnF_TASKMGR:-NONE}" != 'NONE' ]; then
$FnF_TASKMGR
fi
;;
# F7/F10 - mute/unmute speakers
00000013|MUTE)
if [ "${FnF_MUTE}" != 'NONE' ]; then
${FnF_MUTE:-handle_mute_toggle}
fi
;;
# F8/F11 - decrease volume
00000014|VOLDN)
if [ "${FnF_VOLUMEDOWN}" != 'NONE' ]; then
${FnF_VOLUMEDOWN:-handle_volume_down}
fi
;;
# F9/F12 - increase volume
00000015|VOLUP)
if [ "${FnF_VOLUMEUP}" != 'NONE' ]; then
${FnF_VOLUMEUP:-handle_volume_up}
fi
;;
# --/Space - SHE management
# See "SHE button" below
# Silver keys, left to right
# Soft button 1
0000001a|SCRNLCK)
if [ "${SOFTBTN1_ACTION}" != 'NONE' ]; then
${SOFTBTN1_ACTION:-handle_blank_screen}
fi
;;
# Soft button 2
0000001b) # ZOOM
if [ "${SOFTBTN2_ACTION}" != 'NONE' ]; then
${SOFTBTN2_ACTION}
fi
;;
# Soft button 3
0000001c)
if [ "${SOFTBTN3_ACTION}" != 'NONE' ]; then
${SOFTBTN3_ACTION:-handle_camera_toggle}
fi
acpiwrite=
;;
# Soft button 4
0000001d)
if [ "${SOFTBTN4_ACTION}" != 'NONE' ]; then
${SOFTBTN4_ACTION:-handle_bluetooth_toggle}
fi
acpiwrite=
;;
# SHE button
00000039)
if [ "${SOFTBTNSHE_ACTION}" != 'NONE' ]; then
${SOFTBTNSHE_ACTION:-handle_shengine}
fi
acpiwrite=
;;
esac
test "$acpiwrite" = '' || echo "$acpiwrite" >"$ACPITEST"
Nvidia: If you want to use Nvidia instead of Intel, reboot to Bios (F2) and set
Select Advanced > IDE Configuration > SATA Operation Mode
Change the configuration from Enhanced to Compatible
Install build-essentials, module-assistant, linux-headers-2.6.34-1-all-amd64, nvidia-glx, nvidia-kenrel-source, nvidia-kernel-dkms,nvidia-xconfig
via apt-get install build-essentials module-assistant linux-headers-2.6.34-1-all-amd64 nvidia-glx nvidia-kenrel-source nvidia-kernel-dkms nvidia-xconfig
Call nvidia-xconfig and add BusID “PCI:1:0:0″ to the Device Section of /etc/X11/XF86Config.
Brightness won't work and battery drains faster.Due to the SATA compatiblity mode, Harddisk I/O is much slower(Startup and operation).
Wifi: Works out of the Box
Sound: Works out of the Box
Powermanagement: Use powertop to find out whats draining your battery. When all hacks are applied you get around ~11 Watt.
To increase battery life even more, get http://launchpadlibrarian.net/38458054/nvidia-g210m-acpi-source_0.1.0-1%7Eppa-karmic_all.deb.
Retrieve, unpack,compile and install via (as root):
cd /tmp
apt-get install build-essentials module-assistant linux-headers-2.6.34-1-all-amd64
wget http://launchpadlibrarian.net/38458054/nvidia-g210m-acpi-source_0.1.0-1%7Eppa-karmic_all.deb
ar x nvidia-g210m-acpi-source_0.1.0-1~ppa-karmic_all.deb
tar xvfz data.tar.gz
tar xvfz ./usr/src/nvidia-g210m-acpi-0.1.0.dkms.tar.gz
cd dkms_source_tree
make
insmod nvidia_g210m_acpi.ko
To make it permanent:
cp nvidia_g210m_acpi.ko /lib/modules/2.6.34-1-amd64/kernel/drivers/acpi/
depmod -a
echo nvidia_g210m_acpi >> /etc/modules
With nvidia_g210_acpi and following script(/etc/rc.local) you get around 10 Hours Battery Life. YEAH !
rfkill block bluetooth ethtool -s eth0 wol d iwconfig wlan0 power timeout 500ms echo 1 > /sys/module/snd_hda_intel/parameters/power_save echo 0 > /proc/sys/vm/swappiness echo 60000 > /proc/sys/vm/dirty_expire_centisecs echo 60000 > /proc/sys/vm/dirty_writeback_centisecs echo 60 > /proc/sys/vm/dirty_background_ratio echo 95 > /proc/sys/vm/dirty_ratio echo 50 > /proc/sys/vm/vfs_cache_pressure echo min_power > /sys/class/scsi_host/host0/link_power_management_policy exit 0
(There may be other 'hosts' in /sys/class/scsi_host/ that you could duplicate that last line. May provide more battery life, unsure.
Camera: Upside-down webcam. There are fixes for this using v4l2ucp and an LD_PRELOAD wrapper script. See notes on this article
Lan: Works out of the Box (2.6.34 tested)
Hybrid Mode, Intel + Nvidia: TBD. Surf the WEB for the vga_switcheroo solution.
More coming soon(hopefully).
See also
Installing CrunchBang Statler on an Asus UL30VT
