Debian unstable on the Acer Travelmate 661 LCI

Last Update: 24-06-2004
The aim of this text is to give a compact overview on the Linux abilities of the Acer Travelmate 661 lci. Some parts of my text could be copied from other sites, which can mostly be referred to via tuxmobil.org in the Acer section. TuxMobil - Linux on Laptops, PDAs and mobile Phones

Kernel

On my debian/unstable system I now use the 2.6.6 kernel from kernel.org. I patched it with some Colin Kolivas Overloaded Kernel Patch (which is not necessary, but I like to have features I do not even use). For patching go to your kernel directory (where you have unpacked 2.6.6, say, /usr/src/linux), run a bzcat ../patch-2.6.6-cko1.bz2 | patch -p1 , assuming you have put the patch file one directory above. Here is my kernel .config file for the 2.6.6 cko kernel. I encourage you to have a look at Linux Patch Portal to get an overview over the various different kernel patches available.

Modem

Download the slmdm-2.9.4 driver file from SmartLink. Unpack and do a simple make and make install as described in the README file.
The older version (2.7.10) works with the 2.4 kernel series, but not those in between. They will dial more numbers than needed, or they won't catch the CONNECT. The 2.7.10 had to be modified as follows:
In the file amrmo_init.c the line #define PCI_DEVICE_ID_ICH3 0x2486 has to be changed to #define PCI_DEVICE_ID_ICH3 0x24C6
Now do a make, make install-amr
The the loaded kernel module slamr and the slmodemd application make /dev/ttySL0 available for pppd or minicom.

PCMCIA and Wireless LAN

Simply compile the kernel with pcmcia, cardbus, i82365 support.
Use cardctl etc. to control the slots.
Before Centrino support for Linux started I have used an orinoco based pc-card. Fine explanation on linux&wireless can be found on: http://www.holtmann.org/linux/wlan
I realized yenta_socket would be much more convinient for my wireless card, so I changed for quicker loading in /etc/default/pcmcia to: PCIC=yenta_socket The Linux Centrino Project even supports sniffing mode. Just follow the instructions to compile the driver yourself. To automatically join networks I successfully tried out the waproamd project.

Broadcom ethernet

For the 2.4 series kernel I chose the broadcom 4401 network interface device to run best with original drivers by broadcom.
unzip and follow the readme
Since 2.4.22 kernel built-in drivers also exist and work, but I had some problems on taking the interface down and up afterwards.
In 2.6 it runs flawlessly with the kernel provided module.

Sound

Works best with the oss/free kernel module i810_audio in 2.4 series. I also tried the alsa drivers from version 0.9.6 upwards. In 2.6 the kernel built-in also stuff does a good job.
The loud pc speaker beep is really annoying, if you don't have this driver installed. Nevertheless I picked some links about making your speaker shut up, even if no sound driver used: http://www.tldp.org/HOWTO/mini/Visual-Bell.html For making the pcmcia card services shut up edit the /etc/default/pcmcia to CARDMGR_OPTS="-qvf"

Firewire

Seems to be recognized, but I don't have any hardware to test with.

USB

Works uhci and ehci based.

Flash card reader

It works with right options enabled in the kernel. A goog guide to this can be found on: http://vic.dyndns.org/linux-UsbMassStorage/
Afterward you can mount the cards as /dev/sda1

Touchpad

Download the cool synaptics driver from
Peter Österlunds Site
and add some lines to XF86Config (see the instructions on the 2.6 kernel on his site) and get also external usb mouse working as described on:
http://misc.kcore.org/linux-on-acer/linux-on-acer.html

Look below for my XF86Config file.

CD-RW

In 2.4, big problem for me at first. Now I got it working and I still don't know, what the problem was. Some kernel option made the ide-scsi module crash the complete system. Now it works, accessible through /dev/sr0
In 2.6 the ide-scsi module is said to be no more needed for just burning CD-Rs, the ide-cd now does the job. K3B or similar apps work fine with ide-cd.

Speedstep

In 2.4 the speedstep-centrino module and the cpufreqd daemon did a good job.
Now, in 2.6, it is already built-in. But in practise I have some problems, seeing it work.

IrDA

If you activated the irda stack (don't forget to acticate in BIOS) in the kernel plus the national semiconductor FIR chip (see my kernel config for details) you can follow these steps: First of all a good choice would be to apt-get install irda-common. Here most choices can already be made.
The nsc-ircc kernel module makes the Fast Infrared port working. 
  1. Enable the port in the BIOS
  2. Disable the tty port in linux: setserial /dev/ttyS1 uart none
  3. Load the nsc-ircc module with the correct parameters: modprobe nsc-ircc io=0x2f8 irq=3 dma=1
  4. Launch irattach on the irda0 device: irattach irda0 -s
To make the /dev/ttyS1 shut up at boot time, I thought of removing the serial module itself, but it can also be done via editing the /etc/serial.conf: Just insert this tiny line  /dev/ttyS1 uart none and add the etc-serialconf script to your rc.d folder before irda script starts.
I had an irq conflict with my wireless card, since it always wanted irq 3 reserved for itself. So I simply changed loading (pcmcia after irda) in the rc.d folder. Now I uses irq 5. That's pretty ok.
My irda.conf, modules.conf

For getting GPRS etc. to run with IrDA refer to:
http://kotinetti.suomi.net/mcfrisk/linux_gprs.html
A good sample description on getting the S45 cell phone to work can be found on:
http://fiachra.ucd.ie/~gavin/s45/gprs.html

Harddisk

Well, udma5 mode is already activated by default, as hdparm shows. Although not tested, the kernel parameter ide0=ata66 might be useful, although it might be a risky task.

Softkeys

They do work with Acer Hotkey Driver for Linux. Load the kernel module with modprobe acerhk usedritek=1, afterward you can use gnome acme or even light up the email led as described in the documentation.

Smartcard Reader

The manufacturer provides a driver for 2.2 kernel series, but has not released newer versions yet.
Since that version was closed-source, there cannot be done much to resolve this issue. From time to time I get updates from o2micro, but always for old kernels.

The VIDEO & SVHS output

To get 1400x1050 resolution work you need some extra tools:
Go to Alain Poirier' website and download at least the 0.2 driver for rewriting the intel video bios. In line 33 of 855resolution.c replace *bios_type=-1 with *bios_type=0. After make and make install you can execute 855resolution 4b 1400 1050 e.g. to get 1400x1050@16bit working with xfree, assuming you habe added that resolution to your XF86Config. Remember to run 855resolution after every boot.
The old problem is described below from http://www.xfree86.org/~dawes/845driver.html:
I often get questions about using "non-standard" video modes with this driver. The driver currently does all video mode initialisation by using the video BIOS. A limitation of this is that only those video mode resolutions supported by the video BIOS can be used. Unfortunately some laptops that come with screens with slightly unusual resolutions (like 1400x1050) don't also come with a video BIOS that supports those resolutions. There is no workaround for this in the current driver.
Annoying thing.
You need at least Xfree 4.3 for native support (non framebuffer/ vesa). See http://www.xfree86.org/4.3.0/Status17.html#17

In order to install XFree86 4.3 I simply added the experimental branch to my /etc/apt/sources.list:
deb http://ftp.de.debian.org/debian ../project/experimental main contrib non-free
deb-src http://ftp.de.debian.org/debian ../project/experimental main contrib non-free

After a apt-get update you can apt-get -t experimental install x-window-system-core xserver-xfree86 xfree86-common xlibs. I do not really remember if that is enough to upgrade to 4.3 XFree, but maybe it already does it. See my XF86Config for additional information.
DRI runs flawlessly with i830 kernel module loaded.
The drivers Intel supply on their website hung my X-Server.
The VGA-out only seems to work if already connected at boot time. This can be easily fixed by the tool i810switch, which is also available via apt.
The SVHS output I have not testet yet.

System Information

General system information:
Linux code-mobile 2.6.0 #2 Sat Jan 3 16:34:07 CET 2004 i686 GNU/Linux

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 9
model name	: Intel(R) Pentium(R) M processor 1400MHz
stepping	: 5
cpu MHz		: 1395.500
cache size	: 1024 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu vme de pse tsc msr mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe tm2 est
bogomips	: 2760.70
    
Dateisystem          1K-Blöcke   Benutzt Verfügbar Ben% Eingehängt auf
/dev/hda5              4032092    932076   2895192  25% /
/dev/hda6              6048320    854364   4886716  15% /var
/dev/hda7              2885780   1025196   1713996  38% /opt
/dev/hda8              9614116   3073436   6052308  34% /usr
/dev/hda9              7020776   4564116   2100020  69% /home
/dev/hda11             1590344    474480   1115864  30% /mnt/suse
    

Platte /dev/hda: 40.0 GByte, 40007761920 Byte
255 Köpfe, 63 Sektoren/Spuren, 4864 Zylinder
Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes

    Gerät Boot      Start         End      Blocks   Id  System
/dev/hda1               1         637     5116671    b  W95 FAT32
/dev/hda2            4665        4863     1598467+   c  W95 FAT32 (LBA)
/dev/hda3            4864        4864        8032+   e  W95 FAT16 (LBA)
/dev/hda4             638        4664    32346877+   f  W95 Ext'd (LBA)
/dev/hda5             638        1147     4096543+  83  Linux
/dev/hda6            1148        1912     6144831   83  Linux
/dev/hda7            1913        2277     2931831   83  Linux
/dev/hda8            2278        3493     9767488+  83  Linux
/dev/hda9            3494        4381     7132828+  83  Linux
/dev/hda10           4382        4466      682731   82  Linux Swap
/dev/hda11  *        4467        4664     1590403+  83  Linux

Partitionstabelleneinträge sind nicht in Platten-Reihenfolge
    

Hard Disk


/dev/hda:

 Model=TOSHIBA MK4021GAS, FwRev=GA224A, SerialNo=73VK6468T
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=46
 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=off
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78140160
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  sdma0 sdma1 sdma2 mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: device does not report version:

 * signifies the current active mode
    

PCMCIA

Output of cardctl ident:

Socket 0:
  no product info available
Socket 1:
  product info: "O2Micro", "SmartCardBus Reader", "V1.0"
  manfid: 0xffff, 0x0001
    

Sound

Output of cat /dev/sndstat:

Sound Driver:3.8.1a-980706 (ALSA v0.9.7 emulation code)
Kernel: Linux code-mobile 2.6.0 #2 Sat Jan 3 16:34:07 CET 2004 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
Intel 82801DB-ICH4 at 0xe0100c00, irq 10

Audio devices:
0: Intel 82801DB-ICH4 (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices: NOT ENABLED IN CONFIG

Timers:
7: system timer

Mixers:
0: Realtek ALC202 rev 0
    

Survey PCI Devices

Output from lspci:

00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
00:00.1 System peripheral: Intel Corp.: Unknown device 3584 (rev 02)
00:00.3 System peripheral: Intel Corp.: Unknown device 3585 (rev 02)
00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 03)
00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 03)
00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 03)
00:1d.7 USB Controller: Intel Corp. 82801DB USB2 (rev 03)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corp. 82801DBM Ultra ATA Storage Controller (rev 03)
00:1f.3 SMBus: Intel Corp. 82801DB/DBM SMBus Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem Controller (rev 03)
02:02.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)
02:04.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
02:06.0 CardBus bridge: O2 Micro, Inc.: Unknown device 7113 (rev 20)
02:06.1 CardBus bridge: O2 Micro, Inc.: Unknown device 7113 (rev 20)
02:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)
    

mail(at)felixholzke.de
www.felixholzke.de