Translations: French, German, Spanish, Portuguese

Extending flash memory life

It is a commonly accepted view that SSD devices can only be written a limited number of times before they die, and while that may have been a concern for earlier generations of devices where that limit was relatively low, modern SSDs, such as the one in the Eee increase that number sufficiently so that they will last many years before they die, outlasting any HDD. Before you spend herculean efforts to extend your Eee's flash lifespan, consider this article: http://wiki.eeeuser.com/ssd_write_limit. Nevertheless, many tips are easy to do and at the very least are harmless, or have other benefits (such as less time spent doing IO making your system more responsive,) so here are a few.

Text Mode

I’ve included some notes below (based on the instructions listed at this site.).

eee01:~# 915resolution -l | grep 800x480
Mode 3c : 800x480, 8 bits/pixel
Mode 4d : 800x480, 16 bits/pixel
Mode 5c : 800x480, 32 bits/pixel

915resolution 3c 800 480
#915resolution 4d 800 480
#915resolution 5c 800 480

### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, linux 2.6.24-1-686" {
        linux   (hd0,1)/vmlinuz-2.6.24-1-686 root=/dev/sda3 ro vga=572
        initrd  (hd0,1)/initrd.img-2.6.24-1-686
}
menuentry "Debian GNU/Linux, linux 2.6.24-1-686 (single-user mode)" {
        linux   (hd0,1)/vmlinuz-2.6.24-1-686 root=/dev/sda3 ro vga=572 single
        initrd  (hd0,1)/initrd.img-2.6.24-1-686
}
### END /etc/grub.d/10_linux ###

Desktop environment

If you use a Gnome desktop on your Eee, here are some ways to make better use of the limited screen height:

Firefox:

Opera:

KDE/Kwin:

OpenBox:

Accessing the Asus Restore Image

Here is a way to access the files that were on the original Xandros system before you installed Debian on your Eee PC. You need the Asus Support DVD that came with the machine, and a Linux machine with a DVD reader and about 2.5G of free disk space (so you probably don't want to do this on your Eee).

Insert the Support DVD and extract the disk image of the Xandros system:

sudo mount /dev/dvd /media/dvd
zcat /media/dvd/P701L.gz > ~/restore.img
sudo eject /media/dvd

Now you can mount the Xandros image on your desktop whenever you want by doing:

sudo mount -t ext2 ~/restore.img /mnt/img -o ro,loop,offset=32256

(The offset of 63*512 = 32256 skips over the partition table in the disk image.) The original filesystem is now mounted, read-only, under /mnt/img/. When you're finished accessing it, don't forget to do

sudo umount /mnt/img

Make a complete disk image

The Debian Installer provided in the ../Howto/Install can be used to make a disk image and to send it over the network. This trick can sometimes provide a way to restore the (nearly) original Asus EeePC system before playing with new Debian installation as in some countries, you do not have the Asus Restore Image shipped with the laptop.

Backup

This method uses dd and nc provided by the Debian Installer and another computer located on your local network:

 nc -l -p 9000 | gzip -1 -c > ./eeepc.img.gz

 nc -l 9000 | gzip -1 -c > ./eeepc.img.gz

dd if=/dev/sda | nc -w 5 computer_ip_adress 9000

Extract some files from the image

The compressed image contains the entire disk image including the boot sector and partition table. However, these cannot be mounted directly. First, we need to decompress the image. Next, we need to use fdisk to determine the offset of the partition so we can mount it as a loopback device using that offset.

FixMe: The following assumes the user did not repartition the system when they installed Debian. This is not the recommended way to install Debian, as it wastes space by leaving the Xandros restore partition intact. Redo the backup using an all-in-one-partition Debian system and show the resulting fdisk output (plus now we can drop the Note at the end about extracting from the second partition).

Note: The first partition is the restoration partition and is ext2 filesystem, the second partition is your "active" partition and is ext3 filesystem. So if you want to find some of your files, try to search them under the second partition...

Restoration

Here is a restoration procedure with the debian installer:

Freeing Disk Space

Remove Unused Locales

This would save several tenths of megabytes. Install the package localepurge and select the locales you use (?LocalePurge). Then run localepurge as root. localepurge will also run automatically after each APT run, cleaning unused localization data.

Clean up Obsolete Downloaded Package File

When installing packages the package files are first stored locally and then installed. After that the package files are not needed any more. You can delete them using the tools of the package manager in question. Use the menu item in Aptitude or Synaptic or enter one of the following on the command line.

sudo aptitude clean

sudo apt-get clean

Remove Unnecessary Big Packages

Courtesy of keverets from #debian-eeepc, this sorts installed packages by size:

dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n

You may have some big -doc packages you don't really need. Can free up a couple hundred megs this way or more.

Another way is to use synaptic, go to installed packages and click on the size column.

Turn Off Reserved Blocks on ext3

By default, ext3 allocates 5% or so of your partitions for reserved blocks. To turn this off:

tune2fs -r 0 /dev/sda2

This can be done on a mounted filesystem. On an 8gig SSD I freed up half a gig this way.

Software Control of the fan speed

EeePC’s hardware fan control is highly energy inefficient. Fan is turned on on need and usually never turned off (even if temperature reaches a normal value).

From 2.6.26 linux kernel includes eeepc_laptop module which provides a fan control interface in /sys/class/hwmon/.... It is not yet supported by eeepc-fancontrol (see below), but future versions of eeepc_laptop might be supported by lm-sensors if http://bugzilla.kernel.org/show_bug.cgi?id=11520 is fixed.

Manual fan control can be enabled using echo 1 > pwm1_enable and fan speed can be changed via echo n > fan1_pwm (n being a number between 0 and 255).

Kernel 2.6.26: You cannot switch back to automatic fan control without rebooting. After suspending your EeePC fan1_pwm will be reset to zero and your fan will not run until you manually activate it.

Kernel 2.6.28: You can switch to automatic fan control by echo 0 > pwm1_enable from manual mode. To check if automatic fan control is working just type in a terminal yes. This will put load full load on the CPU and start the fan. Press Ctrl-C to stop the program yes.

Kernel 2.6.30: fan1_pwm is 2.6.28 is just pwm1 in 2.6.30.

I added the following to my /etc/acpi/powerbtn.sh to switch the fan to manual control (which will turn the fan off) and after a second change to automatic control (so that it will come back if necessary).

cd /sys/class/hwmon/....
echo 1 > pwm1_enable
sleep 2
echo 0 > pwm1_enable

Now basically I press the power button to reset the fan. There is basically no harm in this, as the fan would automatically start, when there is heavy load in the system. This assumes that you have KDE or Gnome to catch the press of power power button to launch the logout/Switch user/shutdown/restart dialog. If you are running an unsupported window manager then comment the shutdown command in the last line as shown below.

#/sbin/shutdown -h now "Power button pressed"

eeepc-fancontrol There is a highly experimental tool available that monitors temperature and adjusts fan speed according to it. It is written in Perl by ?RaimoRadczewski and called eeepc-fancontrol. You can get it at http://code.google.com/p/eeepc-fancontrol/ Additionally you must install the eee.ko module (http://code.google.com/p/eeepc-linux/). You can adjust values by editing the daemon with your fav. text editor. Attention. There is no warranty for this. It works quite good, but remember on REAL heavy load the daemon might not be executed.

Fan control without extra modules The lm-sensors package has a fan control script /usr/sbin/fancontrol that is started at boot by /etc/init.d/fancontrol and reads its settings from /etc/fancontrol. aptitude install lm-sensors to get this installed. The script pwmconfig should make /etc/fancontrol for you, but failed on my eee 1000HE with 2.6.30. So I wrote this one:

/etc/fancontrol:
INTERVAL=5

FCTEMPS=hwmon1/pwm1=hwmon0/temp1_input
FCFANS=hwmon1/pwm1=hwmon1/fan1_input
MINTEMP=hwmon1/pwm1=55
MAXTEMP=hwmon1/pwm1=70
MINSTART=hwmon1/pwm1=50
MINSTOP=hwmon1/pwm1=50

Names should be different for 2.6.28 I think. I made these numbers up and the fan seems to be sensible. If anyone knows what they should be, do post the answer here. Anyway, try it out by running fancontrol as root. When you are ready, run /etc/init.d/fancontrol start to start fancontrol off in the background. It will automatically get started at boot.

Speed up boot process

Turn off the internal display when using VGA out

In the case statement on line 26:

Speed up X11

On the EeePC 2D-acceleration seems to be better with XAA instead of the new EXA. You can manually choose the old acceleration method by adding Option "AccelMethod" "XAA" to the Device section of your graphics card in xorg.conf. Some 2D operations measured with 'x11perf -all' will be several times faster than with EXA. But notice that those improvements are only theoretical ones and haven't been confirmed in real usage. While most operations have small speedups between factor 1.0 and 1.5, there are some others that are even 20 times faster with XAA. Though some operations are slower, the difference is there only a few percent.

Results of x11perf: EXA, XAA, x11perfcomp result

Fixing iPod file reading

Access to iPod files by any of the music managers (Rhythmbox, Amarok…) that make use of the iPod’s music data base will fail reading the file. You will receive some sort of message that indicates the file does not exist. If you look on your iPod you will convince yourself that it does exist, however, the case is different. The 7/31/08 version of the kernel uses a default for the vfat file system type (the file system on your iPod) which forces short file names to always be lower case. The iPod files and the iPod DB have short file names in upper case, thus the error.

To fix this you must override the default setting shortname=lower to shortname=mixed. If you are using the GNOME desktop you can do this by using gconf-editor to change /system/storage/default_options/vfat. You will see the shortname mount option.

Once you change this to mixed your iPod will work with your music manager.

Custom Compiled Linux

The attached file contains a configuration option basis for compiling Linux. Use it with make allnoconfig as described in the Linux documentation. all.config

Outstanding Issues and Questions

Visual state and switching of Cam, Wlan and Card reader on the tray

This is a simple way to have a visual feedback of the state of the webcam, wireless card and card reader on the eeepc. It uses zenity to show three state icons that change colour and tooltip message every time we click on them. By using gksu, the script can remember the password for the root privileges needed to perform the various:

echo "1" > /sys/devices/platform/eeepc/wlan

You can put the contents of the following archive in any directory you want, but please update the paths...

eeetray.tar.gz

Please note that if you change the state of the peripherals by pressing some hotkeys, the state will not be automatically updated...

This script was tested on Debian Lenny with kernel 2.6.26 and on Fluxbox, but given its extreme simplicity it can be adapted to any system.

Thanks to <SynrG> for the tip about using zenity!

Speed up sluggish Iceweasel/Firefox 3

On the EEE models with two SSDs you probably end up having /home on the secondary bigger but much slower disk. This setup in combination with Iceweasel/Firefox 3 will most likely give you a sluggish web browsing experience.

Firefox 3 saves a lot of internal state information during surfing, which results in frequent disk writes and thus delays from the slow disk. An efficient workaround is to move your .mozilla directory to the smaller but faster disk as suggested on:

or

This was tested to improve the browsing experience a lot on the EEE 901.

Even better performance may be possible if you don't care about browser cache and history and therefore only store it on a RAM disk or completely disable it.

Slow intel rendering

Running the newer intel drivers (2:2.3.2-2+lenny6) on a 901, I (eeeuser) experience reduced performance and X stability compared to earlier versions. By modifying my /etc/X11/xorg.conf file, video perfomance seems to improve and so far, no ring buffer crashes. This improved behaviour has not been confirmed.

Section "Device"
        ...
        Option          "tiling"        "false"
        Option          "AccelMethod"   "UXA"
        ...
EndSection

This might improve perfomance, most notably during compositing. Some discussion is available at