Difference between revisions of "ASUS Eee PC 1005P"

From ArchWiki
Jump to: navigation, search
(Created page with 'Category:ASUS (English) {| style="float:right; border: 1px solid #000;" | '''Device''' || '''Status''' || '''Modules''' |- | Video || style="color:green" | '''Working''' ||…')
 
Line 20: Line 20:
 
Adapted from [[Asus_Eee_PC_1005HA|1005HA]], please do edit as needed!  
 
Adapted from [[Asus_Eee_PC_1005HA|1005HA]], please do edit as needed!  
  
The stock kernel (currently 2.6.33) seems to support all the hardware in the 1005P, although not without [[#Issues|problems]].
+
The stock kernel (as of writing, 2.6.33) seems to support all the hardware in the 1005P, although not without [[#Issues|problems]].
  
 
=Installation=
 
=Installation=
[[Install_Arch_from_network_(via_PXE)|Installing via PXE]] works well - it requires another computer to use as PXE host, and some configuration.
+
#[[Install_Arch_from_network_(via_PXE)|Installing via PXE]] works well. It requires another computer to use as PXE host, and some configuration.
[[Install_from_USB_stick|Installing from USB]]: ethernet does not work with the 2009.08 img files (the latest as of this writing), so the driver has to be fetched separately if needed ([http://partner.atheros.com/Download.aspx?id=125]).
+
#[[Install_from_USB_stick|Installing from USB]]: ethernet does not work with the 2009.08 img files (the latest as of writing this), so the driver has to be fetched separately if needed ([http://partner.atheros.com/Download.aspx?id=125]).
  
 
=Xorg=
 
=Xorg=
Line 39: Line 39:
  
 
==Graphic Performance==
 
==Graphic Performance==
With X.org's new 2D acceleration architecture, EXA, users of the intel driver may experience slowdown with window redrawing and scrolling. A possible solution to this is to override intel's default 2D acceleration, XXA, with the new X.org acceleration. Add this section to the device section of your xorg.conf.
+
See [[http://wiki.archlinux.org/index.php/Asus_Eee_PC_1005HA#Graphic Performance]] and [[http://wiki.archlinux.org/index.php/Asus_Eee_PC_1005HA#Display setting]].
 +
The short story is that it might be useful to add the following to the '''Device''' section of /etc/X11/xorg.conf:
  
 +
  Driver "intel"
 
   Option "AccelMethod" "exa"  
 
   Option "AccelMethod" "exa"  
 
   Option "MigrationHeuristic" "greedy"
 
   Option "MigrationHeuristic" "greedy"
 +
  Option "FramebufferCompression" "on"
 +
  Option "Tiling" "on"
 +
  Option "XvMC" "on"
  
In addition to improving 2D graphics, the card's 3D performance can be [https://bugs.launchpad.net/xserver-xorg-video-intel/+bug/195843|greatly enhanced] by adding this line to your /etc/profile.
+
To let X know where the XvMC library is, run:
  
export INTEL_BATCH=1
+
  # echo /usr/lib/libIntelXvMC.so > /etc/X11/XvMCConfig
 
+
See [[Intel]] for more information.
+
 
+
According to the intel driver documentation, X-Video Motion Compensation or "XvMC" is not  enabled by default. Enabling this option can greatly reduce CPU utilization when playing back MPEG-2 video. To enable this option, two things need to be done; first, add this to the device section of your xorg.conf:
+
 
+
Option "XvMC" "true"
+
 
+
Lastly, create a config file to tell the X server where the XvMC library is:
+
 
+
echo /usr/lib/libIntelXvMC.so > /etc/X11/XvMCConfig
+
  
 
==Touchpad==
 
==Touchpad==
  
Works. For additional stuff, see [[http://wiki.archlinux.org/index.php/Asus_Eee_PC_1005HA#Touchpad]].
+
It works (driver: '''xf86-input-synaptics'''). For additional stuff, see [[http://wiki.archlinux.org/index.php/Asus_Eee_PC_1005HA#Touchpad]].
  
 
==xrandr==
 
==xrandr==
For a nice GUI tool, try '''lxrandr'''; it is very simple to use!
+
For a nice GUI tool, you can try '''lxrandr'''.
  
Switch to External Monitor:
+
Switch to external monitor (VGA port):
 
  xrandr --output LVDS1 --off --output VGA1 --auto
 
  xrandr --output LVDS1 --off --output VGA1 --auto
  
Line 72: Line 67:
  
 
=Powersaving and ACPI=
 
=Powersaving and ACPI=
Start off your powersaving adventures by installing Powertop. This is basically a program to see how much power stuff is using, but it also gives you tips on what to change.
+
Your best bet is to disable all hardware you don't intend to use (to access the BIOS settings, press F2 after rebooting).
# pacman -S powertop
+
 
+
A good starting point is to disable the hardware you don't plan on using. Reboot and enter the BIOS by pressing F2. Disable for example the card reader, camera, ethernet but only if you don't need them of course.
+
 
+
According to Powertop the 1005HA uses around 7-10 Watts on maximum powersave (using Laptop mode tools and cpufreq and the above hardware disabled, using Wifi and writing this). Idle around 5-6 W. Please report how to get it lower!
+
  
 
==laptop-mode-tools==
 
==laptop-mode-tools==
Laptop mode is a nice and easy way to setup most of the availiable power saving options on the 1005HA. These include spinning down the hard drive and adjusting the power saving modes of the harddrive and CPU, as well as autosuspending of the USB-ports and screen brightness etc. It provides a great centralized configuration file as well as separate configuration files for the various power saving modules managed by Laptop mode tools.  
+
Laptop mode is an easy way to setup most of the availiable power saving options, which include spinning down the hard drive and adjusting the power saving modes of the harddrive and CPU, as well as autosuspending the USB-ports, setting screen brightness, configuring the eee's own 'Super Hybrid Engine', etc.
  
===Installation and setup===
+
===Setup===
Install the package with
+
 
  # pacman -S laptop-mode-tools
 
  # pacman -S laptop-mode-tools
  
The main configuration file is /etc/laptop-mode/laptop-mode.conf but there are more configuration files located in the directory /etc/laptop-mode/conf.d/ Be sure to read them and set them up accordingly.  
+
The main configuration file is '''/etc/laptop-mode/laptop-mode.conf''', plus there are several separate configuration files in '''/etc/laptop-mode/conf.d/''' for the various power saving modules managed by laptop-mode-tools. The files are well commented, so it should be easy to set everything up as needed. (For more information, see [[Laptop Mode Tools]])
  
Note the option in laptop-mode.conf to automatically start many of the other modules.  
+
To make the daemon start at boot, add '''laptop-mode''' to the '''DAEMONS''' array in '''/etc/rc.conf'''.
  
1005HA specific options for a few of the modules below (there are many more):
 
 
===LCD brightness===
 
===LCD brightness===
For lcd-brightness, edit the file /etc/laptop-mode/conf.d/lcd-brightness.conf and adjust it as suits you. The darkest is 0 and brightest 15, this is a suggested setup:
+
The relevant config file is '''/etc/laptop-mode/conf.d/lcd-brightness.conf'''. Brightness values are between 0 (darkest) and 15 (brightest). An example of usable settings:
 +
 
 
  BATT_BRIGHTNESS_COMMAND="echo 1"
 
  BATT_BRIGHTNESS_COMMAND="echo 1"
 
  LM_AC_BRIGHTNESS_COMMAND="echo 15"
 
  LM_AC_BRIGHTNESS_COMMAND="echo 15"
 
  NOLM_AC_BRIGHTNESS_COMMAND="echo 15"
 
  NOLM_AC_BRIGHTNESS_COMMAND="echo 15"
  BRIGHTNESS_OUTPUT="/proc/acpi/video/VGA/LCDD/brightness"
+
  BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"
  
===CPU Powersaving===
+
===CPU frequency===
The eeepc "Super Hybrid Engine" as it's known under windows has a significant effect on powersaving. This underclocks the FSB for powersave/overclocks for performance and can be controlled via /sys/devices/platform/eeepc/cpufv which is provided by the module eeepc_laptop. It is included in the laptop-mode-tools package, and is activated and configured in the file /etc/laptop-mode/conf.d/eee-superhe.conf See also this [http://bbs.archlinux.org/viewtopic.php?id=74951 forum thread].
+
The CPU frequency is controlled through the file '''/etc/laptop-mode/conf.d/cpufreq.conf'''. The available frequency options can be found out by running:
  
As of the relase of kernel 2.6.32 the needed module eeepc_laptop doesn't work, to get this working you will need to add the following to the kernel line in the GRUB config (eg. /boot/grub/menu.lst):
+
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies
acpi_osi=Linux
+
  
The CPU frequency can be controlled by the file cpufreq.conf provided by laptop mode tools. A good value is ”T2” (75% speed) when on battery and ”minimum” (full speed) when on AC. However, using the cpufrequtils package (see below) is normally a better option, as the ondemand option automatically changes between the specified modes depending on system load.
+
This functionality requires the package '''cpufrequtils'''. The package also provides a daemon which can be used on its own, in which case '''/etc/conf.d/cpufreq''' should be edited to contain the desired options, and added to '''DAEMONS''' in '''/etc/rc.conf'''. If handling frequency scaling through '''laptop-mode-tools''', the cpufreq daemon should not be loaded, and its config file options can remain commented out, since the settings will come from '''/etc/laptop-mode/conf.d/cpufreq.conf'''.
  
===USB suspend===
+
Either way, cpufreq requires the kernel module '''acpi-cpufreq''' and some 'governors' ('''cpufreq_ondemand''' seems to be loaded by default, but there is also '''cpufreq_powersave'''). To load them at startup, add these modules to the '''MODULES''' array in '''/etc/rc.conf'''.
Tip: make use of the option to disable the suspending of some USB hardware (eg. 3g modems) by using lsusb to get the ID and then insert it in the configuration file.
+
  
==cpufrequtils==
+
===SHE===
To scale the CPU and possibly save a bit of power, you will want to set up cpufrequtils. The daemon provided with this script automatically handles the scaling. You can set the min_freq value higher (eg. 1000MHz) if you prefer things a bit more responsive while still conserving power. Note that this can also be handled by laptop-mode-tools if you prefer.
+
The eeepc's 'Super Hybrid Engine' has a significant effect on powersaving. This underclocks the FSB for powersave/overclocks for performance and can be controlled via the file '''/sys/devices/platform/eeepc/cpufv''' which is provided by the module '''eeepc_laptop'''.
 +
The relevant config file is '''/etc/laptop-mode/conf.d/eee-superhe.conf'''.
  
#pacman -S cpufrequtils
+
As of writing this (kernel 2.6.33), the module eeepc_laptop doesn't work as expected, see [[#Issues]].
#Edit /etc/conf.d/cpufreq <pre>min_freq="800MHz" max_freq="1.60GHz"</pre>
+
#modprobe acpi-cpufreq cpufreq_ondemand cpufreq_powersave
+
#Add these modules listed above to the MODULES=() array in rc.conf
+
#/etc/rc.d/cpufreq start
+
#Add cpufreq to the DAEMONS=() array in rc.conf
+
  
 +
===USB suspend===
 +
Config file: '''/etc/laptop-mode/conf.d/usb-autosuspend.conf'''
 +
Tip: make use of the option to disable the suspending of some USB hardware (eg. 3g modems) by using lsusb to get the ID and then insert it in the configuration file.
  
 
==Hotkeys==
 
==Hotkeys==
To get the hotkeys working (fn+F1 etc, touchpad lock, powerbutton shutdown, Super hybrid engine  toggle), install the [http://aur.archlinux.org/packages.php?ID=23318 acpi-eeepc-generic package] from AUR. Configuration is done in the file /etc/conf.d/acpi-eeepc-generic.conf.
+
Some work out of the box (see [[http://wiki.archlinux.org/index.php/Asus_Eee_PC_1005HA#Hotkeys]] for more).
 
+
===Wifi toggle===
+
To enable the toggling of the Wifi by pressing fn+f2, edit the acpi-eeepc-generic config file and change
+
COMMANDS_WIFI_TOGGLE=("/etc/acpi/eeepc/acpi-generic-toggle-wifi.sh")
+
to
+
COMMANDS_WIFI_TOGGLE=()
+
[http://code.google.com/p/acpi-eeepc-generic/wiki/Wireless Source].
+
 
+
===Sound volume hotkeys===
+
In order to get the hotkeys for muting and raising and lowering of the sound volume, edit /etc/conf.d/acpi-eeepc-generic.conf and replace the lines:
+
COMMANDS_MUTE=("alsa_toggle_mute")
+
COMMANDS_VOLUME_DOWN=("alsa_set_volume 5%-")
+
COMMANDS_VOLUME_UP=("alsa_set_volume 5%+")
+
with
+
COMMANDS_MUTE=("amixer set Master toggle")
+
COMMANDS_VOLUME_DOWN=("amixer set Master 10%-")
+
COMMANDS_VOLUME_UP=("amixer set Master 10%+")
+
 
+
Note that the value 10% can be any value you prefer, see the man page of amixer.
+
 
+
===Sleep===
+
If you have problems with the script provided in acpi-eeepc-generic, try '''pm-suspend''' instead.
+
 
+
To substitute '''pm-suspend''' for the acpi sleep script, edit
+
/etc/conf.d/acpi-eeepc-generic.conf and comment out the line that
+
reads:
+
 
+
COMMANDS_SLEEP=("/etc/acpi/eeepc/acpi-eeepc-generic-suspend2ram.sh")
+
 
+
Replace it with:
+
 
+
COMMANDS_SLEEP=("/usr/sbin/pm-suspend")
+
 
+
==Display settings==
+
Create the /etc/X11/xorg.conf file and add the following to it to enable Intel's framebuffer compression, which according to [http://www.lesswatts.org/projects/display-and-graphics/faq.php Lesswats.org] is supposed to save quite some power.
+
 
+
Section "Device"
+
  Identifier "Builtin Default intel Device 0"
+
  Driver "intel"
+
  Option "FramebufferCompression" "on"
+
  Option "AccelMethod" "EXA"
+
  Option "Tiling" "on"
+
EndSection
+
 
+
=Hardware=
+
==Ethernet==
+
Works with the stock kernel (2.6.33).
+
 
+
==WiFi==
+
Works with the stock kernel (2.6.33).
+
 
+
==Camera==
+
 
+
To enable/disable the camera:
+
 
+
  # enable
+
  echo 1 > /sys/devices/platform/eeepc/camera
+
  # disable
+
  echo 0 > /sys/devices/platform/eeepc/camera
+
 
+
If you really want camera to be disabled, take a look in devices section of BIOS.
+
 
+
Make sure that the module <tt>uvcvideo</tt> is loaded
+
 
+
To record video and take photos, you may use '''cheese''' or the [http://aur.archlinux.org/packages.php?ID=15272 '''wxcam'''] package.
+
 
+
To simply test the camera, you may use <tt>mplayer</tt>:
+
 
+
  mplayer -fps 15 tv://
+
 
+
The webcam works with Skype.
+
 
+
==Microphone==
+
The microphone works out of the box, it's just a matter of configuration. Run:
+
 
+
$ alsamixer
+
 
+
Press <F4> to go to the 'Capture' section. Navigate to the 'Capture' item using the right and left arrow keys and make sure 'LR Capture' appears. If it doesn't, press <Space>. The 'Capture' and 'Digital' levels are a trade-off between gain and static. I recommend setting to 70 and 75 (using the up and down arrow keys), respectivelly, but you can ajust this to your liking. Exit alsamixer pressing <ESC> and test it:
+
 
+
$ arecord /tmp/record.wav
+
 
+
Say something close enough to the microphone and hit <Ctrl+C> to stop recording. Play it with:
+
 
+
$ aplay /tmp/record.wav
+
 
+
If everything went well, save your settings (as root):
+
 
+
# alsactl store
+
 
+
Source: [http://bbs.archlinux.org/viewtopic.php?pid=495168#p495168]
+
  
 
=Hardware Info=
 
=Hardware Info=
==lspci==
+
'''lspci''' says:
 
+
$ lspci
+
 
00:00.0 Host bridge: Intel Corporation Pineview DMI Bridge
 
00:00.0 Host bridge: Intel Corporation Pineview DMI Bridge
 
00:02.0 VGA compatible controller: Intel Corporation Pineview Integrated Graphics Controller
 
00:02.0 VGA compatible controller: Intel Corporation Pineview Integrated Graphics Controller

Revision as of 14:03, 22 May 2010

Device Status Modules
Video Working i915
Ethernet Working atl1c
Wireless Working ath9k
Audio Working snd_hda_intel
Camera Working uvcvideo
Card Reader ???
Function Keys Some working

Adapted from 1005HA, please do edit as needed!

The stock kernel (as of writing, 2.6.33) seems to support all the hardware in the 1005P, although not without problems.

Installation

  1. Installing via PXE works well. It requires another computer to use as PXE host, and some configuration.
  2. Installing from USB: ethernet does not work with the 2009.08 img files (the latest as of writing this), so the driver has to be fetched separately if needed ([1]).

Xorg

Driver

Video driver: xf86-video-intel

HAL

As of this writing, HAL needs to be installed and running in order for the input devices to be autodetected.

DPI setting

A good comfortable setting would be 96dpi or 75dpi if you like your fonts really small. An easy way to set your DPI would be to add this to the end of your xserverrc (located in /etc/X11/xinit/).

 exec /usr/bin/X -nolisten tcp -dpi 96

Graphic Performance

See [Performance] and [setting]. The short story is that it might be useful to add the following to the Device section of /etc/X11/xorg.conf:

 Driver "intel"
 Option "AccelMethod" "exa" 
 Option "MigrationHeuristic" "greedy"
 Option "FramebufferCompression" "on"
 Option "Tiling" "on"
 Option "XvMC" "on"

To let X know where the XvMC library is, run:

 # echo /usr/lib/libIntelXvMC.so > /etc/X11/XvMCConfig

Touchpad

It works (driver: xf86-input-synaptics). For additional stuff, see [[2]].

xrandr

For a nice GUI tool, you can try lxrandr.

Switch to external monitor (VGA port):

xrandr --output LVDS1 --off --output VGA1 --auto

Switch back to eeepc's LCD:

xrandr --output LVDS1 --auto --output VGA1 --off

Powersaving and ACPI

Your best bet is to disable all hardware you don't intend to use (to access the BIOS settings, press F2 after rebooting).

laptop-mode-tools

Laptop mode is an easy way to setup most of the availiable power saving options, which include spinning down the hard drive and adjusting the power saving modes of the harddrive and CPU, as well as autosuspending the USB-ports, setting screen brightness, configuring the eee's own 'Super Hybrid Engine', etc.

Setup

# pacman -S laptop-mode-tools

The main configuration file is /etc/laptop-mode/laptop-mode.conf, plus there are several separate configuration files in /etc/laptop-mode/conf.d/ for the various power saving modules managed by laptop-mode-tools. The files are well commented, so it should be easy to set everything up as needed. (For more information, see Laptop Mode Tools)

To make the daemon start at boot, add laptop-mode to the DAEMONS array in /etc/rc.conf.

LCD brightness

The relevant config file is /etc/laptop-mode/conf.d/lcd-brightness.conf. Brightness values are between 0 (darkest) and 15 (brightest). An example of usable settings:

BATT_BRIGHTNESS_COMMAND="echo 1"
LM_AC_BRIGHTNESS_COMMAND="echo 15"
NOLM_AC_BRIGHTNESS_COMMAND="echo 15"
BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"

CPU frequency

The CPU frequency is controlled through the file /etc/laptop-mode/conf.d/cpufreq.conf. The available frequency options can be found out by running:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies

This functionality requires the package cpufrequtils. The package also provides a daemon which can be used on its own, in which case /etc/conf.d/cpufreq should be edited to contain the desired options, and added to DAEMONS in /etc/rc.conf. If handling frequency scaling through laptop-mode-tools, the cpufreq daemon should not be loaded, and its config file options can remain commented out, since the settings will come from /etc/laptop-mode/conf.d/cpufreq.conf.

Either way, cpufreq requires the kernel module acpi-cpufreq and some 'governors' (cpufreq_ondemand seems to be loaded by default, but there is also cpufreq_powersave). To load them at startup, add these modules to the MODULES array in /etc/rc.conf.

SHE

The eeepc's 'Super Hybrid Engine' has a significant effect on powersaving. This underclocks the FSB for powersave/overclocks for performance and can be controlled via the file /sys/devices/platform/eeepc/cpufv which is provided by the module eeepc_laptop. The relevant config file is /etc/laptop-mode/conf.d/eee-superhe.conf.

As of writing this (kernel 2.6.33), the module eeepc_laptop doesn't work as expected, see #Issues.

USB suspend

Config file: /etc/laptop-mode/conf.d/usb-autosuspend.conf Tip: make use of the option to disable the suspending of some USB hardware (eg. 3g modems) by using lsusb to get the ID and then insert it in the configuration file.

Hotkeys

Some work out of the box (see [[3]] for more).

Hardware Info

lspci says:

00:00.0 Host bridge: Intel Corporation Pineview DMI Bridge 00:02.0 VGA compatible controller: Intel Corporation Pineview Integrated Graphics Controller 00:02.1 Display controller: Intel Corporation Pineview Integrated Graphics Controller 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.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 Tigerpoint LPC Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GR/GH (ICH7 Family) SATA AHCI Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 01:00.0 Ethernet controller: Atheros Communications Atheros AR8132 / L1c Gigabit Ethernet Adapter (rev c0) 02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)

Issues

The eeepc_laptop module can only be loaded after appending 'acpi_osi=Linux' to the kernel line in /boot/grub/menu.lst. This is needed in order for the 'Super Hybrid Engine' (eee-she|eee-superhe) to work, and it also fixes the screen brightness levels, however it disables ethernet.