Linux on the Fujitsu LifeBook P2020
Apologies for the rubbish quality of the images. If you can spare the time for better ones, please edit this page.
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:
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.
Edit /etc/apt/sources.list to include:
deb http://people.debian.org/~daenzer/dri-mach64/ ./
$ 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:
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:
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)
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.
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
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 $_ $_`' /tmp/mixer_settings
ACPI S3 is not supported on kernel 2.4 but this:
$ echo 5 > /proc/acpi/sleepturned 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