Of course, I got the Linux version. They had MS-Windows versions of the higher-end EEEPC900 but they ran out of stock on the Linux version of the EEEPC900 and the newer EEEPC901 are outrageously overpriced (for reasons that don't make sense to me, but the market is getting more competitive at the low-end so I'm not worried about where this is going).
Of course, the Mandriva Linux that comes with it is way too annoying, not what I'm used to, not set up the way I wanted and I didn't get to install it. I mean, for people who like it, go for it, don't let me tell anyone what to like and what not to like. Suffice to say, I'm pretty fussy about having everything just the way I want, when it comes to my tools and equipment. So I downloaded Centos 5.2 and figured I wuld give that a go. Here's some tips:
Just for a change I installed the KDE desktop. Not sure if I like it yet, might go back to Ratpoison at some future stage.
Most important thing! The screen is too small for any normal application (even the KDE setup and config dialogs don't fit into 800x480 screen space). Thus, the only comfortable way to use X11 on an 800x480 screen is to run a virtual screen at 1024x768 and use the touchpad to scoot around. Hey, this scrolls just like the iPod does (only faster) and I'm using 10 year old Linux/XFree86 techonogy to do the job.
If you want the scrolly desktop on CentOS, you must have the i810 video driver. There is a newer "intel" driver, which also works on the EEEPC but can't do virtual desktop scrolling. You also need to modify your xorg.conf file (hey, maybe there's a CentOS system config tool that already does this, I found it faster just to edit the file, use the tool if you feel that's better).
Also, the depth 16 is better supported by the intel hardware for acceleration (actually, this might also have changed, it used to be true: TODO, put some real test results here).Section "Device" Identifier "Videocard0" Driver "i810" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" DefaultDepth 16 SubSection "Display" Virtual 1024 768 Viewport 0 0 Depth 16 EndSubSection EndSection
You probably want an ethernet configuration, here's a simple one to go into /etc/sysconfig/network-scripts/ifcfg-eth0 :
If that sounds too complicated, then install the "NetworkManager" package and enable that, it will do the configuration for you, and it does hotplug and all that as well.DEVICE=eth0 ONBOOT=yes NAME=eth0 BOOTPROTO=dhcp
TODO: put lspci output here.
This requires a build outside the kernel. Realtek are supplying driver source code, but the base code for this is somewhat old. Meanwhile, the core kernel developers are busy rewriting it all and their code looks substantially different. The mainstream kernel support RTL8187 as a USB device, and RTL8185 as a PCI device. Note that the RTL8187SE is a PCI device and does not work with the standard kernel drivers as of 2.6.27.5 version of the kernel.
TODO: put tar.gz here
It builds with some warnings and also builds its own version of the IEEE helper modules which are required. The install process is somewhat manual, don't use their installer script because it tries to reboot your machine! Just copy over the *.ko files into the suitable /lib/modules directory.
If you use wpa_supplicant, be sure to use the "wext" driver API. The CentOS default is the "prism" driver which totally does not work with the EEEPC chipset, you get ACPI errors and the system starts responding very slow, I'm sure it isn't doing anything good. Don't use the default! You need to edit the file /etc/sysconfig/wpa_supplicant and change the DRIVERS variable to "-Dwext" to have any hope of getting it working.
You also need to put suitable local usernames and passwords into /etc/wpa_supplicant/wpa_supplicant.conf and there is a man page to help explain what goes into that one. Again, switching over to "NetworkManager" might solve some of these problems for you.
ACPI: Preparing to enter system sleep state S1That works, and it is fast, but doesn't save hardly any power. Actually it barely shuts anything down at all. You don't want this one. This is the standby action. Thus, the Klaptop system is OK to display the batter power but seems useless for pretty much anything else.
If you type "echo mem > /sys/power/state" you get a better sort of power saving which shuts it down good. Unfortunately the KDE desktop settings don't seem to have a feature to trigger this "suspend to memory" state. I decided to setup ACPI daemon (and I'm annoyed by the CentOS default settings for this package, because they shut the whole machine down and they clobber your settings every time you upgrade).
ACPI: Preparing to enter system sleep state S3That's the one you want, it blacks out the display, stops the fan and the CPU goes cold but it wakes up pretty quick.
After not being happy with either acpid nor with the Klaptop KDE system, I wrote a very small C program to handle the lid closing and power suspend.
TODO: put C code here.
alias snd-card-0 snd-hda-intel options snd-card-0 index=0 options snd-hda-intel index=0 model=asusI can't find where the table of available models is, the "asus" seems to work for me, but I only get a basic volume control, PCM output and microphone input and that's it. Maybe that's all it is supposed to support... the old laptop had a lot more features in the sound card (admittedly, they were features I never used).
From testing the playback, it sounds good through the builtin speakers. The builtin microphone is fairly poor quality but good enough for a telephone, if you turn up the microphone input volume then it gives heaps of hiss and you can hear the system fan in the recording. The system has 3.5mm jack connections on the side for a headset if you want to buy good quality headphones and microphone. I recommend a headset for most times you want to used the audio.
SD cards are nice and cheap considering the space you get (not as cheap as USB pen drives) and the card slot is easy to use on the move (USB pen drives get bashed around on the train).
TODO: figure out how to make the usb-storage make a more serious effort at retrying write errors (like 20 times over or something) before it falls back to read-only mode. That would work around small problems with bad contacts.
This work is licensed under a Creative Commons License.