SuSE 9.1 Linux on a Fujitsu P5020D Lifebook

Last update to this page: 26.8.2004

Description of the Computer

The Fujitsu P5020D is a subnotebook that is smaller than your A4 writing pad. It sports a 10.6" wide format screen. Look at the Fujitsu Web site for the lowdown on the hardware: http://webshop.fujitsupc.com/fpc/Ecommerce/buildseriesbean.do?series=P5D

Picture of a Fujitsu P5020D laptop running Suse linux

Mine has a removable in DVD/CD writer combo drive. I also got the extra battery which swaps into the place of the optical drive and then gives me about 8 hours of uptime without paying special attention to being battery friendly. The main battery lasts over 3 hours.

I am very happy with this little jewel. It weighs only 2kg and has the size of a hardcover book. It fits easily into your luggage and allows you to take 8 other kilograms of stuff onto the plane in your hand luggage allowance. The size is small enough so you can open the lid and work on it in the cramped space of an economy plane seat or backseat of a car.


News: The upgrade from SuSE 9.0 to SuSE 9.1

I was very apprehensive and put this off for about two months. I found lots of good reasons to put it off: My desktop PC had bust a disk and needed to be stable on 9.1 before I risked all my data, Box Backup needed to be set up properly, I needed a free weekend to fix the problems etc. Eventually I was ready. It went surprisingly smoothly. At first. The Madwify drivers for the 801.11b/g are either part of the SuSE kernel or were lying around from 9.0. Anyway the network worked right away. So did printing over the network. UTF-8 is the new font encoding scheme which is apparently the way to go but nedit doesn't like it and that's probably why SuSE chucked it from the distro. I reinstalled it anyway and it messes your umlauts up badly in a non US English language document. Use kate instead. The soundcard was problematic but eventually decided that it did accept the configuration and worked. The CD/DVD/burner gave me massive headaches. It wasn't being recognised. It seems to be something with the ide driver and that needs a little prodding at booting. Add hdclun=3 hdc=cdrom to the boot options in /boot/grub/menu.lst and if you are lucky like me it will work. The best thing about the upgrade is that it is running Kernel 2.6 which has ACPI support and now the laptop can do shutdown / resume!

Installation of SuSE 9.0

Installing SuSE 9.0 was very simple. I bought the DVD. The shop had a green Professional Box and next to it an Update Box which was cheaper. There was not much describing the difference. Perhaps the Full version has an extra manual? The Update box was cheaper so I took that home. I do have the SuSE 7.2 DVD's lying around but didn't need those.

Installation was straight forward. There is a partition resize tool which can shrink the Windows XP partition down to around 6GB. I had to buy XP even though I don't care for it because of the way Fujitsu have made their deal with Microsoft. So I might as well keep it. It comes in handy when proving that new hardware works.

I set up a Swap partition, a partition for the Operating system and one for my data. My data is important to me and Laptops are easy to loose as several newsitems involving the British Secret Service have highlighted. So I replicate it to my main machine at home via ssh and the unison synchronisation tool. To prevent it getting into the wrong hands I set up a crypto partition upon which the Reiserfs filesystem operates. This is all easy to do with the SuSE installation tool Yast2. Just follow the instructions.

Most things can be set up with Yast2. Read the manual.


What I had trouble with:

The screen resolution of 1280x768.

The Fujitsu guys botched the Video Bios and it doesn't have the native resolution of 1280x768 mentioned there. Unlike the Windows driver, the Linux driver refuses to use settings that are not mentioned in the VBIOS and we are left with 1024x768. As the developer of the driver has moved on to more exciting projects there seemed little chance of this ever working. There is a commercial closed source driver available from Xig which costs a small amount of money. I tried to install the demo but failed because I hadn't set up a compilable Kernel.

However, Andrew Tipton figured out a way round this. He wrote a tiny program that copies the VBIOS into RAM and then adds the missing video mode. After this is run the driver has no problems using the extra pixels.

Check this discussion for the full story: http://www.leog.net/fujp_forum/topic.asp?TOPIC_ID=5371
The patch is located here: http://nomadic.null.li/intel/1280patch.c or as the server was a bit dodgy I have put the version I pulled here.
You compile the patch with the command: gcc -o 1280patch 1280patch.c
Make it executable: chmod a+x 1280patch
You execute it with the command: ./1280patch.c
You must be root to do this. In order for the XFree86 driver to use the mode correctly it needs to have the following statements in your /etc/X11/XF86Config:

Section "Monitor"
Identifier "internal_panel"
Modeline "1280x768" 80.14 1280 1344 1480 1680 768 769 772 795
EndSection
Here is my current /etc/X11/XF86Config file. Beware thought that I might have stuff configured you don't want. XF86Config.p5020d
In order to have the patch started automatically I canibalised an init script. Each distro boots differently but if you have SuSE and want to do what I did, put the compiled patch into /etc/X11/ as 1280patch. Then write an init script to start it or use mine: videopatch. This goes into /etc/init.d Then call up the Yast2 runlevel Editor and tell it in Expert Mode that you want this script run in runlevel 3.

Well done Andrew!

By the way: To switch from the stretched view of the 1024 to the non stretched view you press Fn-F5.

VMware

SuSE supply the kernel drivers for VMWare. It says Version 3.something. If you install VMware 4.05 it complains that the drivers need to be built. You must build them but answer NO to the question where it wants to install them. If you installed them, overwrite the freshly compiled drivers with the ones from the SuSE disk i.e. the 3.something drivers. The drivers you compiled will help Windows crash if you boot windows in the emulator. The version 3 drivers work.

I have just upgraded to the SuSE Kernel 2.4.21-166. Yet again VMware is very unhappy. This time the Version 3 drivers only allow my favorite App to live for 5 mouseclicks before hanging the virtual machine. I discovered some discussions about the following driver and after downloading and running the runme.pl program, and a compile later VMware works correctly:

  http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update48.tar.gz

RealPlayer

I like to watch the Swiss TV news while I am in South Africa with my ADSL line. When fired up from Mozilla under KDE the RealPlayer cannot connect to the soundcard. This is due to the artsd daemon. The Arts Daemon is some KDE thing which allows KDE apps to share sound and can apparently also resample the output if you need this. The simplest thing is to kill the artsd job and realplayer is happy. Alternatively Gnome doesn't have this issue as it doesn't use artsd. The more elegant solution is to use the artsdsp program to wrap the realplayer. I instructed Mozilla to start a script when a realmedia stream should be played. The script does the following:

/opt/kde3/bin/artsdsp /usr/bin/realplay $1

The sound up / down buttons

I added

! mute
keycode 160 = F30

!volume down
keycode 174 = F31

! volume up
keycode 176 = F32

!windows key
keycode 115 = F33

! menu key
keycode 117 = F34
to my /usr/X11R6/lib/X11/Xmodmap file and to the file /usr/X11R6/lib/X11/etc/xmodmap.std This maps the keycodes to the F30 through F34 buttons. Then in KDE you can set up shortcuts. This sounds simple. It wasn't. I had to add a menu entry for Volume up, Volume down, and Volume Mute. These had to be associated with a script which then calls
amixer set Headphone 5%+
amixer set Headphone 5%-
amixer set Headphone toggle
respectively. To these menu items you associate the key bindings created above by pressing Fn-F9, Fn-F8, Fn-F3 respectively.

Output volume

It was only on a web post that I discovered that master sound volume is not the one that drives your output sound level. It is the headphone output level. If you adjust this the internal speakers are quite loud. The KAmix mixer doesn't have the control which is most unhelpful. Use the alsamixergui or alsamixer instead.

Listening to Webradio

http://www.radioplay.ch/ This was caused by mplayer not being installed and it is not part of the distro. Download recent rpm's from the web and kill artsd for this to work. Also you must start mozilla from the command line and not background (&) it because it doesn't work then.

The network interface

I noticed the strange behavior that the notebook sometimes would boot up without the network interface and nothing would convince it to turn it on other then rebooting with the network cable plugged in. Eventually I tracked this behavior down to the BIOS. There is a setting under Advanced Options which when set to Auto causes this. If it is set to Auto then the LAN interface will only be activated when there is a LAN signal on the wire. This, however, is only done when the Laptop is running from Battery. That's why this was so baffling. Turn this option to "Enabled". You don't want to reboot the laptop just because you decided you wanted to use the Network all of a sudden.

Wireless

I deliberately got myself the P5020D version of the computer. This has the Pentium M processor but not the Centrino wireless chip. Intel is refusing to release the specification for that wireless chip and hence nobody can write drivers for it. There is a petition to get this supported. I think they released specs in the mean time. The Atheros chip in my laptop is supported but a little bit painful to configure.

The driver is here: http://sourceforge.net/projects/madwifi/
This page is helpful: http://madwifiwiki.thewebhost.de/wiki/SuSE90ProfessionalThinkpadR40IBMTriBandMiniPCICard

The first problem was that uudecode was not installed and that crashes the compile in a non-obvious way. Install the sharutils rpm from the SuSE distro!
Download the driver with the following command:

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
Then do a make and a make install as root. Then you need to load the drivers and set options:
modprobe wlan
sleep 3
modprobe ath_hal
sleep 3
modprobe ath_pci
sleep 3

iwconfig ath0 essid "myplace.net"
iwconfig ath0 nickname "raku"
iwconfig ath0 rate auto
iwconfig ath0 mode Managed
iwconfig ath0 txpower auto
iwconfig ath0 key 5AB7-1EA9-2F

sleep 1
ifdown ath0
sleep 1
ifup-dhcp ath0

route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1 dev ath0

echo "nameserver 196.25.1.1" >> /etc/resolv.conf
rcSuSEfirewall2 restart

There are still some funny things happening: Even if you have DHCP running on the access point you frequently do not get the routing set up. Sometimes it works though. Then the nameserver isn't always populated either. Not sure if this dhcp not working right or the driver or a combination or what.

CF Card Slot

Setting up the CF-Card reader was surprisingly easy. Plug the CF card into the slot and the Kernel recognizes the card and assigns it a device. This is /dev/hdc1 on my machine. It did use /dev/hde1 for a while. This might be when I have the CD drive inserted instead of the extra battery. To mount the CF card all I needed was a line like this in /etc/fstab and then I could simply mount and unmount the device. I believe my Nikon D100 camera formats the CF card along some sort of Microsoft Operating system mapping which is why vfat works fine.

/dev/hdc1            /media/cfcard         vfat       ro,noauto,user,exec   0 0

mount /media/cfcard
umount /media/cfcard

CD Burner

I was a bit apprehensive as I've had trouble with CD burners in the past. This was entirely unfounded as K3B happily wrote 700 MB to a CD with no problems at all. The drive reads DVD's with no issues and ripping mp3's with grip gave no hassles and identified the tracks via FreeDDB neatly.

The Fujitsu P5020D really dislikes having the CD drive removed while the computer is running. This is a quick way to halt your system. It reboots OK if you press the power button for 4 seconds. I'm not sure if this the laptop's fault or if the Kernel dislikes this so badly it hangs but don't try this at home.

Update from the SuSE 9.1 upgrade: See above. I had trouble with the 2.6 Kernel recognizing the drive.

USB Floppy

This was really easy: I plugged the USB cable in. The P5020D went bling and a lot of stuff was written to the kernel messages file. Quite by magic an entry was appended to the /etc/fstab. All I had to do was insert a floppy and mount the directory and all was fine! Someone has spent some serious effort to make this easy! Thanks!

Modem

I picked up the details from here. Basically you download the tar file from this site: ftp://ftp.smlink.com/linux/unsupp orted/ Then read the README, do a make and make install as root. Every time you want to use the modem you then must run the command: slmodemd --country=SWITZERLAND /dev/slamr0. This sets up a device called /dev/ttySL0 (watch the spelling; it's not ttyS0) which wvdial can then use. It works.

Update from the SuSE 9.1 upgrade: simply install the modem with YaST2. It decides it wants to install the package smartlink-softmodem. Then you can run the command above and wvdial and use dialup connections.

USB Mouse

I simply attached my Logitech optical mouse to the USB port. The YaST2 mouse module connects it nicely to my X server and that works. The touchpad and buttons connect nicely when you tell that YaST2 module that you are using the "PS/2 mouse - Aux-port".

Second Mouse

I'm not such a big fan of the touchpad mouse. It's fine on planes but otherwise I'd rather use my Logitech optical mouse. I was constantly switching between the two with

yast2 mouse
in supervisor mode. You can have both mice active at the same time if you change your
/etc/X11/XF86Config
to have an entry for both mice:

Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Device" "/dev/mouse"
  Option       "Emulate3Buttons" "on"
  Option       "Name" "Autodetection"
  Option       "Protocol" "PS/2"
  Option       "Vendor" "Sysp"
  Option       "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[2]"
  Option       "ButtonNumber" "2"
  Option       "Device" "/dev/input/mice"
  Option       "Name" "Autodetection"
  Option       "Protocol" "imps/2"
  Option       "Vendor" "Sysp"
  Option       "ZAxisMapping" "4 5"
EndSection

And then you need to add the second mouse to the server layout secont like this:

Section "ServerLayout"
  Identifier   "Layout[all]"
  InputDevice  "Keyboard[0]" "CoreKeyboard"
  InputDevice  "Mouse[1]" "CorePointer"
  InputDevice  "Mouse[2]" "AlwaysCore"
  Option       "Clone" "off"
  Option       "Xinerama" "off"
  Screen       "Screen[0]"
EndSection

Playing DVD movies and DivX rips

SuSE are scared of all the licensing issues surrounding Multimedia codecs and DVD decoding and such. So they distribute an old version of Xine with old codecs. Download the SuSE 9.1 packages for xine from packman.links 2linux.org instead. Also install the MPlayer stuff from there too.

Suspend / Resume

Finally with SuSE 9.1 and Kernel 2.6 this works! The only gotcha was that the 1280 video patch isn't running when the system comes back up and half your desktop has disappeared. I found some comments using Google and essentially all you need to do is run a script like the following:

#!/bin/bash
echo 4 > /proc/acpi/sleep
/etc/rc.d/videopatch start

Of course this assumes you have set up an init script videopatch that you can run as part of system startup that calls the patch. Here's mine: videopatch


Other Resources:

Fujitsu P5000D homepage: http://webshop.fujitsupc.com/fpc/Ecommerce/buildseriesbean.do?series=P5D
About changing the volume under Gnome: http://personal.utulsa.edu/~chad-blomquist/laptops/fujitsu/keys.html
Michael Leuchtenburg installed Gentoo onto the P5020D: http://slashhome.org/tech/p5020d/
Another guy with useful comments: http://chaosengine.net/p5020d
The LeoG forum for Non Windows OS on the Fujitsu P laptops: http://www.leog.net/fujp_forum/forum.asp?FORUM_ID=8


Off topic but before I forget and for the aid of others:

How to redirect sound to another machine using KDE and aRtsd

It is possible to make your sound generating application send the sound to another computer. First you must make the machine that is to play the sound (the one with the soundcard that might be connected to your HiFi) accept sound being sent to it. It needs to run the artsd daemon in networking mode and it needs to be listening on a TCP port.

To set up the sound playing computer open the KDE Control Center and go to Sound System. On the General tab click on "Enable networked sound". On the Hardware tab tick on the "Use other custom options" and add the options -p 5001 -u

Hardcore shell users can also start artsd with something like artsd -n -u -p 5001 Basically this tells artsd to use networked sound (-n), have no protection (!) (-u) and work via port 5001 (-p 5001).

The computer that wants to send the sound needs to tell it's artsd to send the sound to the target machine. You do this by setting the Environment ALSA_SERVER to the target. Such as: export ALSA_SERVER=192.168.0.5:5001 Then start your favorite sound application. Note: if this is xmms make sure it is sending it's output to aRts in the options.

You could use this to send the sound from your laptop to a computer attached to your Stereo that has very little disk capacity. You could send sound from your media server to your workstation. Of course you can also ssh -XC to the target machine and run the application there if you have the media there. This offers interesting possibilities.


I do appreciate feedback. Please let me know if you have better ideas how to do things, if I've gotten things wrong or should include other references.

My email address is: richard_eigenann@compuserve.com

Copyright 2004, Richard Eigenmann, Zürich
http://ourworl d.compuserve.com/homepages/richard_eigenmann