Installing Linux on an Acer TravelMate 4052

This is a brief summary of things I had to do to get Linux onto my new Acer TravelMate 4052LCi. It does not describe how to install Linux, only covers the quirks that would be encountered in most distributions.

Video

Using the i810 X driver (X 4.4.0), along with the i830 and intel_agp kernel modules, not much else was needed to get X up and going.

I haven't tested framebuffer support. Text console works fine.

Audio

Using ALSA in 2.6.10-rc3, the snd_intel8x0 module "just worked". With some extra power management patches that will be in 2.6.10 it even suspends and resumes fine even while playing music (see Suspend-to-disk).

Modem

Between the snd_intel8x0m module and the slmodem daemon, I could bring up a modem-like chat in minicom very painlessly. I haven't tried dialing or connecting but things do look promising.

Wireless

The ipw2200 driver works with a minimum of fuss.

ACPI

Using ACPI, things like IRQ routing and the like seem fine. In terms of user-visible functionality, there are some glitches:

These can be fixed by patching the DSDT with a new DSDT. Here you can find my original DSDT, new DSDT, and the differences. Three of the changes were simply to get it to compile, and the other two correspond to the two bugs above. The charge/discharge rate is nothing clever - it's simply hardcoded to a value that equates to around 5 hours of battery life. (this is what my last Acer laptop did!)

CPU Frequency scaling works fine with the acpi_cpufreq module and the usual cpufreq gear. The CPU speed can be adjusted between 600MHz and 1.6 GHz.

CD recording

"Just works"(tm). Any 2.6 kernel, and cdrecord with dev=/dev/hdc should do it.

Suspend to RAM

Needed to boot with acpi_sleep=s3_bios. Then using echo -n mem > /sys/power/state puts the machine to sleep. Pressing any key or the power button wakes the machine up fine. No magic required.

Suspend to Disk

Using Software Suspend 2.1.5.8 on 2.6.10-rc3, and an ALSA patch gives a perfect suspend and resume every time.

Touchpad

Using the Synaptics driver in the kernel (in the psmouse kernel module) and the synaptics X driver, touchpad works great - movement, taps and scroll regions.

Hotkeys

The sleep, volume and mute hotkeys all send keyboard scan codes which I've assigned to do the right things under GNOME 2.8. Any hotkeys-like program would do the same.

I haven't gotten the two launch keys working yet. It didn't work with acerhk, and I haven't yet been motivated to try anything else.

The PageUp and PageDown keys were installed backwards on this laptop. I pulled off the keys and swapped them, and made a loadkeys fragment and xmodmap fragment to do the same in software:

Put into a file and run loadkeys over it:
keycode 104 = Next
	shift   keycode 104 = Scroll_Forward
keycode 109 = Prior
	shift   keycode 109 = Scroll_Backward
Put into your .Xmodmap or other relevant file.
keycode 99 = Next
keycode 105 = Prior

Specifications

lspci

0000:00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
0000:00:00.1 System peripheral: Intel Corp. 855GM/GME GMCH Memory I/O Control Registers (rev 02)
0000:00:00.3 System peripheral: Intel Corp. 855GM/GME GMCH Configuration Process Registers (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
0000:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corp. 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 Corp. PRO/Wireless 2200BG (rev 05)
0000:01:04.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)

dagobah@ucc