continua (next page) main index My Fujitsu-Stylistic ST5022 pages are here!

Everything in this page -except the fingerprint reader notes- is also valid for Stylistic ST5021 and ST5020 tablets.

Sorry for the chaos in this page. I was willing to write a complete "Linux install" section, but happened to change my mind a number of times. Look at my Stylistic index page for updates.

Install Linux on it!

It has become difficult to write a page about installing Linux on some notebook PC because Linux supports nowadays lots of hardware, and very little tweaking is needed (sometimes, this "little" tweaking requires a lot of work!)

To me, Linux on Stylistic ST5022 is meant, from most important to less important, to allow:

  1. portrait-oriented slate tablet for jotting
  2. multimedia (landscape-oriented AVI/RMVB file playback; maybe MP3)
  3. networking (wifi and GPRS, for net browsing and home data backup)
  4. cellphone-friendly (bluetooth also for cellphone backup)
  5. some lazy games (playable with the stylus).

Currently reached goals:

  1. reasonable jotting environment (but landscape-oriented)
  2. AVI/RMVB in full-screen (but not "accelerated"; that is, a bit "power-hungry")
  3. excellent ethernet transfers (up to 16.4 Mb/sec via secure sftp transfer on Ethernet) and less than decent wifi transfers (up to 2.7 Mb/sec via sftp but internal antenna is a bit weak);
  4. not yet tested
  5. currently I tested only Crayon Physics - it works with Wine (only requiring some MSVC60 DLL under windows/system32); audio is a bit flaky, and "eraser" tool doesn't work yet, but I'm investigating.

On the software side: while I think I'll keep a Windows XP Tablet PC partition (9-10 gigabytes maximum), all Windows featured tablet softwares and utilities should be replaced (I don't want to reboot to Windows; the Windows XP Tablet partition should be only for debugging):

  1. Microsoft Journal: replace with xournal
  2. Microsoft Sticky Notes: must find something similar (the KDE one is nice but... only accepts keyboard input);
  3. handwriting recognition: just install the CellWriter application (when installed by SuSE Yast, is found in the KDE menu Utilities/Desktop)
  4. virtual screen keyboard: an ugly xvkbd or a nice KDE's kvkbd (anyways, CellWriter's keyboard is simpler and nicer);
  5. screen resize and rotate: xrandr (doesn't work under OpenSuSE) or -better- KDE's krandrtray (some problems under SuSE, more on later);
  6. audio/video players: lots available on Linux, must choose one... will start from MPlayer
  7. Crayon Physics: let's hope the "Deluxe" version will be multi-platform!

Other software (maybe it's worth a quick look):

Needed features

System side requirements:

  1. screen rotation feature;
  2. multimedia features;
  3. power management (screen dimming and suspend-to-RAM)
  4. ethernet and wifi
  5. single-tap functions (no "right-mouse-key" stuff)

Software side requirements:

Hardware considerations

The Stylistic is a nice machine.

It's a "slate" tablet PC: you have a 1024×768 touchscreen ("Wacom penabled"), less than a dozen function buttons (including power-on), and nothing more.
No keyboard. No mouse. No screen lid. No floppy. No DVD/CD-ROM. It's like having an A4-sized PDA on steroids: only 1,6 kg, and 20mm thick. This machine was released in 2005: "ages" ago, but it's still very appealing...

The plug-fest: you still have two USB2 ports, one IEEE-1394 (Firewire), audio in/out 3.5mm plugs, VGA-out, 10/100/1000 Ethernet, modem (and obviously AC-in) on the left side, and a SD/MMC slot and a PCMCIA slot on top side.

The hardware-fest: infrared ports on both left and right side, plus bluetooth and wifi (actually wifi was "optional" on ST5022 series). Easily replaceable hard disk (in a shock-mounted casing) and mini-PCI card slot (used for wifi card) and two SODIMM banks for DDR PC2700 memories up to 1Gb each (mine was 1Gb on first slot, and a free 2nd slot for a further upgrade). A speaker and two microphones. A nice hardware switch to disable wifi (which can suck up to 1.8 watts when not idle).

Battery: this is the weak side, as for every notebook or tablet. I don't know what has been the usage, but this "6-cell" 4800mAh battery was sufficient to watch a DivX-encoded movie (full-screen): in 112 minutes of playing (while in Windows XP Tablet PC Edition), the battery level went from 90% to 10% (wifi was disabled). I guess I will not be able to watch those 120+ minutes movies, at least until I buy a new battery (will I buy a "9-cell" extended battery, which is heavier, larger, and 4mm thicker than the original one?)

My hardware issues...

I got a non-functional Fujitsu-Siemens Stylistic ST5022D for a very few bucks. After some hardware investigation, some "ebaying" and some hardware fiddling, it came to life again:


It seems that internal hardware has support (but no plugs) for PS2 keyboard/mouse, plus two unused USB ports (without plugs as well) and even a spare RS232 serial port (this also without plugs).

Converting the two "intellisonic" mono microphones of the Stylistic ST5022 to a stereo microphone also seems a hard work.

Anyways, there isn't much space for internal add-ons: the only free area is between the SD/MMC slot reader and the PCMCIA slot, and is some 12mm large per 56mm lenght, about 6mm deep. I should find out an FM-radio stick to place there, maybe USB-powered (but first I should find out where are the four pins of some unused USB port).

There is no space for a GPS receiver, but an external bluetooth receiver seems better (because you don't need GPS positioning when you are at home).

Now, the hard side... (note: this section is obsolete!)

Installing Windows on a computer without keyboard, mouse and CD-ROM, is not that easy. Installing Linux is a bit easier, but not that simple.

I first tried to install Linux on the Fujitsu hard disk using another notebook computer (then I would have relocated the disk on the Stylistic and refined installation), but this proved to be useless.

In fact, on the "piggyback" notebook, Kubuntu 7.10 i386 failed to recognize the hard disk. This happened also with Gentoo 2007.0 and OpenSuSE 10.3 - which indeed gave me some decent hint: in the boot messages, after loading a pata_* module, it suggested to try using irqpoll kernel parameter at boot. This was sufficient to complete boot and start the installing section, but the irqpoll parameter degraded the hard disk speed (which was as low as 2.3 Mb/sec).

I found that Mandriva Linux 2008 and Slackware 12 did not need that irqpoll parameter on the other old notebook, but this happened because they used the older version of the IDE package of the Linux kernel.

After "inoculating" a Slackware-filled hard disk in the Stylistic (text-only installation, for now), I also found that the ethernet port of the Stylistic was reported as "not present".

What to do? First, inspect target computer hardware. I changed some init stuff to show lspci and dmesg contents. In the /etc/inittab the c1: line, related to the first terminal console, was changed from agetty stuff to bash (my script simply created a file containing lspci and dmesg output, then did a stty sane and then started a pager).

How do you use a pager (more, less, lynx...) without a keyboard? (I did not yet have a working keyboard). Simple: enable the gpm console service (Slackware asks to do it during first installation) and then use the mouse to select a letter from the screen (using mouse left key) and "type in" it (using mouse right key). You could even login and use commands, provided the needed letters on-screen (before they scroll out), but an init-started pager having always on-screen a "typeable" key to exit, is worth this trick.

Well, I was able to read carefully the dmesg and lspci information of the keyboardless target machine at the end of the Linux Slackware 12 boot. Result:

Well, the BCM5788 ethernet card should work with the stock tg3 kernel driver, without even need to modprobe it... why didn't it start?

A careful inspection of dmesg stuff revealed an interesting Linux kernel message: "PCI: Bus #03 (-#06) is hidden behind transparent bridge #01 (-#03) (try 'pci=assign-busses'). Please report the result to linux-kernel to fix this permanently". PCI: Bus #07 (-#0a) is hidden behind transparent bridge #01 (-#03)..." Later, the kernel will add "Yenta: Raising subordinate bus# of parent bus (#01) from #03 to #06... Raising... from #06 to #0a".

Also, an extra message: "PCI: If a device doesn't work, try ''pci=routeirq''. If it helps, post a report". Maybe this is due to eight interrupts lined on the same IRQ11 (as required by ACPI subsystem of the Stylistic!).

When doing massive network transfers via WiFi, you will notice a large number of interrupts (even thousands per second). Presence of "talking" bluetooth devices (mouse, keyboard, etc) also gets up to about one hundred interrupts per second (this happened to me while using bluetooth mouse and keyboard on my Apple Mac, while the Stylistic had its bluetooth enabled, catching Apple bluetooth chit-chatting). Since it's almost everything on the IRQ11, you will see that IRQ line becoming "hot"... :-)

The Tigon3 driver (tg3) was correctly loaded at kernel boot, at PCI address 01:0c.0 - so I didn't need to add a modprobe tg3 in the /etc/rc.d/rc.local followed by ifconfig eth0 stuff. I was also able to see in the kernel boot messages the 6-bite MAC address of the ethernet card.

What to do now? Let's follow the kernel guidelines: I moved the hard disk to the "piggyback" notebook, start Slackware Linux again, modified the lilo.conf boot parameters adding pci=routeirq as suggested above (add a line append="pci=routeirq" in the kernel section). This didn't help. So I tried now adding also pci=assign-busses and this also was of no help.

Finally, I tried adding also the insmod=tg3 parameter to kernel arguments but this also was of no help.

Arrrgh. My beloved Slackware appears to have problems with that Broadcom Tigon3. I will find later that the problem is trying to configure a Linux on a different hardware!

Simply said: you can't fill an hard disk with Linux, and then move the disk to another machine sporting totally different hardware, and expect that everything works just out of the box.

To solve all of the above issues, you simply need to start a Linux kernel on the target machine, and there continue installation.

So, this procedure is not needed to install, but made me learn how to debug a malfunctioning Linux studying its lspci/lsusb/lsmod/dmesg output.

Diskless installation (network and PXE instead of a CDROM)

Well, I had to setup a tftp and a dns server on another computer in order to install both Windows XP Tablet Edition and OpenSuSE Linux.

OpenSuSE Linux 10.3 allows to start installation via PXE and continue installation using some ftp or tftp server. Good!

I first tried on my Apple Powerbook, which has already installed both tftp and dns servers (using sudo service tftp start command and sudo service org.isc.named start command), but I wasn't able to figure out how to make the Apple named DNS server to give out a boot filename to a PXE client (also, it seems that the stock tftpd server/client of the latest Mac OS X Tiger have some minor bugs).

So I tried again on the Slackware 12 Linux of the "piggyback" Asus notebook, using atftpd and dnsmasq as suggested in the RIS Linux page: flawless.

I then followed indications on SuSE PXE install page, and it was sufficient to boot the SuSE installer (kernel and initrd root disk). After loading the initrd stage, I placed an ethernet cable between the Stylistic and the internet router here (that is: replace the "piggyback" computer with the internet), and started installing via ftp from some official SuSE mirror repository (read packages via internet SuSE sites; the installation DVD was not needed).

To start the installation of OpenSuSE, I just had to:

  1. set up a tftp/dhcp server on a Linux machine (which I called "piggyback");
  2. get a working vmlinuz/initrd.img pair (kernel + initial ramdisk image): a few megabytes of download, to be placed in the tftpboot directory;
  3. get and configure pxelinux on the tftpboot (see below);
  4. start the target machine in PXE mode (configure via bios to try first the PXE network boot, then disks and other interfaces);
  5. once the kernel started, and initrd loaded, use the network and ftp to get packages from an OpenSuSE mirror, and complete the installation and package upgrade.

Contents of my tftpboot directory:

Contents of my tftpboot/pxelinux.cfg/default file:
default suse
prompt 1
timeout 50
label suse
  kernel suse.vmlinuz
  append initrd=suse.initrd showopts splash=silent vga=normal

(default: loads "suse" section; prompt: yes; timeout: 50/10=5 seconds; filename: suited for my needs; kernel parameters: show options, no "splash" screen; screen: text-mode VGA).

Nice thing: the SuSE installer was able to see the two interfaces soon after loading and executing startup programs in the initrd:

I chose the latter because I didn't want to risk. Pressing Alt-F9 on the external keyboard, revealed a shell terminal of the SuSE installer, in which I was able to ping some internet site, verifying that the wifi WPA worked well (and was on the 54Mbps side). Note that I didn't even need to do ifconfig/iwconfig/wpa_supplicant stuff because when the installer asked to configure the wifi card, it took care of initialization.

SuSE configuration was a large click-and-select stuff; I won't enter details; just remember to add "Fujitsu tablet utilities" in the "notebook/tablet" section of the software package selection.

You will be required to enter as root via ssh daemon; I did it on the X-emulator of Mac OS X (d'oh! the two "X" mean different things; in my case, in the X-emulator terminal window, I had to do ssh -X where aaa.bbb was the assigned address) but the local console of the ST5022 were also enabled (so I expect it working also on text terminals, without ssh, using a common USB keyboard).

During the boot process, an error "hda: no response (status = 0x90)" error comes out. Don't care, just sit and wait (it happens as soon as the "Uniform Multi-Platform E-IDE driver Revision 7.00alpha2" text appears, or the Bluetooth initialization section - but it's not Bluetooth-related). Thus, the entire boot required up to 10-12 minutes (!!!) but I didn't experience true problems related to that error.

That error was due to a Secure Digital card inserted in the SD slot of the Stylistic. Since SuSE did not recognize correctly the SD slot, that hda no response error came out.

The Linux kernel used on SuSE 10.3 has in fact both the obsolete IDE driver (which calls hda the first hard disk) and the new ATA driver (which calls sda the first hard disk, even if it's a PATA/SATA drive). So I found that that hda was not related to the hard disk, but to the Secure Digital card that I inserted in the SD/MMC slot! (This also meant that SuSE didn't support it; will have to fiddle out with O2 drivers...)

Now, time to go to OpenSuSE Tablet PC Laptop Repository notes and fetch all latest updates tablet-related.

Screen rotation

I found that xrandr blanks the screen and hangs; the KDE krandrtray option activates an icon in the system tray on lower left of the screen; it was able to rotate the screen, but the KDE engine did not resize and move anything (i.e., the taskbar appeared at the 768th pixel instead of the 1024th).

So I edited the /etc/X11/xorg.conf adding this line in the Monitor section:
  Option "Rotate" "Right"

And added a shell script that does:
echo 'rotating clockwise...'
sleep 5
xsetwacom set stylus Rotate CW
xsetwacom set stylus BottomX 24700
xsetwacom set stylus BottomY 24700

Yes, the two "bottom" parameters have the same number: I think this is related to ST5022 only; maybe ST501x and ST503x series will have a different values (4:3 related).

Update, update! I had to set the same number because of the krandrtray/i810 X11 driver bug: while it correctly rotates the screen, xdpyinfo incorrectly reports 1024×1024 instead of 768×1024 (X11 thinks that there is a larger and square-shaped touchscreen...).

I will have to investigate how to bypass this bug (I hope I won't have to wait for an OpenSuSE 10.4 release!)


After compiling MPlayer, click on some .AVI or .RMVB video, and write mplayer when it asks "open with" (marking the "always use this program" checkbox).

Contents of my .mplayer/config file:

That is:

Contents of my .mplayer/input.conf file:
MOUSE_BTN0 pause

That is: tap the screen with the stylus to pause, and double tap to exit mplayer. This way you can watch a movie in full-screen using only the stylus (pausing when you urge to run at the bathroom, or quitting if the film is way too stupid).

Important. That simple pause/quit configuration was needed only when the fsc_btns was not working. As you may already know, the Enter or Esc keys will "quit".
Note. The -vo xv (video output to xv) does not work because of an Intel 855GM driver bug that we expect to be corrected (maybe) in Xorg 7.4: when some program opens an xv resource, the 855GM driver output goes by default on the external VGA-output instead of the TFT LCD screen (you can verify it using an external VGA monitor). Some suggested patch was about issuing xvattr -a XV_PIPE -v 1 soon after the mplayer playback started, but I didn't get anything: the xv-driven window (or full-screen) appears only on the external VGA output. We'll have to wait for the next release...


home page - send e-mail - continua (next page)