Note: I no longer work with the TravelMate tablets or Debian Sarge. This page remains for reference purposes. If you have additions or updates, please create an account and add them to the site.
Introduction
Last month, in preparation for our LUG's first ever InstallFest, I decided to install Debian Sarge (see Resources) on my company issued Tablet PC.
I was issued a Tablet PC so I could support a pilot project involving tablets in the classroom. The project has been going well, but I don't use the tablet as much as I'd like. I occasionally use it for support and issue resolution, but it's got a great form factor that makes me wish I could use it more. More, that is, without getting perpetually cranky at Windows XP Tablet PC Edition. So with my recent excellent results with Debian Sarge on my desktop machine, I decided to give it a try. Apparently a few people had given it a shot previously, but the number of pages Google returned was smaller than I had hoped. And so the battle began.
At this point (26 Mar 2004) , I have the table running Debian Sarge in a generally passable way. I've run it under both a 2.4 kernel (2.4.24 to be exact) and a 2.6 kernel (2.6.3 to be exact). I'm writing this on the tablet running the 2.6.3 kernel. Even though it mostly works, it still has some, er, "quirks", though, which make it less than optimal for daily usage. This page records my experience in hopes that someone else will be more succcessful than I, and will in turn share their knowledge.
Installation
Installation was a challenge in and of itself. The Travelmate C100 does not have an internal optical drive, and when shipped with an external model has two flavors: USB (older) and IEEE-1394 (current). The particular unit I was working with came with the external IEEE-1394 CD-RW/DVD-ROM combo drive. While the BIOS claims to boot from the, my results were mixed.
What I can only assume is a BIOS issue causes the optical drive boot to fail if both the tablet and external drive are not powered on at approximately the same time. Note that this rules out simple reboots when testing different boot schemas. I had access to an external USB CD-ROM as well, but had difficulty getting the Debian Sarge netinst CD-ROM to successfully boot. The tablet would boot far enough to see the CD-ROM and load ISOLINUX, but the kernel was unable to cope with being loaded from a USB device.
My solution was not optimal and still fraught with it's own problems. I knew that I wanted to leave the tablet in a dual-boot state (since I was supposed to be using it as a support tool), but I also didn't have access to reliable NTFS capable resizing tools (PartitionMagic, etc). The solution was to repartition the drive, creating an empty place-holder partition for the eventual Windows XP Tablet Edition reinstallation. I then wrote the contents of the Debian Installer Project's USB mass storage intaller to that partition. The Debian Installer Project is working on improving and relacing the existing Debian installer. Their webpage has quite a few images and resources for installing Sarge.
I was attempting to perform a network installation, so I also needed the network drivers floppy from their site in order to support the on-board wired network (8139too).
The majority of the fight to this point involved actually getting the tablet to boot. The take away lessons are:
- Use the USB mass storage image; it seems to work pretty well
- Use the semi-stable releases instead of the nightlies
- Make sure the datestamp on your USB boot image and your network driver images match. If they don't, you'll go crazy.
Configuration
Once the initial install was completed, configuration was a mixed bag. Some items were configured without problem. Others, like ACPI, were more difficult.
PCMCIA
Running the 2.4.24 kernel, the PC card services refused to load using built in kernel PC card support. I disabled the kernel's PC card support, and then downloaded and installed PC card services 3.2.7 from the Linux PCMCIA Information page. On reboot, the modules loaded and PC card services worked as expected.
The 2.6 kernel's built-in PC card support worked without any additional configuration necessary.
Integrated Wireless
The TravelMate C100 features optional integrated wireless in the form of a permanently installed Hermes chipset PC card. The PCMCIA card services package provided support in the form of the orinoco_cs module, which worked perfectly.
Sound
Audio support is provided by the i810_audio OSS module (2.4.x kernel) or the snd_intel8x0 module (ALSA). I worked with both modules, and both worked well. The only thing I had to do was Gnome related. The Gnome volume control applet expects to find the mixer in /dev/sound/mixer, instead of Debian's old-style /dev/mixer location. Using mknod with the appropriate paramters solved the problem.
USB
USB worked with only the usb-uhci module installed.
IEEE-1394
The IEEE-1394 port built into the Travelmate C100 is based on the [insert chipset here]. In the 2.6.x kernel this is natively supported by the ieee1394 module. In order to use IEEE-1394 based storage devices, you'll also need the sbp2 module (like most chipsets).
Touch Screen / Pen Support
There are two steps in getting pen support to work. First, you need to get the digitizer recognized, and second you need to get the digitizer input into X. This was easily accomplished using the excellent work by Dean Townsley, available at LinuxDevices. The following details are shamelessly cribbed from his article.
The digitizer is a modifed Wacom digitizer on a non-standard, virtual serial port. In order to connect the serial port, you need to add the following line to /etc/serial.conf:
/dev/ttyS0 port 0x93f8 autoconfigure
You also need to make sure that setserial is added to the proper run-level's init scripts. With Debian this is typically run-level 2, so you'll need:
ln -s /etc/init.d/setserial /etc/rc2.d/S20setserial
Getting the digitizer input into X is accomplished using Townsley's input module, available from the link above (also in Resources).