Linux on the Fujitsu LifeBook P2020

click for a larger image click for a rundown of the ports
Apologies for the rubbish quality of the images. If you can spare the time for better ones, please edit this page.

[ hardware | installation | X | sound | modem | DVD | development | power management ]

hardware top

  • Transmeta Crusoe TM5600 CPU (633 MHz, 1248 BogoMIPS)
  • 128 MB SDRAM, 112 MB usable
  • TOSHIBA MK1517GAP ATA DISK drive (15097 MB)
  • MATSHITA SR-8175 ATAPI CD/DVD-ROM drive (24X)
  • ATI Rage Mobility P/M Graphics Adapter
  • 1280 x 600 display
  • Acer Labs M5229 IDE Controller
  • Acer Labs M5237 USB Controller
  • Acer Labs M5451 Audio Controller
  • Texas Instruments PCI1410 PC card Cardbus Controller
  • Texas Instruments TSB12LV26 FireWire Controller
  • NO FLOPPY DRIVE, which is fair enough. It's not much use after Linux installation anyway

The standard battery lasts 3 hours and the extended 6 hours at 633 MHz and full brightness extending to 10 hours at 300 MHz and minimum brightness.

installation

Debian "potato" was installed in an unusual way using the boot floppies without a floppy drive.

"potato" was upgraded to "woody" and then "sarge" using the:

apt-get dist-upgrade

..command without issue.

X top

XFree86 4.1.0 and Xorg 6.9 detect the display automatically, using the "ati" driver.

At one point the X server was not delivering events to applications when the Windows keys were pressed. Now it is, but unfortunately I don't know what fixed it. The program xev shows events when the Windows keys are pressed.

Like a fool, I used kbdrate -r 30 to change the keyboard delay before repeat, but a more permanent solution is using /etc/X11/XF86Config-4:

Section "InputDevice"
    ...
    Option      "AutoRepeat" "250 30"
    ...
EndSection

Rather than use KDE or GNOME, which run slowly on this machine, I use icewm, which consumes far less resources. chameleon may be used to set the wallpaper.

DRI

Edit /etc/apt/sources.list to include:

deb http://people.debian.org/~daenzer/dri-mach64/  ./

and:

$ sudo apt-get update
$ sudo apt-get install xlibmesa-dev-dri-mach64 \
    xlibmesa3-dri-mach64 \
    xserver-xfree86-dri-mach64

If the machine is used for OpenGL development, the following packages must be hacked to avoid file clashes with the mach64 packages:

  • xlibmesa-gl-dev
  • xlibmesa-glu-dev

XFree86 complained that DRI could not allocate memory. The amount of memory it tries to allocate depends on the display resolution and colour depth. At 1280x600 with 24 bits per pixel it was trying to allocate 7500 kB. The solution is to use a display mode that consumes less memory and to switch to 16 bit colour depth. The new modes require mode lines:

Section "Monitor"
    Identifier  "Flat Panel"
    Modeline "1024x600@75" 62.78 1024 1056 1288 1320 600 611 619 631
    Modeline "1024x512@75" 51.85 1024 1056 1248 1280 512 521 528 538
    Modeline "960x600@75" 59.09 960 992 1216 1248 600 611 619 631
EndSection

(the mode lines were provided by the xtiming project)

The 1024x600 mode complains that insufficient texture memory could be allocated. The 1024x512 mode has square aspect but looks blurry and the 960x600 mode has wide aspect but doesn't look so blurry.

The rest of the XF86Config-4:

    ...
    DefaultDepth     16
    ...
    SubSection "Display"
        Depth     16
        Modes    "960x600@75" "640x480"
    EndSubSection
    SubSection "Display"
        Depth     24
        Modes    "Native panel mode" "640x480"
    EndSubSection
    ...

..permits 1200x600 with 24 bit and xv acceleration to be started with:

$ startx -- -depth 24

..and 960x600 with 16 bit and DRI to be started with:

$ startx

sound top

Previously, I couldn't get any sound out of Line Out. This works now. I think the upgrade to kernel 2.4.20 fixed it.

modem top

This laptop has a Lucent SoftModem AMR. It is possible to use this modem despite web pages to the contrary. The modem hides behind the sound card, which has PCI ID 10b9:5451 (M5451 PCI AC-Link).

This thread was the motivation for trying to get the modem to work one more time.

Some of these steps might not be necessary. I carried on fiddling until the modem worked.

The files under /proc/asound/ looked like some software was already loaded for the modem, especially /proc/asound/card0/pcm1c/info. This is after loading the snd-ali5451 module on kernel 2.6.16.

sl-modem-daemon 2.9.9d+e-pre2-6 from Debian "testing" and its dependent libasound2 1.0.12-1 were installed on Sarge. To get the packages to install, the dependencies must be edited from:

libc6 (>= 2.3.6-6)

..to:

libc6 (>= 2.3.2)

This is part of /etc/chatscripts/provider:

# turn off V90 apparently
OK-AT-OK "AT+MS=22"
# set high volume
OK-AT-OK "ATL3"

This was necessary to get the modem to listen to the phone line:

setmixer phin 90

slmodemd was started like this:

sudo slmodemd -d12 --alsa hw:0,1 --shortbuffer

Using 115200 in /etc/ppp/peers/provider caused problems but 57600 works.

Other packages I found useful were minicom and pppconfig.

DVD top

I don't use this machine for DVD playback any more but MPlayer seems to be faster than Xine and even MPlayer can't cope with encrypted DVDs although unencrypted DVDs play without dropping any frames.

development top

The C compiler options (taken from a kernel compile with CONFIG_MCRUSOE set):

-march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0 -mcpu=pentiumpro

power management top

Linux kernel 2.4 doesn't support hibernation, but suspend works straight away as long as the kernel uses APM. To give you an idea of how long you can safely leave it suspended, the battery went from 100% in suspend mode to 11% over a period of exactly 7 days.

The mixer seems to lose its settings after a suspend/resume, but is easy enough to cope with since you can hang your own scripts off the APM suspend and resume events, which can save and restore mixer settings. If you've got setmixer installed, this is as simple as:

$ cat /etc/apm/suspend.d/mixer
#!/bin/sh

setmixer -V > /tmp/mixer_settings

$ cat /etc/apm/resume.d/mixer
#!/bin/sh

perl -ne 'split;print `setmixer $_[0] $_[2]`' /tmp/mixer_settings

ACPI S3 is not supported on kernel 2.4 but this:

$ echo 5 > /proc/acpi/sleep
turned the power off straight away, as expected. After installation, acpid listened to the power button and issued a halt command although the KDE session was lost. acpid didn't seem to come with any event scripts for making suspend work.

Documentation/laptop-mode.txt in your kernel source directory describes laptop mode which helps keep the hard disc drive in standby mode for longer. I didn't configure this in the kernel, so I guess it's included automatically in 2.4.25. Enable it with this:

$ echo "1" > /proc/sys/vm/laptop_mode
$ echo "30 500 0 0 60000 60000 60 20 0" > /proc/sys/vm/bdflush

The second command is the sysctl tweak referred to in the documentation. Here's how to find out which process is spinning up the disc:

$ /etc/init.d/sysklogd stop
$ echo "1" /proc/sys/vm/block_dump

..then, when the disc has been accessed..

$ dmesg | less
$ echo "0" /proc/sys/vm/block_dump
$ /etc/init.d/sysklogd start

to do top

  • See if performance during playback of encrypted DVDs can be improved
  • See if the buttons and the LED on the application panel can be used, i.e. set up (this driver)


Valid HTML 4.01! To edit this page, get added as a developer here
($Revision: 1.15 $, $Date: 2006/10/14 08:28:13 $)