ASUS Eee PC 1000HE
|Wireless||Working||ath9k or rt2860sta|
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!
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 "X.org Configured" Screen 0 "Screen0" EndSection Section "ServerFlags" Option "DontZap" "false" EndSection 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" EndSection Section "Module" Load "dri" Load "glx" Load "extmod" Load "record" Load "dbe" Load "dri2" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" EndSection Section "Device" Identifier "IntelCard" Driver "intel" VendorName "Intel Corporation" BoardName "Mobile 945GME Express Integrated Graphics Controller" BusID "PCI:0:2:0" EndSection Section "Monitor" Identifier "Monitor0" VendorName "ASUS" ModelName "eeePC 1000he" Modeline "1024x600" 48.86 1024 1064 1168 1312 600 601 604 622 -Hsync +Vsync EndSection Section "Screen" Identifier "Screen0" Device "IntelCard" Monitor "Monitor0" SubSection "Display" Viewport 0 0 Depth 1 EndSubSection SubSection "Display" Viewport 0 0 Depth 4 EndSubSection SubSection "Display" Viewport 0 0 Depth 8 EndSubSection SubSection "Display" Viewport 0 0 Depth 15 EndSubSection SubSection "Display" Viewport 0 0 Depth 16 EndSubSection SubSection "Display" Viewport 0 0 Depth 24 Virtual 1280 1024 #Set to resolution of CRT/External EndSubSection EndSection
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
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/libIntelXvMC.so > /etc/X11/XvMCConfig
- Copy /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi to /etc/hal/fdi/policy
- Edit /etc/hal/fdi/policy/10-keymap.fdi and change <merge key="input.xkb.layout" type="string">us</merge> accordingly
- Install the xf86-input-synaptics package
- 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"> <device> <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> </match> </device> </deviceinfo>
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.
BATT_BRIGHTNESS_COMMAND="echo 3" LM_AC_BRIGHTNESS_COMMAND="echo 15" NOLM_AC_BRIGHTNESS_COMMAND="echo 15" BRIGHTNESS_OUTPUT="/sys/devices/virtual/backlight/eeepc/brightness"
- 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 SUPERHE_CONTROL_FILE=/sys/devices/platform/eeepc/cpufv fi if [ x$CONTROL_SUPERHE = x1 ]; then if [ $ON_AC -eq 1 ]; then if [ $ACTIVATE -eq 1 ]; then SUPERHE_VALUE="$LM_AC_SUPERHE" else SUPERHE_VALUE="$NOLM_AC_SUPERHE" fi else SUPERHE_VALUE="$BATT_SUPERHE" fi echo $SUPERHE_VALUE > $SUPERHE_CONTROL_FILE fi
# # 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. CONTROL_SUPERHE=1 # 2 is powersave # 1 is normal # 0 is performance BATT_SUPERHE=2 LM_AC_SUPERHE=0 NOLM_AC_SUPERHE=0 # If your system has the control file located at another point # configure it here # SUPERHE_CONTROL_FILE=
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.
- pacman -S cpufrequtils
- Edit /etc/conf.d/cpufreq
min_freq="1000MHz" max_freq="1.67GHz"(or 1.60GHz if you have the Atom N270)
- 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
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
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:
Then either use
# modprobe -r rt2800pci # modprobe -r rt2800lib
or reboot to get your WiFi working.
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.
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.