Posts Tagged ‘Linux’

Asus Eee Pc 1000H with Debian Lenny (testing)

Wednesday, February 11th, 2009

I have bought an Asus EeePc 1000H which is one of the new popular netbook – a very small and light weight notebook.

I chose the Asus EeePc 1000H for several reasons:

  • I travel a lot, often by motorcycle and kayak,  and need something compact and lightweight for mail, internet, blog updates and social networks;
  • initially I wanted the EeePc 901, but its being discontinued and it costs almost the same as the 1000H, which has a hard disk and a larger keyboard;
  • though delivered with Windows XP, the hardware is quite Linux friendly and almost identical with the 901 which were sold with Linux;
  • its small and cute (even my wife says so).

The specs are:

  • Intel Atom N270 dual core CPU,
  • Intel Mobile 945GME chipset,
  • 1 Gb DDR2 667MHz RAM upgradable to 2Gb,
  • 160 Gb SATA harddisk,
  • Six-cell LiOn battery 6580 mAh,
  • 10″ WVGA display at 1024×600,
  • ElanTech touchpad,
  • RaLing RT2860 wireless network adapter – IEEE 802.11bgn,
  • Attansic Technology L1 Gigabit network adapter,
  • Broadcom BT-253 internal USB bluetooth adapter,
  • Alcor Micro SD/MMC Card Reader,
  • Genesys Logic USB 2.0 webcam 1.3Mpixel.

It is a fairly small laptop, measuring 27×19×3cm and weighing 1.45kg which is a bit more that I had hoped (the 901 is less than 1kg) but it is OK, as I won’t have to bring an extra USB disk for additional storage.


I have installed Debian testing/lenny on it, through the Debian Eee Pc projects installer. It is a specialised installer which does a slightly different installation and configuration, but the resulting system is a normal Debian system.

Most parts of the netbook work immediately with little or no manual configuration after a base install, but there are a few parts that doesn’t or that are a bit unstable. Most of these seem to have a solution on the way.

An install through the Debian Eee Pc installer of Debian Testing (lenny) with a Linux 2.6.26 kernel leaves these parts non-functional:

  • Front microphone doesn’t work (should be fixed in the latest ALSA release, included ibn Linux 2.6.27);

and these only partly functional:

  • Wireless network driver only works with certain setups (for me, open network and WPA/PSK work, WEP doesn’t);
  • Touchpad is working with a generic driver which doesn’t support all the functions of the hardware;

and these require an extra effort to get fully functional:

  • Keyboard hotkeys (editing a configuration file)


The installation procedure was more or less as specified on the Debian Eee Pc Wiki.

The computer came with Windows XP preinstalled and with the disk partitioned in a particular way. Since I’ve paid for that Windows installation, I’d like to retain it in case I should need it later.

The harddisk was initially partitioned like this:

  1. Windows XP system 75 Gb (type 7 – HPFS/NTFS)
  2. User data 60 Gb (type 7 – HPFS/NTFS)
  3. Windows accelerated boot 8Gb (type 0x1c – Hidden W95 FAT32)
  4. EFI partition for the BIOS “Boot Booster” 40Mb (type 0xef)

The partitions 1 and 4 would be needed for Windows XP and the BIOS, and I wasn’t sure what partition 3 was for, so I decided to leave it untouched. I think it is for an accelerated boot of Windows XP where they make a hibernation type snapshot at boot time which can then be used at subsequent boots to speed up things.

For Linux I would need a root, a swap and a user data partition, so I decided on this partitioning scheme:

  1. Windows XP system 10 Gb (type 7 – HPFS/NTFS)
  2. Extended partition 125Gb (type 5 – Extended)
    1. Linux root 8Gb (type 83 – Linux)
    2. Linux swap 1Gb (type 82 – Linux swap)
    3. Linux home 116Gb (type 83 – Linux)
  3. Windows accelerated boot 8Gb (type 0x1c – Hidden W95 FAT32)
  4. EFI partition for the BIOS “Boot Booster” 40Mb (type 0xef)

Starting the Debian Eee PC installer was quite easy. I downloaded the image, copied it to an SD card, inserted it into the card reader and booted while pressing ESC so the BIOS asked which device to boot. The installer is the normal Debian lenny installer, only with a payload of special modules for the EeePc specific hardware,  which for now include both wired and wireless network adapters and ACPI functions.

Before starting it is a good idea to disable “Boot Booster” and “Quick Boot” in the BIOS. Otherwise it is quite likely the system will just launch you into Windows XP so fast you have little time to press ESC for the boot device menu or F2 to enter the BIOS.

I had to start the installer several times to shrink and resize the Windows XP partitions and setup my own partitioning scheme as shown above.

The first several boots into the Debian installer was to shrink and resize the Windows XP installation, and setup my partition scheme. I repeatedly took the installer up to the point where it wants you to partition the harddisk, then pressed Alt-F2 to get a shell. The first time I used ntfsresize to shrink the Windows XP NTFS filesystem from 75Gb to 10Gb. Second time was to resize the actual Windows XP partition using fdisk, followed by a boot to Windows XP to make sure the installation was still bootable. Then the third time to setup the Linux partitions, and only afterwards did I let the installer continue and do the actual installation.

The Debian installer is so easy these days its almost boring. I only had to answer a few questions, enter some passwords and select what I wanted of software on the computer. I let it install all of the Gnome desktop environment, which was probably a mistake, since I had a bit of work afterwards reducing it to only the parts I actually wanted.  I have no use for Windows terminal services or remote desktop systems, or all the CD/DVD ripping and mastering software I had installled automatically.

Hardware walk-through

CPU – Intel Atom N270 1.6GHz works out of the box with both cores available and CPU frequency scaling activated.

Disk – the SATA disk works as expected.

Sound – works except for the front microphone, which is supported in the next version of ALSA, included in Linux 2.6.27.

SD card reader – works.

USB – works out of the box.

Wired network – the Attansic Technology L1 Gigabit network adapter uses an “atl1e” driver which works without any problems noted.

Wireless network – works partially with the rt2860sta driver included in the Debian Eee Pc install. It works for me with a WPA/PSK access point, and with an open network, but not without some problems. The driver drops the association at high throughput and subsequently fails to re-associate to the access point without a manual intervention. With a WEP setup it associated with the access point,  but failed consistently to get an IP address from the DHCP server. There is no hardware kill switch.

Bluetooth – the internal USB adapter works out of the box. There is not hardware kill switch.

ACPI – this is governed by a special eeePc driver included in the Debian Eee Pc installer. It seems to support everything: power switch, lid, extra keys, battery, cpu, suspend states etc.

Video out – not yet tested

Video – Intel Mobile 945GME chipset, which works with It is automatically configured by the Debian Eee Pc install, so X windows works immediately, compositing included.

Touchpad – works partially. It is currently controlled by a generic driver, which doesn’t support all the functions of the hardware. The touchpad works as such, with tapping and the two buttons below it. The middle mouse button can be activated by a two finger tap, and a scroll wheel simulated by a two finger drag. A three finger tap works as a right button click, but it is almost impossible to get right on the small touchpad.

Extra keys – works with initialisation – see later “Hotkeys”

Suspend – both suspend and hibernate works through the Gnome Power Manager. I have uswsusp installed, but I don’t know if the Gnome Power Manager uses the kernel suspend functions or uswsusp. Sometimes bluetooth disappears after a resume, but I still haven’t figured out why. You need to belong to the “powerdev” group to get full Gnome Power Manager functionality.

Webcam – the necessary Video4Linux drivers are automatically installed, and the camera seems to work. I can get mplayer to show me live video from it.

Keyboard – while it has nothing to do with Linux, I do have a few grievances about the keyboard. It has at least two deficiencies. While is has a nice and usable size, the right shift key is placed in a very annoying position, to the right of the “up” arrow key, which I alway hit by mistake. Also, the shift lock key has no status indicator anywhere, so you cannot see if shift lock is on or off, except trying to type something.

X Windows

Basic configuration was automatic.

The server uses the “intel” driver for the Intel 945GME graphics chip set. It is by default set up with EXA acceleration, but the Debian Eee Pc wiki states that using XAA might be better, and my experience confirms it. It feels quite a bit snappier with XAA, especially when scrolling in Firefox.

DRI was configured automatically.

The touchpad it is an Elantech touchpad but it is not recognised as such by the kernel. It detected as a “ExplorerPS/2”, not as a proper touchpad. The funny thing is, however, that the touchpad still works to some degree. It reacts to movement and taps, there is a scroll wheel area on the right side of it, and a two finger tab becomes a middle click. A three-finger tap becomes a right click but it is very hard to reproduce reliably. There seems to be a driver for the touchpad in the working, but it’s currently only semi-functional. I haven’t delved deeper into this, as it does work.

Compiz was only an “aptitude install compiz” away. All the necessary prerequisites were taken care of by the Debian Eee Pc installer.


The keyboard has some special keys, which are handled by a special eeepc ACPI module.

I had to edit the /etc/default/eeepc-acpi-scripts file to get the sound volume keys to work properly.  I needed to set the variables


Apparently the default setup is for the latest Alsa release, but not the one used by the 2.6.26 kernel.

Major outstanding issues

  • Front side microphone is not working,
  • Touchpad not fully supported.


Citrix client for Debian

Thursday, February 23rd, 2006

I’ve been running the Citrix client for linux for a while and it works quite well, even though I have a hard time getting used to having Windows windows on my display. It feels unclean 🙂 but its better than running Windows to get the job done.

Anyway, it doesn’t take all that much. Download the client from, its a file name linuxx86.tar.gz, and unpack the archive in an empty directory. Run the script setupwfc as root and follow the instructions.

The programs and libraries are installed in /usr/lib/ICAClient/.

It didn’t work out of the box for me. The programs are linked with Motif libraries and an older version of the X11 Athena Widgets. I therefore had to install the two packages before the programs would start:

apt-get install  libxaw6 libmotif3

When starting applications from my employers nFuse setup I got a message saying more or less “You have chosen not to trust the Thawte Premium Server CA”. Apparently the Citrix client needs copies of the server certificates, so I had to do a

cp -a /etc/ssl/certs/Thawte_Premium_Server_CA.pem

and all was well (except for having to run Windows 🙂

Making a Courier IMAP SSL sertificate.

Sunday, December 4th, 2005

I run Courier IMAP over SSL to my mail server, until now with the self signed server certificate Debian set up for me, but I’ve finally managed to create a ‘real’ server certificate following the instruction at

The certificate is signed by (more…)

Emacs wiki

Sunday, September 18th, 2005

I just stumbled upon, which looks like a very nice place.

I found a newer version of longlines.el, for example.

Converting AAC audio files to mp3

Monday, September 12th, 2005

This command will convert an AAC audio file to an mp3 audio file:

ffmpeg -i input.m4a -acodec mp3 -ac 2 -ab 128 output.mp3

Batch conversion can be done with

for i in *.m4a; do 
    ffmpeg -i "$i" -acodec mp3 -ac 2 -ab 128 "${i%m4a}mp3"; 

Sometimes it really is simple 🙂

SWSUSP2 working

Saturday, June 4th, 2005

I previously reported that Software Suspend 2 didn’t work for me. I have since installed a kernel 2.6.9 from, which has solved the problem. I’m now suspending and resuming happily.

Labels on ext2 and ext3 filesystems

Thursday, June 2nd, 2005

I just recently discovered that you can put a label on an ext2 or an ext3 filesystem, just like you can with a msdos/fat filesystem.

The reason I didn’t know was probably that it didn’t matter, but now with hal and gnome-volume-manager automounting removable disks, the disks in my usb enclosures are mounted as /media/usbdisk, that is, until I changed the label. Then it is mounted as /media/label, which is a lot more useful.

The label is set with:

e2label /dev/sdc1 yourlabel

Replace the partition with the one you want to set the label on.

Resampling audio data

Thursday, November 4th, 2004

I’ve never done much with audio data, so when I had to write some audio files to cd, and they weren’t sampled at the right rate, I had a problem. Fortunately, I found sox:

sox input.wav -r 44100 output.wav resample

did the job.

And I tought it was going to be difficult 🙂

Wifi roaming with “waproamd”

Sunday, September 26th, 2004

I’ve just discovered waproamd, a tool to adjust the configuration of a wireless nic to the access point it is associated with.

waproamd is a roaming daemon for wireless IEEE 802.11 NICs supporting the Linux wireless extensions. It is intended to configure the WEP keys according to the networks found.

It works just as well without WEP, though. Below is a description for my setup without WEP.

The configuration of waproamd is in three tiers: waproamd, access points and interfaces.

Waproamd configuration is only one file: /etc/default/waproamd.


I my case the interface “ath0” is a cardbus card, so I add the “-M” option, just in case the card isn’t inserted when waproamd is started. It will monitor the card and react when it appears.

Then I have a script for each access point I use. They live in /etc/waproamd/scripts and their names are either the MAC address of the access point, or a name of the form essid:essid where the last “essid” is replaced with the name of the access point. The name might not be unique, though, so the MAC address option is probably the better way.

The access point scripts will have to be executable to work. They will be called with just one argument, either “start” og “stop”, and with a few environment variables: $ESSID and $IFACE for the detected ESSID and the network interface in question.

My scripts are all the same:


case "$1" in
start)	ifup $IFACE=$IFACE-$ESSID ;;
stop)	ifdown $IFACE ;;

In this way I can have a separate network interface configuration in /etc/network/interfaces for each (nic, essid) pair. If one day several access points on my list have the same ESSID, I’ll have to hardwire the name into the script, but until now it hasn’t been necessary.

In /etc/network/interfaces I have several stanzas for each nic, one for each access point. Many use DHCP, and just say

iface ath0-ESSID inet dhcp

where ESSID is replaced with the actual access point name, but a few combinations set up static IP addresses and other options.

GNU Emacs and UTF-8 locale

Saturday, August 7th, 2004

I recently wanted to shift to a UTF-8 locale, because I wanted to play with stuff like writing in Arabic, and because it seems to be the road forward.

So I switched and GNU Emacs starts to enter garbage in my buffers. I type “ “, but Emacs gives me “æøå éí“. Ever so slightly less useful, and less readable too.

I tried fiddling with “Options | Mule | Language Environments” and “Options | Mule | Set Coding System”, but to no avail.

Somewhat deluded I gave up and went back to Latin 1, mostly at least. Every once in a while I tried again, and one day I stumbled over a reference to the Emacs file etc/PROBLEMS, a section on problems with UTF-8 support in GNU Emacs. Unfortunately the section was gone from my copy, but I found it on the net.

The solution to all my problems: add the following lines to ~/.emacs:

(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

The problem went away and haven’t been seen since.

BTW, I’m using GNU Emacs 21.3.1, installed from Debian testing and unstable (tried them both).