Gentoo + KDE 4.3 on Eee PC 1000H
About a year ago I've bought an Eee PC 1000H netbook made by Asus - right from the beginning I've been using it with Gentoo which is my favourite distribution, with a KDE 3.5. There were some issues but most of the time it ran just fine. But as I'm a notorious breaker and I ignore most of the messages produced by portage, the netbook reached a point of no return - there was no other way than a fresh install - this time with a KDE 4.3 environment.
I forwarn you this is not an installation guide - after all we have a great Gentoo Handbook for that. It's rather a collection of useful and interesting information specific for the 1000H (and maybe other netbooks too), eg. kernel configuration, use flags, issues I've ran into, etc.
This article may help you to get a fully working installation directly supporting suspend to ram - disk, containing all the drivers, etc. Of course it's possible that there are issues I'm not aware of, especially if they are related to features I don't use.
As the compilation of all the source codes on the netbook itself is a quite time-consuming task, I may provide you a "snapshot" of a disk partition (result of a "tar -cjpf" of the partition) with a complete installation. Size of the archive is about 2GB, and in general all you need to do is extract it to a destination filesystem (and perform some minor tweaks regarding partition numbering, etc.)
USE flags
When it comes to USE flags, I maintain a minimalistic approach, i.e. I do add new use flags to make.conf or package.use only when I install new packages. I.e. I do not enter various unnecessary ballast "in advance" so my make.conf contains just these global USE flags
USE="-gtk -gnome kde qt4 alsa qt3 qt3support bluetooth consolekit"
and package.use (split into 3 files in the directory) contains just 30 rows. You may download a complete make.conf, as well as a complete package.use (directory packaged as a .tgz archive).
Kernel config
Kernel config is not difficult if you've done that before - it's pointless to discuss individual options here, the easiest way is to check the .config directly. I don't say the kernel config is minimal (there may be some unneeded options), but it works ;-)
Wifi card
The only driver that is not part of the kernel (at least in 2.6.30-gentoo-r6) is a wifi card (Ralink RT2860) driver, available here. To compile it successfully you need a prepared kernel (i.e. a kernel after executing at least "make prepare" but optimally you should execute the complete "make").
If the kernel is prepared, you have to download the driver, unpack it and modify the "os/linux/config.mk" file according to instructions from README_STA, that is set the following two variables
- HAS_WPA_SUPPLICANT
- HAS_NATIVE_WPA_SUPPLICANT_SUPPORT
If you plan to use a "wext" driver (switch "-Dwext"), set both variables to "y", if you plan to use "ralink" driver (sqitch "-Dralink"), set the second variable to "n." I wanted to use the "wext" driver but it did not work for some reason - the nebtook connected to the AP (using a WPA-PSK), but all request for an IP lease timed out. After switching to a "ralink" everything works fine so I do recommend this settings
HAS_WPA_SUPPLICANT=y HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
Then you need to create a file /etc/wpa_supplicant.conf and define the network in it, e.g. something like this (for more examples and details see "man wpa_supplicant.conf"):
network={
ssid="your SSID"
scan_ssid=1
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="your password"
}
Then you should put these two lines to /etc/conf.d/net so that a wpa_supplicant is used for ra0
modules_ra0=("wpa_supplicant")
wpa_supplicant_ra0=("-Dralink")
and create a starting script for ra0 interface
# cd /etc/init.d # ln -s net.lo net.ra0
and then start the wifi interface
# /etc/init.d/net.ra0 start
If you've done everything properly the interface should start successfully and connect to the given AP.
Xorg-server - installation and startup
Installation of an X Window environment - namely xorg-server version 1.6.3.901 - is more or less painless, although I've had some hard times. You have to define what drivers should be used for video cards (VIDEO_CARDS) and for input devices (INPUT_DEVICES) in make.conf.
At the end I've used this settings
VIDEO_CARDS="intel" INPUT_DEVICES="keyboard mouse synaptics evdev"
During the installation I've struggled with an issue that the twm window manager (a minimalistic environment) started successfully but then the environment stopped to respond to keyboard, mouse, etc. After about an hour I've found that the xorg-server was compiled with a HAL support, but the hald daemon is not running - so I do recommend to start it and add it to the default runlevel
# /etc/init.d/hald start # rc-update add hald default
The next step is to configure the X environment - it starts successfully even without a config file thanks to an autodetection, but if you don't like some touchpad settings (as I do), you have to create /etc/X11/xorg.conf config file and modify the settings in it.
You don't have to start from an empty file, the initial xorg.conf may be generated using the the autodetection and then modified. Generating and moving it to /etc/X11/ is quite trivial
# X -configure # mv xorg.conf /etc/X11/ # nano -w /etc/X11/xorg.conf
and then just add the following section for the touchpad (using the "synaptics" driver).
Section "InputDevice"
Identifier "touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "auto-dev"
Option "MotionScrollDelta" "0"
Option "MaximumTapTime" "200"
Option "ClickTime" "50"
Option "MaxTapMove" "320"
Option "MaxDoubleTapTime" "5"
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"
Option "VertEdgeScroll" "0"
Option "HorizEdgeScroll" "0"
Option "SingleTapTimeout" "100"
Option "FastTabs" "1"
Option "VScrollEmulOff" "1"
Option "VertScrollDelta" "80"
Option "HorizScrollDelta" "80"
Option "SHMConfig" "1"
Option "CircularScrolling" "0"
Option "TapButton1" "1"
Option "TapButton3" "2"
Option "TapButton2" "3"
EndSection
And then add a reference to it to the "ServerLayout"
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "touchpad"
EndSection
More details about the synaptics may be found at the driver's homepage or at a very detailed article at gentoo-wiki (including practical examples of a configuration). My xorg.conf may be downloaded here.
By the way, when configuring the xorg-server, it's a good idea to start a ssh server - in case the X will stop reacting to input devices (and if you interfere with the xorg.conf config file it may happen quite easily), you may still connect from a different machine and kill the X remotely. Otherwise you'd be unable even to swich to a console as the keyboard is dead.
KDE 4.3
Installation of the KDE 4.3.2 environment was absolutely troublefree - just follow the Gentoo KDE guide. Briefly said, if you don't have a previous KDE version istalled (4.2 or even 3.5) then the only thing you need to do is entering keywords into /etc/portage/package.keywords (as the 4.3 branch is still masked), and then execute
# emerge kde-meta:4.3
By this the KDE 4.3 installation should be done. Then just set XSESSION="kde-4.3" in /etc/rc.conf and DISPLAYMANAGER="kdm" in /etc/conf.d/xdm.
Conclusion
The result should be a fully working Gentoo system with KDE 4.3 interface, supporting all the netbook Eee PC 1000H devices (except a web cam I don't use). In case of any problems just let me know ;-)




Hello,
thank you for the sort and precise guide, it has help me a little bit with the setup of a 901, but I'm still having a lot of trouble with the rt2860 card and a WPA connection, I wish you could take a quick look to my situation and may be find something that could help me.
The first thing that you show me was the possibility of compiling the rt2860 driver with the 2.6.30 kernel, It didn't work with any of the .config files that I made. Problem arise with rt_linux.c. The solution was to give up the 2.6.30 kernel on behalf of the 2.6.29 one. Just for last resource test I did use your posted .config file and now I can successfully compile the driver with .30, thankx!
For the WPA connection I was trying to use wpa_supplicant -Dwext, but strangely the connection was being drooped just after finishing the last stage of the authentication, "State: GROUP_HANDSHAKE -> COMPLETED" and then dropping just to start again all the procedure. Probably you know this.
Now, I'm with the HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n method. Compilation Ok all files set, including /etc/Wireless/RT2860STA/RT2860STA.dat.
http://stashbox.org/691137/RT2860STA.dat
This file has gone through all sort of changes.
The result; the link goes up for a few seconds, I get some pings, but after that, dies and starts again the process. The log is full with:
===>rt_ioctl_giwscan. 11(11) BSS returned, data->length = 1241
==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
Curiously the wifi channel is 3, and I've tested with and without that parameter on the RT2860STA.dat file.
Sometimes another message appears.
ERROR!!! RTMPCancelTimer failed, Timer hasn't been initialize!
I appreciate if you could share some toughs about my issue.
Regards
Hi Rodrigo, I have no direct experience with 901, but I had simillar problems on 1000H when using the "wext" driver - the wifi got up for a few seconds, then lost the connection, and then again and again. So I've tried to use the "ralink" (HAS_WHA_SUPPLICANT=y, HAS_NATIVE_WPA_SUPPLICANT=n) and everything works fine since then. I don't know why the "wext" driver does not work :-(
Anyway do you know http://www.eeeuser.com? Especially the "forums" - there's even a discussion about EEE PC 901 (http://forum.eeeuser.com/viewforum.php?id=53).
Hi again, some conclusions, hopefully it helps someone.
I don't use wpa_supplicant, it's not even installed. What I use is the rc configuration scripts, the /etc/conf.d/net file that I have has the following line to disable iwconfig and wpa_supplicant at net.ra0 start up:
modules=(!"iwconfig" !"wpa_supplicant")
All the wireless configuration is done through the RT2860STA.dat file
I've found the command iwpriv very interesting to change settings on while the interface is up.
The driver is included as staging driver on kernel 2.6.30-gentoo-r8:
Drivers ---> Staging drivers [x]
[ ] Exclude Staging drivers from being built
Ralink 2860 wireless support (NEW)
Not sure how this one works.