diGriz's Chunk of Web

bash$ :(){ :|:&};:


Debian on a Fujitsu Lifebook T2010

TuxMobil - Linux on Laptops, Notebooks, PDAs
and Mobile Phones

The Linux kernel I have used is version 2.6.24 and I have made available for download my kernel .config file.

Installing the OS

Not much to say about this. Of course the laptop does not come with any kind of DVD or CD drive which defeats the usual Windoze, Ubuntu and Gentoo weenies. Fortunately being a clever lad, having had the experience and enjoyed watching the pansies cry online "I don't know how to install an OS without a CD drive" I just smiled and PXE booted the thing.

Whining Weeners....you should all be ashamed. For those wishing to learn what real computing hardware is about, buy a secondhard Sun (or Alpha) boxen from fleabay and install Linux on that. Once you have done that you will be able to join the rest of us in our intrinsic hatred for x86....anyone want to give me a Tadpole laptop? :)

Why people still burn CD's when they could just PXE boot in 95% of situations (especially so when you can get even Windoze to bootstrap you) is beyond me... I guess you could USB boot, however that really is wimping out. :)

Touchscreen

This is actually a serial port device, tricky to find the base port number on the Internet however I found it through trial'n'error, and then promptly found it all available in the ACPI DSDT. Bah.

Anyway what you want to run is:

  # modprobe 8250
  # setserial /dev/tts/2 port 0x220 irq 4 autoconfig 

I recommend you slip '8250' into /etc/modules and the 'setserial' command into /etc/rc.local or better still put it into your /var/lib/setserial/autoserial.conf as '/dev/tts/2 port 0x220 irq autoconfig'.

N.B. the pen fails to align properly with the edge of the screen which needs adjusting. When I find it becomes annoying (when I actively use the pen) I'll post up some xsetwacom options that should fix the problem.

Xorg

I love Xorg (I used wdm as my session manager) and found everything to work great.

Here is my xorg.conf is available for download.

'xbacklight' also works and as the screen is very bright at 100% I would recommend you put 'xbacklight -set 50' into your ~/.xsession file.

It is worth installing xvkbd, xstroke (if you can get it to compile), jarnal and gromit.

xrandr

Screen rotation works perfectly, but to be of use you need to grab the 'screen rotatation' button on the screen. The 'hotkeys' package is good for this but you will need to put into ~/.hotkeys/ my fujitsu-t.def and then slip into your ~/.xsession file:

  hotkeys -t fujitsu-t -d none -Z -o 0 &> /dev/null & 

Finally the my 'tabletRotateScreen' script should be placed in /usr/local/bin/ and made executable.

Happy screen rotating :)

xvkbd

Continuing with 'hotkeys' I have configured the Alt_L key on the screen to turn on and off the on screen keyboard tool as needed. Now it would get annoying to have Alt_L mapped to loading/killing xvkbd so I created a tabletLoadKeyboard script to only do anything whilst the screen is rotated (and I assume the laptop is in tablet mode too).

OpenGL 3D Acceleration

Not really tried looking into this too much however glxgears comes back with a rubbish 400fps so I'm guessing it's not working; although DRI is enabled. I'll look into this later.

Fingerprint Reader

Not tried by it's an 'USB ID 08ff:2580 AuthenTec, Inc', so it looks like there is driver support.

Wireless

The madwifi driver works great however:

Bluetooth

The switch on the side turns on and off the bluetooth device, like most laptops I have seen with Bluetooth it 'plugs in' the USB dongle when flipped to the on position. The regular 'hci_usb' driver works.

Audio

You need to pass 'model=fujitsu' to the 'snd_hda_intel' module, but it seems to work just fine, except for the fact Fujitsu put a naff tinny speaker on it :-/

MMC/SD Reader

Works fine however there is no DMA mode, just PIO mode (not surprising though), however does not survive a suspend to ram and resume cycle so you have to rmmod/modprobe the sdhci module on this event.

  sdhci:slot0: Unknown controller version (2). You may experience problems.
  mmc0: SDHCI at 0xfc402800 irq 18 PIO
  mmc0: new SD card at address 1234
  mmcblk0: mmc0:1234 SD02G 1992704KiB 
   mmcblk0: p1 

Some speed statistics, bear in mind the CPU becomes busy and even the mouse jerks around the screen when I do the following:

  berk:/home/alex# dd if=/dev/mmcblk0 of=/dev/null bs=1M count=100
  100+0 records in
  100+0 records out
  104857600 bytes (105 MB) copied, 42.258 s, 2.5 MB/s 

I had a brief go at forcing DMA mode in the sdhci.c (using SDHCI_QUIRK_FORCE_DMA, SDHCI_QUIRK_32BIT_DMA_ADDR and SDHCI_QUIRK_32BIT_DMA_SIZE) source code for the controller but had no joy; let me know if anyone finds out something.

Smartcard Reader

Not tried anything greatly important however this is the reason why there are two Cardbus entries on the PCI bus; also explains the close proximity to the actual Cardbus slot. Looks like a hard wired 16bit PC Card bus is strapped to the second port so that when you do a 'pccardctl insert' you get a 16bit 5V card appearing in slot two (when a smartcard is plugged in).

Not gotten any further as the only smartcards I have are my banking ones and I doubt I can do much with those...yet. :)

ACPI

Suspend to RAM works great however with uswsusp 0.8 you have to pass some extra parameters:

  s2ram -f --vbe_post --vbe_save --pci_save 

Suspend to disk does not work yet, complains it cannot find the swap partition strangely. I will look into this shortly.

Notes with ACPI though:

Lid Script

I like my laptop to go into suspend-to-ram when I close the lid so I add the following to the executable script /etc/acpi/local/lid.sh.post:

  #!/bin/sh
  #
  #set -x
  
  RUNLEVEL=`/sbin/runlevel | awk '{ print $2 }'`
  LIDSTATE=`cat /proc/acpi/button/lid/LID/state | awk '{ print $2 }'`
  
  if ( [ $RUNLEVEL == 'S' ] || [ $RUNLEVEL == '0' ] \
          || [ $RUNLEVEL == '1' ] || [ $RUNLEVEL == '6' ] ); then
    exit 0;
  fi
  
  if [ $LIDSTATE == 'open' ]; then
    modprobe sdhci
    modprobe ath_pci
    exit 0
  fi
  
  ifdown ath0
  modprobe -r ath_pci
  modprobe -r sdhci
  /usr/sbin/s2ram -f --vbe_save --vbe_post --pci_save
  
  exit 0 

Hotkeys

Some of the Fn-Fx keys produce keyboard events (the audio related ones only) whilst the rest are 'dead' at the moment. Only the brightness keys would be useful to add.

As for the buttons on the screen, turns out everything is accessible through the ACPI system. Digging around the DSDT I found the device 'FUJ02BF' registered as a button. Searching for this only produced fjbtndrv which works great, generates regular keypresses.

N.B. you will need to slip into /etc/modprobe.d/local 'options fsc_btns model=2' so it works correctly

The Intel Core2 Duo CPU

Do not let the 'ht' flag in /etc/cpufreq catch you like it did me. There is no support for multiple threads per CPU in this Intel chip. To be honest you would hope Intel did it properly like you see in those Sparc chips anyway :)

cpufreq

The 'acpi-cpufreq' driver works fine, however due to some braindead Vista functionality in the ACPI DSDT you will find your CPU after a short time drops to 800MHz and locks there until after a reboot or suspend/resume event. Then a short time later you are back to 800MHz....rinse and repeat :-/

Fortunately the Vista 'functionality' in the DSDT can be disabled by passing to your kernel (from GRUB or LILO):

 acpi_osi="!Windows 2006" 

Once you do this you should find your CPU keeps it's ability to flip between 800 and 1200MHz.

Alternatively you might want to look ACPI Bug #9919.

KVM Support

Nice, finally I get to completely dispose of VMWare and know I am not clobbering my poor CPU needlessly. I have to say KVM and SMP makes a lot of sense, I do not notice several guests running at the same time anymore :)

One problem, Intel decided not to deal with 16bit realmode instructions and so some OS's explode when trying to boot. Plan9 for example is one of them but sometimes there are workarounds.

Informational Files

Links to Reference Sites

Really there was only one site that was interesting in setting this all up, Linux on the FSC Lifebook E8210, for the smartcard section.