I tried to put together all sorts of information and configuration files to fully use linux on this computer. This information might also be good for other laptops (especially the Travelmate 29x series), as long as the hardware is about the same
Please take note that if you destroy your linux installation or your computer by following what is described here, I'm not responsible. What's written here works fine for me, but it might not work as fine for you. So please ensure that you fully understand what is explained. Don't just use my configuration files, try to understand them.
If you have any comments or suggestions, please send me an e-mail, I'd be happy to answer it:
thestik at gmail dot com
Let's start by using lspci to know what's inside this laptop:
0000:00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
0000:00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
0000:00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
0000:00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
0000:00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
0000:00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
0000:00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
0000:01:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
0000:01:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:01:02.0 Network controller: Intel Corporation PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
0000:01:04.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)
Here's what I have:
- An Intel Pentium M 1,3 Ghz processor with 1024kb cache
- An Intel i855GM integrated graphics card with 64Mb shared memory
- An Intel AC'97 soundcard
- A QSI combo CD/CD-RW burner and DVD player
- An ALPS touchpad
- An Intel Pro/Wireless 2100 Wi-Fi Mini-PCI card
- An SMC irCC infrared port
- A single Firewire port
- A single PCMCIA port
- An Intel AC'97 Winmodem
- A Realtek 8139 ethernet network card
1- The Graphics card
It's perfectly recognized and configured by dpkg, just choose the i810 driver and it'll work like a charm. Here's my
xorg.conf or my
XF86Config-4. I get about 650fps with glxgears in the 24bit mode, and twice as much in the 16bit mode.
2- The Sound Card
It's recognized on installation, and the kernel loads the snd-intel-8x0 module. It doesn't support hardware multiplexing, but I get pretty good results with dmix. Here's my
.asoundrc, just place it in your home folder. Arts or esd also give good results, but they eat up more CPU cycles, and the software compatibility is pretty bad too.
3- The Touchpad
The ALPS touchpad doesn't always work fine after installing Debian: the pointer is slow, and pretty hard to control. Install the Synaptics driver, it makes the pointer move smoothly, and also adds a virtual scrolling function on the sides of the touchpad (just like under windows with the acer software)
apt-get install xfree86-driver-synaptics
If you have a touchpad other than ALPS, you just need to modify your
xorg.conf or
XF86Config-4. However, if you do have an ALPS, things get a little complicated:
You'll need to patch the kernel, then compile it if it's a 2.6.x series before 2.6.11. If you have a 2.4 series, no problem, just add this lone to your
xorg.conf or
XF86Config-4, in the touchpad section:
Option "Protocol" "alps"
So if you have a 2.6.x prior to 2.6.11, you'll need to install the kernel source, then apply the alps.patch patch (get it from the Synaptics source
here ) by doing:
su
cp /where you put the file/alps.patch /usr/src/linux
cd /usr/src/linux
patch -p1 X alps.patch
Then, make menuconfig (or xconfig), make, make modules_install (read a how-to on kernel compilation if you don't know how to do this). For you lazy ones, here's my
configuration file for the 2.6.14 kernel. Beware, the 2.6.14 kernel is already patched, you just need to compile it!
Now, you need to add a special section to your
xorg.conf or
XF86Config-4. Take a look at mine. Be careful, I have an ALPS touchpad! This part of the configuration is different if you have another touchpad (for instance Travelmate 292s don't have ALPS touchpads)! Please read Synaptics' faqs and documentation
here.
4- TV and VGA-out
I'm on it!
If you have a 2.4 kernel with Xfree, you might want to try Intel's official drivers. Apparently they handle this pretty well.
5- The Winmodem
The AC'97 Winmodem works fine with SmartLink's non-free drivers. Here's how to install them:
apt-get install sl-modem-source sl-modem-daemon
Please note you'll need to add non-free packages to the debian repository in your /etc/apt/sources.list. Here's
mine. It also has many sources to install mplayer, freevo, java...Just uncomment what you need, then do apt-get update
6- Network Card
The network card is very standard, Debian automagically recognizes it. The kernel module is 8139too. I'd recommend installing the laptop-net package, which automatically detects whether an ethernet cable is present, avoids doing useless DHCP requests on boot, and also automatically casts DHCP requests when a cable's connected.
apt-get install laptop-net
7- Wireless LAN
Since the 2.6.14 kernel, the ipw2100 et ipw2200 drivers are included in the kernel, so you shouldn't need to compile them, just choose the proper module.
If you want to install them manually, download them
here.
To install them, extract the package, make, su, make install. For more information read the readme file included in the package.
You can install them via dpkg, too, thanks to module-assistant:
apt-get install module-assistant ipw2100-source
Than, run module-assistant as root, and follow instructions.
This card is perfectly supported by kismet, which is a great tool. Here's my
/usr/local/etc/kismet.conf . Don't forget to change the suiduser= variable by writing your username!
8- CD burner
It's a QSI burner, which is perfectly recognized by K3b. Works fine.
9- Firewire
Most people say it works fine, but I don't have anything to try it out.
10- Infrared Port
Tried it with no success, apparently there aren't any drivers for SMC IrCC devices (yet). Also, very little documentation is available on the subject, so I have no idea how to make it work. If you managed to use it, please contact me!
11- Hotkeys: P1 and P2 buttons, volume control, etc
No need for drivers, they work just fine. To use the the additional keys, I'd recommend xbindkeys, a pretty nice program. For volume control, rexima combined with xbindkeys does the trick. To install xbindkeys and rexima:
apt-get install xbindkeys xbindkeys-config rexima
Now to configure xbindkeys, you can use xbindkeys-config (run it from a terminal). It's a very easy to use graphical tool. For lazy ones out there, here's my
.xbinkeysrc. Just place it in your home folder. P1 launches Firefox, and P2 Kmail. Then, you need to make xbindkeys run on boot. I did a small script I put in ~/.kde/Autostart so that xbindkeys is launched when KDE starts. There are many ways to do this, see for yourself.
12- Centrino and Speedstep
The officiel Debian kernel doesn't have what's best for my pentium M, so I compiled my kernel. If you want, you can use my
kernel configuration for 2.6.14. I use
laptop-mode-tools for HDD management, and klaptop to handle CPU frequencies (but you can also use laptop-mode-tools for this).
apt-get install laptop-mode-tools
Then edit the /etc/laptop-mode/laptop-mode.conf file. Everything is explained in that file, just edit to your suiting (but be careful). Laptop-mode-tools handles many things, such as CPU frequency when on battery, disk timeout, etc. Really gets my battery running longer. Here's my
laptop-mode.conf.
13- Precompiled kernel packages
For those lazy ones out there, I compiled a debian package of my 2.6.14 kernel. Download it
here. I tested it and it works fine. To install it, log on as root then:
dpgk -i kernel.deb
Please use this precompiled kernel only if you're sure your hardware is identical or at least compatible. This kernel includes ReiserFS, ext3 and ext2 support hard-coded. I can't guarantee I checked all the modules you need.
14- Suspending/Hibernation
Suspending works, but the computer doesn't return from suspending. Same for hibernation. The computer turns off, but upon rebooting, the kernel doesn't return to the previous state and hangs...I'd also advise you to turn off these options in the software you use to control ACPI (such as klaptop).
15- Software Suspend 2
Since hardware hibernation doesn't work, you can try Software Suspend 2 if you really need it.
The procedure to install and configure Software Suspend 2 is fairly complicated. Please thoroughly read its
documentation before trying anything.
Here's
a deb kernel precompiled with software suspend 2 support (with swapwriter enabled, not filewriter). To install it, please log as root then:
dpgk -i kernel-suspend.deb
You'll also need to install the hibernate script, by adding this entry to your /etc/apt/sources.list:
deb http://cp.yi.org/apt/hibernate/ ./
Then apt-get update, and:
apt-get install hibernate
Now edit the /etc/hibernate/hibernate.conf file (run hibernate -h for explanations on options). Here's my
hibernate.conf.
Next, you'll need to edit your lilo.conf/grub menu.lst and add an option to the kernel for Software Suspend 2, for instance:
resume2=swap:/dev/hda5
Which means you want to resume from /dev/hda3, your swap partition. Change accordingly, and make sure your swap partition is big enough!
Here's an example of a typical grub entry with software suspend 2:
title Debian GNU/Linux, kernel 2.6.14 Default
root (hd0,5)
kernel /boot/vmlinuz root=/dev/hda6 ro resume2=swap:/dev/hda5
savedefault
boot
Finally, to hibernate, simply launch "hibernate" as root in a terminal. Software Suspend 2 is far from perfect, please keep that in mind when you use it!