Asus Eee PC 701

The Asus Eee PC is the first in a new generation of subnotebooks. The current models feature 2, 4 or 8GB of flash storage, 512MB or 1GB of RAM, wireless and wired networking, external video connector, sound and 3 USB ports. It has been confirmed to work with linux 2.6.28-rc9 and 2.6.27-rc8, although toggle of wifi causes a kernel panic in both.

Hardware
/proc/cpuinfo

lspci

lsusb

Kernel
The kernel configuration used by the default OS can be found at (look for the file called config- ). You can use this as a basis for configuring your own kernels. Since the storage on these devices is flash based, you'll want to avoid journaling filesystems to reduce the number of writes to disk.

There are some specific options that you should keep in mind while configuring kernel manually.

Framebuffer
The eeePC BIOS doesn't report its native screen resolution. With uvsafb, only 640x480 mode is available.

/sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes

In order to get the native 800x480 resolution on the framebuffer, you will need uvesafb driver and 915resolution to hack the video BIOS.

uvesafb and userland tools
Following directions from Spock's page, enable the the following features in your kernel. Note that Userspace Vesa VGA support must be a module, not built-in.

Save the configuration and rebuild the kernel. Don't install it yet.

Add the 915resolution package to package.keywords so that you use the latest version:

And install the following packages:

Rebuild the kernel and install it. Do not put any video mode selection on the kernel parameters line.

Using the custom video mode
As root, check available video modes using:

This will list the available modes according to the VESA BIOS. You probably don't want of 1920x1440 mode (5c), so this article with use its code to set up the custom resolution.

For the impatient, here is the shortest way to test it, run:

You should now have a nice framebuffer with a neat font at native resolution. Now, to make your changes persistent (i.e. load them automatically), edit these two files :

add it to init with:

Et voilà !

X.org
You can use the original xorg.conf with just one modification:

Wired Networking
For wired networking, use the atl2 kernel driver. This driver is now available in the kernel (>=2.6.28). Note the version; you'll currently have to add sys-kernel/gentoo-sources to /etc/portage/package.keywords to get the latest.

Wireless
You may need to determine which wireless chip your eee pc uses, using:

For atheros cards, see Atheros 5xxx.

For rtl8187se cards, see RTL8187SE.

Wifi on/off Script
There is a script, that allows to switch wifi on/off without rebooting.

Put this script somewhere in and make it executable with:

Then, to turn the wifi on, run:

Make sure that you have compiled PCI Express Hotplug as module in kernel. Also this script uses acpi_fakekey which you can find eg. as part of the package in the Sunrise overlay.

Asus' Modified ACPI Module
An ebuild for Asus' modifed asus_acpi module for the EeePC has been provided by AllenJB in his overlay. You can also find this ebuild in the Arcon overlay.

Eee kernel module
The eee kernel module is a highly experimental module that changes the FSB speed to allow the processor to run at 900MHz instead of its downclocked rate. You can find ebuild for this module in Arcon overlay.

Install
First you need to install Arcon overlay

Install and load the eee module:

To ensure the module is loaded on reboot, add it to :

Use
After modprobing the module there will appear interface, which will provide access to controlling fan speed and fsb frequency.

Overclock
The following is a sample script which will allow you to overclock the CPU to 900MHz. /usr/local/bin/oclock

Battery
The EeePC incorrectly reports its remaining capacity not in mAh but in % with 5-10% steps. This confuses some battery applets and makes it difficult to calculate the remaining battery. /proc/acpi/battery/BAT0/*

The "last full capacity", "design capacity warning", "design capacity low" and "remaining capacity" values are percentages (%), not milliamp hours (mAh).

Webcam
To use the webcam, you'll first need to ensure it's enabled in the bios or via the asus_acpi module (see above).

The kernel module required for the webcam is the linux-uvc module, and for viewing the webcam output, you can use luvcview (or cheese). You can install both of these packages with:

These packages may be marked testing (~arch). For details on how to unmask them, please see the Mixing Software Branches documentation.

To load the kernel module for the camera, run:

To enable it via the acpi module, run:

You should now have a device. You can also check the output of dmesg - you should get something like this: dmesg Output

If all goes well you can now test the cam by running:

Sound
Sound should work with hda-intel alsa driver. See the official Gentoo Alsa Guide.

The alsa drivers with kernel 2.6.24 will not work, you must disable them and use the alsa-driver package at least 1.0.16 this works.

For kernel in vanilla-sources-2.6.26_rc7 hda_intel is working correctly.

Switching Capture On
By default (under gentoo-sources-2.6.25-r7 at least), sound capture (for the microphones) is switched off in the mixer, and alsamixer doesn't provide a control to switch it on. You can enable it manually by running:

To have this done automatically for you, you can modify your : Add this function

and just above "return 0", before the end of start

Enabling BootBooster
BootBooster allows a system to start (with a 1/2 second delay) the MBR of the harddrive. To enable this feature, you must create a partition for it to use, and change the type to 0xEF. The bios can still be reached by hitting F2 as it starts. This partition seems to be used to cache the results of the bios post, as well as containing a copy of the bios & video bios [seen by using strings on the partition]. As far as I can tell, this partition has nothing to do with Intel's EFI (Especially since it is populated by the bios), and just reuses the EFI partition id. Thanks to [mbm] on the eeepc freenode irc channel for your help.

The fileformat of this partition appears to be a memory dump (Probably created right after the bios post has been complete). This memory dump starts at the 0x200 address. source