ASUS Eee PC 1000HE

From ArchWiki
Revision as of 16:44, 3 September 2011 by James Eder (Talk | contribs) (remove contractions)

Jump to: navigation, search
Device Status Modules
Intel 945GM Working xf86-video-intel
Ethernet Working atl1e
Wireless Working ath9k or rt2860sta
Bluetooth Working btusb
Audio Working snd_hda_intel
Camera Working uvcvideo
Card Reader Working
Function Keys Working

First, feel free to help out!

Secondly, this wiki page assumes you are using kernel 2.6.29 or greater.

The stock 2.6.29 kernel works just fine. There is no need for a customized eeePC kernel. These customized kernels used to contain patches to allow the hotkeys and whatnot to work. All of these features have since been merged into the standard kernel.


Use the 2009.02 installation USB image (see Install_from_USB_stick). There is out-of-the-box support for the wired and wireless NICs. There are no special instructions for installation. For an in-depth guide on the installation see the Beginners_Guide.


This example uses hotplugging. Make sure that you have hal installed and started. Also, do not forget to add hal to the DAEMONS=() array in rc.conf!

Sample Configuration

Note: The 1000HE also functions correctly without using a xorg.conf!

Here is a basic xorg configuration file. Using xrandr, you can switch between the lcd + external display.

Section "ServerLayout"
  Identifier     " Configured"
  Screen      	0  "Screen0"

Section "ServerFlags"
  Option "DontZap"	"false"

Section "Files"
   ModulePath   "/usr/lib/xorg/modules"
   FontPath     "/usr/share/fonts/local"
   FontPath     "/usr/share/fonts/misc"
   FontPath     "/usr/share/fonts/100dpi:unscaled"
   FontPath     "/usr/share/fonts/75dpi:unscaled"
   FontPath     "/usr/share/fonts/TTF"
   FontPath     "/usr/share/fonts/Type1"

Section "Module"
    Load  "dri"
    Load  "glx"
    Load  "extmod"
    Load  "record"
    Load  "dbe"
    Load  "dri2"

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"

Section "Device"
  Identifier  "IntelCard"
  Driver      "intel"
  VendorName  "Intel Corporation"
  BoardName   "Mobile 945GME Express Integrated Graphics Controller"
  BusID       "PCI:0:2:0"

Section "Monitor"
  Identifier "Monitor0"
  VendorName "ASUS"
  ModelName  "eeePC 1000he"
  Modeline   "1024x600" 48.86 1024 1064 1168 1312 600 601 604 622 -Hsync +Vsync

Section "Screen"
  Identifier "Screen0"
  Device     "IntelCard"
  Monitor    "Monitor0"
  SubSection "Display"
    Viewport   0 0
    Depth     1
  SubSection "Display"
    Viewport   0 0
    Depth     4
  SubSection "Display"
    Viewport   0 0
    Depth     8
  SubSection "Display"
    Viewport   0 0
    Depth     15
  SubSection "Display"
    Viewport   0 0
    Depth     16
  SubSection "Display"
    Viewport   0 0
    Depth     24
    Virtual 1280 1024 #Set to resolution of CRT/External

DPI Settings

In general the autodetected DPI does not fit the smaller resolution very well at all. 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 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 configuration file to tell the X server where the XvMC library is:

echo /usr/lib/ > /etc/X11/XvMCConfig


  1. Copy /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi to /etc/hal/fdi/policy
  2. Edit /etc/hal/fdi/policy/10-keymap.fdi and change <merge key="input.xkb.layout" type="string">us</merge> accordingly


  1. Install the xf86-input-synaptics package
  2. Create /etc/hal/fdi/policy/11-x11-synaptics.fdi with the following contents:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
   <match key="info.product" contains="ETPS/2 Elantech Touchpad">
     <merge key="input.x11_driver" type="string">synaptics</merge>
     <merge key="input.x11_options.SHMConfig" type="string">on</merge>
     <merge key="input.x11_options.MaxSpeed" type="string">1.00</merge>
     <merge key="input.x11_options.MinSpeed" type="string">0.75</merge>
     <merge key="input.x11_options.Emulate3Buttons" type="string">on</merge>
     <merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
     <merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
     <merge key="input.x11_options.TapButton1" type="string">1</merge>
     <merge key="input.x11_options.TapButton2" type="string">2</merge>
     <merge key="input.x11_options.TapButton3" type="string">3</merge>
     <merge key="input.x11_options.LockedDrags" type="string">1</merge>


For a nice GUI tool, try lxrandr; it is very simple to use!

Switch to External Monitor:

xrandr --output LVDS --off --output VGA --auto

Switch back to eeepc's LCD:

xrandr --output LVDS --auto --output VGA --off



I got the best powersaving from a combination of laptop-mode-tools.

  • Use laptop-mode to control all power saving features. Enable bluetooth.conf, cpufreq.conf, hal-polling.conf, intel-hda-powersave.conf, usb-autosuspend.conf, lcd-brightness.conf
    • For lcd-brightness, use the following options. Adjust your max/min brightness as suits you. The maximums are located in the same directory as the control file.
    • The intel-hda-powersave has a side-effect. Short sounds such as IM notifications may not come through, or will be messed up as it starts playing the sound before the sound card wakes up.
  • The rt2860sta wireless has pretty good powersaving, but it is a tradeoff between throughput<->power usage. Minimum power usage gives a pretty low throughput of ~11KB/s when I would normally get >1MB/s.
iwpriv ra0 set PSMode=MAX_PSP
    • MAX_PSP - maximum power saving
    • CAM - seems to be normal
    • FAST_PSP - ? untested, probably a medium value.
  • The eeepc "Super Hybrid Engine" as it is 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 eeepc_laptop. The following is a laptop-mode configuration for it that controls it automatically.
#! /bin/sh

if [ x$SUPERHE_CONTROL_FILE = x ]; then

if [ x$CONTROL_SUPERHE = x1 ]; then
    if [ $ON_AC -eq 1 ]; then
        if [ $ACTIVATE -eq 1 ]; then
# Configuration file for Laptop Mode Tools module eee-superhe
# For more information, consult the laptop-mode.conf(8) manual page.

# Control FSB speed. Requires eeepc_laptop kernel module loaded.
# 2 is powersave
# 1 is normal
# 0 is performance


# If your system has the control file located at another point
# configure it here


Install the acpi-eeepc-generic package from AUR (see AUR User Guidelines). You must install version 0.9 or greater, as previous versions do not have support for the 1000HE.


Use pm-suspend instead of the script in acpi-eeepc-generic. The acpi-eeepc-generic suspend script will cause the system to re-suspend when being woken up or when exiting X!

To substitute pm-suspend for the acpi sleep script, edit /etc/conf.d/acpi-eeepc-generic.conf and comment out the line that reads:


Replace it with:



To scale the CPU and possibly save a bit of power, you will want to set up cpufrequtils.

  1. pacman -S cpufrequtils
  2. Edit /etc/conf.d/cpufreq
    min_freq="1000MHz" max_freq="1.67GHz"
    (or 1.60GHz if you have the Atom N270)
  3. modprobe acpi-cpufreq cpufreq_ondemand cpufreq_powersave
  4. Add these modules listed above to the MODULES=() array in rc.conf
  5. /etc/rc.d/cpufreq start
  6. Add cpufreq to the DAEMONS=() array in rc.conf



WiFi should work out of the box with the stock kernel, but if you do have trouble, try upgrading the rt2860sta module by installing the rt2860 package.

With the 2.6.33 kernel, there are 2 drivers loaded, producing errors like

 # ifconfig wlan0 up
 SIOCSIFFLAGS: no such file or directory

and the

 Apr 24 13:52:28 ismene kernel: phy0 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.

output in /var/log/errors.log, preventing any use of the WiFi. The issue is to unload the rt2800lib and rt2800pci modules. Blacklist them in your /etc/rc.conf to avoid them to be loaded on the next reboot:

 MODULES=(!rt2800pci !rt2800lib)

Then either use

 # modprobe -r rt2800pci
 # modprobe -r rt2800lib

or reboot to get your WiFi working.

Obsolete Methods

rt2860sta supports configuration by configuration or iwpriv. Both of these are obsolete and the standard wireless extension tools should be used instead (wireless_tools and wpa_supplicant). If you have an issue with these tools, then it is suggested that you file a bug with the rt2860sta driver.

As a workaround, you can use the obsolete interfaces. If you still have difficulties associating with some networks, try installing the RT2860STA.DAT file into /etc/Wireless/RT2860STA/RT2860STA.DAT. You can find this file in the source tarball in the AUR's rt2860 package. Wicd supports the iwpriv backend



To turn the bluetooth radio on/off:

 # enable
 $ echo 1 > /sys/class/rfkill/rfkill1/state
 # disable
 $ echo 0 > /sys/class/rfkill/rfkill1/state

Install the bluez-utils and bluez-libs packages, then modprobe btusb.

Note: in the test repository bluez-utils and bluez-libs are merged into a single package, bluez.

See the Arch Linux Bluetooth and Bluetooth Mouse wiki pages for more information about configuring and using Bluetooth devices.

Template:Box Note


To enable/disable the camera:

 # enable
 echo 1 > /sys/devices/platform/eeepc/camera
 # disable
 echo 0 > /sys/devices/platform/eeepc/camera

Make sure that the module uvcvideo is loaded

To record video and take photos, you may use cheese or the wxcam package.

To simply test the camera, you may use mplayer:

 mplayer -fps 15 tv://

The webcam is reported to work with Skype.



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.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)
01:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)
03:00.0 Ethernet controller: Attansic Technology Corp. L1e Gigabit Ethernet Adapter (rev b0)
  • lspci for another user produced "Network controller: RaLink RT2860" rather than the Atheros chipset in the output above


Laptop suspends while "waking up"

  • Use pm-suspend instead of acpi script

If you have any other issues, make sure you are using kernel 2.6.29 or greater.