Using LINUX on a Travelmate 621LV

Author: F. Jalvingh (jal_AT_mumbleDOTto

Date: 10/20/02

Last modified: May 4th 2003

1 Intro


The Acer Travelmate 621LV is a nice machine. I bought this machine in June 2002. It's characteristics are:

The machine comes with Windumbs XP installed.


A small sidestep...

I wrote this in 2002. At this time (May 2003) you can install SuSE 8.2 out-of-the-box on the Acer without any trouble, and everything works (except the screen resolution is still max. 1200x1024). Which makes this howto a wee bit obsolete! Since this distro finally fixed the “ugly font problem” this really gives you a workable Linux on this machine fast! Even so this document describes some stuff that is useful even now.. Well... On with the info..

1.1 Installation

I tried many distributions of Linux on this thing because installation was at first not very succesful. The one I kept was the SuSE 8.0 distro which worked best for me. Redhat also worked nice (but I'm no fan of it. I thing SuSE has way better support for desktop machines, and has better admin tools as well).

The basic installation will hang because the SuSE kernel does not work with the PCMCIA adapter in the machine. To install we need to disable the parameters: boot from the CD/DVD and in the LILO boot screen add NOPCMCIA=yes after the "linux" kernel name.

Continue the normal installation until you reach the point where you have to enter video (X) settings. Select the i810 driver here and select an LCD screen of max. 1280x1024 resolution.

When it is time to configure audio WATCH OUT! The installation program will have recognized the AC '97 audio aboard but using it will hang the machine! Select to configure audio and remove the card!!

Configure the network card and any printer and be done with the installation.


1.2 Tweaking the system

After a standard SuSE install the machine is mostly functional but it has no PCMCIA and no audio, and the screen resolution is limited to 1280x1024. The touch pad works but only has the left and the right buttons available; the cursor pad does not do a thing. So - let's remedy that ;-)

1.3 Installing a new kernel

First we need a newer kernel to get proper support for ACPI and for the i830 chipset. I used kernel 2.4.20-pre9.

Download the kernel (2.4.19, full) from www.kernel.org or a mirror and unpack it into /usr/src/linux-2.4.20-pre9. Then download the pre-9 patch.

Then do the following:

Make the symbolic link:

cd /usr/src
rm linux
ln -s linux-2.40.20-pre9 linux

Patch the kernel to 2.4.20-pre9:

cd linux
bzcat <path-to-patch.bz2> | patch -p 1

Edit the makefile

vi Makefile
Remove the '#' for the line export INSTALL_PATH=/boot
:wq

Get the appropriate ACPI patches from sourceforge.net (http://sourceforge.net/projects/acpi) and patch the kernel like this:

zcat acpi-patch-2.4.20-pre9.diff.gz | patch -p 1

Now configure the kernel

make menuconfig

To properly configure the kernel you need to set a lot of options. An example .config file can be found here; you can copy it to /usr/src/linux before the make menuconfig to have my settings. Highlights include:

When done do:

make clean (only needed after 1st try)
make dep
make
make modules
make install
make modules_install
mk_initrd
lilo (if you don't use grub)

If you use grub as the boot loader instead of lilo you get an error after the make install above. This may safely be ignored.

After this we can boot the new kernel.

If the boot fails then just boot using the "safe" entry; this boots using the original SuSE kernel.

1.4 Configuring sound

With the new kernel in place we can enable sound properly. First we need the latest ALSA drivers from http://www.alsa-project.org/. I used the 0.9.0rc3 drivers. Download the drivers, lib and utils packages and unpack in /usr/src/alsa:

mkdir /usr/src/alsa
cd /usr/src/alsa
bzip2 -d (downloaded package).bz2 (3x, once for each package) 
cd alsa-drivers*
rm include/linux/isapnp.h
./configure
make

I got errors with this kernel version due to a missing typedef; if you have those too add the line:

typedef struct urb urb_t;

to the file include/adriver.h just below the include of linux/usb.h and try again.

If the make works then

make install

Do the same for the other alsa directories.

If all of this works then you can enable sound using YaST2 / Hardware / Sound.

1.5 Touchpad driver

The synaptics touchpad driver is usable using the standard Xfree drivers but a better driver can be found at the former MobilIX site which has now moved to http://www.tuxmobil.org/ thanks to the works of Les Éditions Albert René (the publishers of the Asterix and Obelix cartoons – may they slowly fry [and this is why]).

The driver can be found at http://www.tuxmobil.org/software/synaptics

The driver there does not work completely so a patched version that works better can be downloaded here.

The patched driver allows the up, down, left and right buttons to be used. It must be built and installed as follows:

Untar the archive

mkdir ~/synaptics
cd ~/synaptics
tar xzf <path-to-downloaded-file>


Make the driver

./configure
make


Copy the generated driver file to Xfree (login as root first!):

cp synaptics_drv.o /usr/X11R6/lib/modules/input/


Then edit /etc/X11/XF86Config and replace the mouse section with:

Section "InputDevice"
  Driver       "synaptics"
  Identifier   "Mouse[1]"
  Option       "AccelFactor" "0.0010"
  Option       "Device" "/dev/psaux"
  Option       "Edges" "1900"
  Option       "Finger" "25"
  Option       "InputFashion" "Mouse"
  Option       "MaxSpeed" "0.18"
  Option       "MaxTapMove" "220"
  Option       "MaxTapTime" "20"
  Option       "MinSpeed" "0.02"
  Option       "Name" "Unknown"
  Option       "Vendor" "Unknown"
  Option       "VertScrollDelta" "100"
EndSection

2 Configuring XFree86

Sadly I've been unable to configure XFree in such a way that the full resolution of 1400x1050 can be used. This is most probably due to problems in the BIOS. I've tried the latest XFree version (from the CVS repository) and although some people are working on this there is no solution yet (May 2003). If you really need a solution you can buy an X server from Xi Graphics for around $129,- which allows for the full resolution to be used.


The main problem seems to be that the Acer BIOS does not have a VESA mode entry for the specified resolution. It seems that Xfree does not have code to initialize the i815/i830 chipset's video part into a given mode, so it uses the VESA bios to initialize the card into the mode that is requested. And the Acer bios does not have an entry for 1400x1050, which is a stupid error made by Acer this time. I wrote them several mails on the subject but sadly they refuse to even support Linux 8-(


Since it is possible that a solution will be found I include a description on how to compile an XFree from the CVS repository and make it run on the Acer. Get the CVS version of xfree from their CVS archive as described on the http://www.xfree.org/ website. Do the checkout somewhere in /usr/src/xfree.

This can be done as follows:

Now, in usr/src/xfree/xc/config/cf edit the xf86site.def file and add

#define SharedLibXdmGreet       YES

at the start of the file.

Now edit the file site.def in the same directory and look for the line

#define HasXdmAuth NO

Change the NO in YES.

To use this you need a file called Wraphelp.c, which is not distributed with xfree due to the moronic American encription laws (that state that only criminals and the government [small distinction] can use it). You can get this file from here: a server that is not located in the USA (man those laws are useful. And so well thought out- like most things governments do). After the download you need to unpack and copy this file to /usr/src/xfree/xc/lib/Xdmcp, like this:

Now you can make xfree by issuing:

cd /usr/src/xfree/xc
make World

If the make is succesful login as root, make a backup of your original X environment and install the new version:

su -
(enter the password)
cd /usr/X11R6
tar czf /tmp/x11-backup.tgz .
cd /usr/src/xfree/xc
make install

After all this you can restart X (logout would do) or you can reboot the machine.

If you want to see if the newer X allows the larger resolution you need to use sax2 again to configure the X server. Use the i810 (or i830) Intel driver and select a max. resolution of 1400x1050 on the monitor. Make sure that you specify the 1400x1050 resolution 1st, and always add a 1200x1024 setting to fallback to.