ASUS Eee PC
This should be the page to gather all information on installing and running arch on the Asus Eee. Why? Because the 'old' page is a bit confusing/outdated, wrongly named (makes finding it in a search hard) and the title limits it to just the install precedure.
The 'old' page should be cleaned up and merged into this page, and any future information should also go on this page. If no one that actualy owns an Eee want to do it, then I (Mr.Elendig) can do it, but it will take some time.
Until this page actualy get some contents, go to Installing Arch Linux on the Asus EEE PC.
- 1 Eee 700 Series and 900
- 2 Eee 900A
- 3 Eee 901, 904, and 1000(H)
- 4 Eee 904HA
- 5 Eee T91MT
- 6 Eee T101MT
- 7 Eee 1000HA
- 8 Eee 1000HE
- 9 Eee 1001P
- 10 Eee 1001PX
- 11 Eee 1005HA
- 12 Eee 1005P(E)
- 13 Eee 1015B
- 14 Eee 1015 PE/PEM
- 15 Eee 1015 PX
- 16 Eee 1015 PN
- 17 Eee 1201T
- 18 Eee 1201NL
- 19 Eee 1215n
- 20 Eee 1215P
- 21 Eee 1215B
Eee 700 Series and 900
This should be filled with the majority of the content from Installing Arch Linux on the Asus EEE PC.
Installation can be achieved from an external cdrom drive, or from a usb stick configured as described in Install from USB stick
The wireless module (ath5k) is now part of the stock kernel. The stock kernel performs very well on the eeepc. You do not need to install any extra packages from AUR for wireless or install any special kernel.
During installation make sure you add the following packages in addition to the base packages for wireless to work.
Thats all you now need for a working eee.
If you do want an optimized Pentium-M kernel
toofishes created a repository for the Eee. You can find some basic packages like a Pentium-M optimized kernel. Add
[eee] Server = http://code.toofishes.net/packages/eee
/etc/pacman.conf to use the repository.
Simply use pacman to install the package you need. Install the packages with this command:
# pacman -S kernel-eee
Then, add the following to
/boot/grub/menu.lst; note that no initrd is needed:
# (2) Arch Linux title Arch Linux EEE kernel root (hd0,0) kernel /boot/vmlinuzeee root=/dev/sda1 ro
Restart and select Arch Linux EEE kernel from the grub boot menu.
Xorg works without an xorg.conf on the eeepc fine with the new hotplugging system.
# pacman -S xorg xf86-input-keyboard xf86-input-synaptics xf86-video-intel
# /etc/rc.d/hal start
and add hal to the daemons line of your /etc/rc.conf file
If sound does not work in a new installation add the following line to
options snd-hda-intel model=3stack-dig
The 900A is a 900 with a Intel Atom CPU and new hardware (the most is like in 901), you can get help in Asus Eee PC 900A.
Eee 901, 904, and 1000(H)
The 901, 904, and 1000(H) all seem to share much-of, if not all the same hardware. The steps for setting up Arch Linux are as follows. NB. There is a separate wiki page as well dedicated to the 901.
Setting up the Network
Two PKGBUILD files are available in the AUR to help you get your network interfaces up and running. The first is delcake's "atl1e" drivers for your wired ethernet, and the second is jbooth's "eeert2860" drivers for wireless.
delcake's PKGBUILD is located here in the AUR. Note that in order to build this package, you will need to get the unrar and unzip packages from the mirror of you choice, as well as the LinuxDrivers.zip source code linked on the AUR page unless you did your wireless drivers first.
- Transfer the PKGBUILD to your Eee PC. Get the source files too if you do not have internet yet.
- Install the unrar and unzip packages if you do not already have them.
- Issue a 'makepkg' command at the location of the PKGBUILD.
If all goes well, a .pkg.tar.gz file that starts with the name atl1e will have been created in the same folder.
As root, run 'pacman -U <package name>.pkg.tar.gz' to install your newly created module. In order to detect it, run both 'depmod -a' and 'modprobe atl1e' as root in that order.
At this point, you should be able to issue an 'ifconfig -a' command and see your brand new eth0 device staring back at you. Don't forget to add atl1e to your modules list in /etc/rc.conf to automatically load your ethernet module during boot.
- WARNING: You will need to recompile this module any time you do a kernel upgrade, so hang on to that PKGBUILD and zip file.
jbooth's PKGBUILD is located here in the AUR. Note that in order to build this package, you will need to get the wireless_tools package from the mirror of your choice, as well as Ralink's drivers listed under the sources section unless you did your wired drivers first.
- Transfer the PKGBUILD to your Eee PC. Get the source files too if you do not have internet yet.
- Install the wireless_tools package if you do not already have it.
- Issue a 'makepkg' command at the location of the PKGBUILD.
Hopefully, the makepkg command went through without a hitch, and a .pkg.tar.gz file will have been created in the same folder.
As root, run 'pacman -U <package name>.pkg.tar.gz' to install your newly created module. In order to detect it, run both 'depmod -a' and 'modprobe rt2860sta' as root in that order.
Now you should see your ra0 wireless device in the output of 'ifconfig -a'. As root, run 'ifconfig ra0 up' to bring up the interface for configuration.
- Still no ra0 device? Make sure that the WLAN device is enabled in your BIOS.
- WARNING: You will need to recompile this module any time you do a kernel upgrade, so hang on to the PKGBUILD and .tar.bz2 file.
Eee 901 20G lsmod and lspci
Note : This section was moved from the 70x/900 page.
The following are from a stock ASUS EeePC 901 20G Linux version:
Module Size Used by acpi_cpufreq 5004 0 freq_table 1988 1 acpi_cpufreq usb_storage 22980 0 libusual 6352 1 usb_storage pciehp 31172 0 pci_hotplug 9672 1 pciehp ehci_hcd 25420 0 uhci_hcd 18636 0 usbhid 13444 0 usbcore 91992 6 usb_storage,libusual,ehci_hcd,uhci_hcd,usbhid snd_pcm_oss 33568 0 snd_mixer_oss 13056 1 snd_pcm_oss rt2860sta 468248 1 atl1e 26388 0 fuse 34516 0 asus_acpi 6560 0 button 5648 0 processor 19820 1 acpi_cpufreq battery 7940 0 ac 3524 0 autofs4 15876 0 sr_mod 13284 0 cdrom 30624 1 sr_mod snd_hda_intel 284112 0 snd_pcm 50696 2 snd_pcm_oss,snd_hda_intel snd_timer 15556 1 snd_pcm snd_page_alloc 6728 2 snd_hda_intel,snd_pcm snd_hwdep 6084 1 snd_hda_intel snd 34852 6 snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_pcm,snd_timer,snd_hwdep soundcore 3744 1 snd genrtc 6028 0
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.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (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) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 01:00.0 Network controller: RaLink RT2790 Wireless 802.11n PCIe 03:00.0 Ethernet controller: Atheros Corp. L1e Gigabit Ethernet Adapter (rev b0)
Things that "just work":
- Wlan (ath9k is part of the kernel; some use brcmsmac)
- Graphics (with kms and dri2, using the xf86-video-ati driver)
- Webcam (using v4l)
- Suspend-to-RAM (after installing acpid; maybe need to replace SLPB with SBTN in /etc/acpi/handler.sh)
- Cardreader (but keucr is in staging, thus taints the kernel. PyroPeter experienced crashes while he inserted or removed sd cards)
- Bluetooth (after installing bluez)
- CPU Frequency Scaling (manually add powernow-k8 to MODULES array in /etc/rc.conf)
- TouchPad (support multi-touch after installing xf86-input-synaptics)
# supposed to help against following msg in dmesg: # SP5100 TCO timer: mmio address 0xbafe00 already in use blacklist sp5100_tco # if you don't need the sd-card reader you may want to blacklist # keucr. it is in staging, thus taints the kernel blacklist keucr # if you find "ACPI: resource piix4_smbus [io 0x0b00-0x0b07] # conflicts with ACPI region SMRG [io 0xb00-0xb0f]" # in /var/log/messages.log ,try to uncomment the following line #blacklist i2c_piix4
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Complex 00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Device 9805 00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Wrestler HDMI Audio [Radeon HD 6250/6310] 00:04.0 PCI bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Port 00:05.0 PCI bridge: Advanced Micro Devices [AMD] Family 14h Processor Root Port 00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] 00:12.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:12.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:13.0 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 00:13.2 USB controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller 00:14.0 SMBus: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller (rev 42) 00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) (rev 40) 00:14.3 ISA bridge: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller (rev 40) 00:14.4 PCI bridge: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge (rev 40) 00:15.0 PCI bridge: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) 00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 0 (rev 43) 00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 1 00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 2 00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 3 00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 4 00:18.5 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 6 00:18.6 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 5 00:18.7 Host bridge: Advanced Micro Devices [AMD] Family 12h/14h Processor Function 7 01:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01) 02:00.0 Ethernet controller: Atheros Communications Inc. AR8152 v2.0 Fast Ethernet (rev c1)
01:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01) 02:00.0 Ethernet controller: Atheros Communications Inc. AR8152 v2.0 Fast Ethernet (rev c1) 03:00.0 USB controller: ASMedia Technology Inc. Device 1040
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 13d3:5702 IMC Networks UVC VGA Webcam
power button button/power PBTN 00000080 00000000 Fn+F1 button/sleep SBTN 00000080 00000000 Fn+F2 button/wlan WLAN 00000080 00000000 Fn+F3 PNP0C14:00 000000d2 00000000 Fn+F4 Fn+F5 video/brightnessdown BRTDN 00000087 00000000 Fn+F6 video/brightnessup BRTUP 00000086 00000000 Fn+F7 video/birghtnesszero BZRO 00000088 00000000 K Fn+F8 video/switchmod VMOD 00000080 00000000 K Fn+F9 button/prog1 PROG1 00000080 00000000 K Fn+F10 button/mute MUTE 00000080 00000000 K Fn+F11 button/volumedown VOLDN 00000080 00000000 K Fn+F12 button/volumeup VOLUP 00000080 00000000 K
After running alsaconf the graphics card was the default audio output, so I had to create
/etc/asound.conf with the following contents:
defaults.ctl.card 1 defaults.pcm.card 1 defaults.timer.card 1
Volume function key for alsa: (add following code befor last *) in /etc/apci/handler.sh)
button/mute) case "$2" in MUTE) amixer set Master toggle ;; esac ;; button/volumedown) case "$2" in VOLDN) amixer set Master 2%- ;; esac ;; button/volumeup) case "$2" in VOLUP) amixer set Master 2%+ ;; esac ;;
Eee 1015 PE/PEM
The Eee 1015 series laptops come with a 1024x600 LED display and a Dual Core Intel Atom processor (N550). They also have a Braodcom wireless card and an Atheros Ethernet port.
(Work in progress) To install Arch on the Asus Eee 1015 series you need to use an external cd-rom drive or a usb-stick. The partition created by Asus on my 1015 PEM is as follows:
Number Start End Size Type File System Flags 1 1049kb 107Gb 107Gb primary NTFS 2 107Gb 123Gb 16.1Gb primary fat32 hidden 3 123Gb 250Gb 127Gb primary NTFS 4 250Gb 250Gb 21.2Gb primary
Results may vary. The first partition was the Windows 7 installation. The second is the recovery partition with splashtop. Removing this second partition will cause the fast-start Linux to stop working. The third is Windows D:\ drive and the last one is the boot partition for Windows 7.
Due to the limitations of having 4 partitions per drive I installed arch on the first 107Gb partition and created a swap file instead of a partition as per Swap.
To enable acpi you need to edit menu.lst and add acpi_osi=Linux to the kernel line like so:
kernel /boot/vmlinuz-linux root=/dev/sda1 ro acpi_osi=Linux
This enabled you to trigger devices in /sys/devices/platform/eeepc/.
In order to get CPU frequency scaling as well as the proper special-purpose Eee PC module loaded, you can use the following MODULES statement in /etc/rc.conf:
MODULES=( acpi-cpufreq cpufreq_ondemand eeepc-wmi )
If you get double keypresses for with your function keys (like the mute key, etc.), add the following into
/etc/modprobe.d/blacklist.conf (Create this file if it isn't present)
Eee 1015 PX
Eee 1015 PN
Things that work out of the box: Wifi, Ethernet, Video (max resolution available with basic Xorg and xfce packages installed), Touchpad, Keyboard (Fn keys not working).
Things that need work: Audio, Fn keys, Power management.
Arch setup encountered no problems, GRUB installed successfully with no damages to Windows (need to uncomment the windows lines in in /boot/grub/menu.lst) and Express Gate.
With the xfce4 desktop environment audio doesn't work by default (didn't test with other de). To fix this, add the following lines in your ~/.asoundrc:
defaults.pcm.card 1 defaults.ctl.card 1
(Credit to Touko Korpela from the Debian mailing list)
Youtube videos with the default ati driver work flawlessly with a resolution of 720p, while with 1080p playback isn't smooth anymore. Didn't test with the catalyst drivers, maybe a better playback could be achieved.
ACPI executes correctly and returns remaining battery life. Cpufreq doesn't seem to work, hence making it impossible for Jupiter () to manage the Super Hybrid Engine. However, from the Jupiter tray icon, screen orientation, resolution and touchpad can be toggled and modified.
By suggestion from the Debian mailing list, I tried loading "powernow-k8" with modprobe to get cpufreq working. This is apparently a bug in the driver detection mechanism of cpufreq, and should be reported upstream, I guess. After loading that module, cpufreq-info seems to work. Have not tried getting Jupiter to manage SHE yet after that.
Suspend and hibernate work OK, with one tiny bug: I can't seem to get the SD-card reader working after resuming from hibernate. After a reboot, it works fine.