Howto – Fujitsu U1010 (U810) UMPC and Ubuntu Linux 8.04 Hardy Heron

Update: 10 March 2011 – For newer Ubuntu versions (10.04 Lucid), instead of reading this howto, I think you can straight away head to http://ubuntuforums.org/showthread.php?t=1549473 – from kathleenhenri. I’ve yet to try it on my box, but looks like it’d definitely work.

Few weeks back (September 2008) I purchased a Fujitsu U1010 (U810 in US market). It ran Windows Vista. Though I have been using Ubuntu for all my computing needs, I thought let the UMPC run Windows much like my Nokia runs Symbian. However, in a matter of few days I got fedup with Vista and decided to install Ubuntu 8.04 – there were challenges, and fortunately with the help of some good souls on internet, I overcame majority of them. Now the UMPC is running full-time Ubuntu Linux.

Disclaimer

The steps mentioned below may not be suitable from security point of view. Please use them at your own discretion. I take no responsibility for anything done to your machine by following the instructions below.

Tasks covered

  1. Installation of Operating System
  2. Touchscreen Configuration using evtouch – Not perfect though
  3. Switching On/Off of Keyboard Lights/LEDs/Headlights
  4. Rotating the screen
  5. Associating the keys / , // , and Screen Rotate on the panel with their desired functions, that is, switching on keyboard lights, running handwriting recognition application and rotating the screen.
  6. Using the Webcam – still painful
  7. Putting the system into suspend and recovering from it successfully.

Much Thanks to

  1. Julian Brownhttp://panic.cs-bristol.org.uk/~jules/fujitsu-u810-debian-install-notes.html – Without him, the most important feature for me, the Keyboard lights, would not have worked.
  2. Nathan Eckenrode (n8k99) and LordOfThePigshttp://so.nacreo.us/2007/12/touch-me-i-sick.html – For touchscreen configuration and a shell script for screen rotation
  3. zmiq2http://www.umpcportal.com/modules/newbb/viewtopic.php?topic_id=2202&forum=16&post_id=16973 – For an excellent tip on Suspend and Resume.

So, we begin


Installation of the OS

 

I chose Ubuntu 8.04. Why? because it is a Long Term Support release, having a kernel which supports keyboard lights and was a stable release at the time of preparing this document. Intrepid Ibex/8.10 would have come at end of October 2008, which was too late for me.

Steps

  1. Download the Desktop ISO from http://www.ubuntu.com/getubuntu/download
  2. Download unetbootin – http://unetbootin.sourceforge.net/
  3. Take a USB Pen Drive or SD Card.
  4. Using unetbootin, select the ISO and copy it to the USB drive/SD Card. Preferably the Pen drive/SD Card shall be formatted in FAT32/FAT16 (the default format in which they come).
  5. Once done, reboot the UMPC. While booting press Enter and select ‘Boot Menu’. If it doesn’t show the USB Drive, then it would not be enabled in the BIOS. Go into the BIOS and enable the USB Drive.
  6. Booting from the SD Card slot would not work, but SD Card connected via a USB Card Reader would work.
  7. Once you’re able to boot, just do the usual Ubuntu Installation.
  8. Graphic card, audio, wifi, card reader and bluetooth work out of the box.

Touchscreen Configuration using evtouch

 

Touchscreen works, but not as desired. The sensitivity is very low and somethings happens to it when power adapter is connected. You would not be able to use it smoothly, and forget handwriting recognition, though we’ll install the required applications.

  1. In the BIOS set the mode as touch screen instead of tablet. Please note, if you plan to use Windows alongside Linux, then setting this mode will prevent you from using handwriting recognition in Windows.
  2. Install the evtouch driver through synaptic.
  3. Take a backup of /etc/X11/xorg.conf file and replace it with the one available here – xorg.conf
  4. Restart X by logging out and pressing CTRL+ALT+Backspace
  5. Now the touchscreen should be working. It will work better if the UMPC is not connected to the power adapter.
  6. Install cellwriter through Synaptic. It may require little bit of training before you can start using it.
  7. Thank you Nathan Eckenrode and LordOfThePigs (link)

I had also tested the u810_tablet as was mentioned by Julian Brown here, but it didn’t used to work after doing suspend, and also after screen rotation. The above method seemed to be more reliable.


Switching On/Off of Keyboard Lights/LEDs/Headlights

 

This was the most important thing for me and I learnt a lot about kernels while attempting this. And it works wonderfully.

The basics

  1. Julian Brown has written a patch for the fujitsu-laptop module in the kernel. However, as of writing this section, that patch has not been incorporated into the mainstream kernel which is targeted more towards the Fujitsu P and T series.
  2. The said patch enables the keyboard light functionality and a small application which toggles the light on and off.
  3. I will provide pre-compiled kernel module for those not too technically inclined, and instructions to compile it yourself for your kernel.

Please note: I am using Ubuntu 8.04 without the backports repository enabled. The kernel versions thus would be limited to what’s available in the regular repository. You can set the repositories via synaptic.

Pre-compiled Binaries

  1. For Kernel 2.6.24-19-generic. You can check the kernel version by opening a terminal and typing uname -r
  2. Download the file fujitsu-laptop.ko and put it in the directory /lib/modules/2.6.24-19-generic/kernel/drivers/misc – replace the one available, it doesn’t do much anyway.
  3. Download the toggle-kbd-light application and put it in /usr/bin directory. Make it executable and set suid bit by chown root.root /usr/bin/toggle-kbd-light and chmod 6755 /usr/bin/toggle-kbd-light
  4. Move to section ‘Adding the Modules’ to start using it.

Compiling it from source

  1. You would need kernel-headers package for your kernel which you can download from synaptic. I think it comes by default.
  2. Install build-essential package from synaptic.
  3. Create a directory called fujitsu and copy the file fujitsu-laptop.c in it.
  4. In the same fujitsu directory, create a file called Makefile and put the following content in it

obj-m := fujitsu-laptop.o
KDIR := /lib/modules/`uname -r`/build/
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

  1. Now in the terminal go into the fujitsu directory where fujitsu-laptop.c and Makefile are present, and type make
  2. It will create a fujitsu-laptop.ko file amongst others which you can transfer to /lib/modules/{your kernel version}/kernel/drives/misc
  3. Please note that you have to do it everytime when you update the kernel.
  4. Download the toggle-kbd-light application and put it in /usr/bin directory. Make it executable and set suid bit by chown root.root /usr/bin/toggle-kbd-light and chmod 6755 /usr/bin/toggle-kbd-light
  5. Much thanks to Julian Brown. You can find the source and patches available here.

Adding the modules

  1. The modules are not loaded by default. Add the following in /etc/modules
    led-class
    fujitsu-laptop
  2. You can now reboot the system. Once the system has been rebooted, type toggle-kbd-light to switch the light on and off.

Rotating the screen

 

The easiest thing to do. It is enabled through xrandr command.

  1. xrandr -o left # For left
  2. xrandr -o right # For right
  3. xrandr -o normal # For the normal screen
  4. xrandr -o inverted # For inverted screen

You can use the script toggle-rotate and put it in /usr/bin directory. Make it executable by chmod 755 /usr/bin/toggle-rotate

Now whenever you call toggle-rotate, it will take the current screen orientation and rotate it to the next available orientation.

Tip: To make it easier to do the rotation specially when you know which orientation you require, create a few shortcuts in your gnome-panel (screenshot here) which have the commands xrandr mentioned (as above).


Associating the keys / , // , and Screen Rotate on the panel

 

  1. Through synaptic install cellwriter application which will used for handwriting recognition. You may not be able to use it successfully though and need to spend some time on it.
  2. To detect the keys, the module fsc_btns needs to be loaded. Unfortunately I am not able to recall how I made it functional, but here are few hints
    1. Visit http://fjbtndrv.wiki.sourceforge.net/ and look at the Installation manual available there.
    2. Visit http://fjbtndrv.wiki.sourceforge.net/packages and look at the options for Ubuntu Hardy. I tried following the instructions, but the page maintained at http://home.versanet.de/~khnz15 does not exist anymore 😦
  3. Once you are able to load fsc_btns module, then the process is comparatively easy. Create a file .xbindkeysrc in your home directory and put the following in there.
  4. #Lights
    “toggle-kbd-light”
    m:0x0 + c:105

    #Screen Rotation
    “toggle-rotate”
    m:0x0 + c:203

    #Handwriting Recognition
    “cellwriter”
    m:0x0 + c:99

  5. Now run xbindkeys and check that clicking on the / button shall switch on the keyboard headlights, the // button shall open up the cellwriter application and the Screen Rotate key shall rotate the screen.
  6. The Window (Super Key) that is there on your keyboard is anyways useless, so let us convert that to a TAB key which shall make the task of working on your system a bit easier since you would not have to press Fn+Space to use a TAB.
  7. Create a file .xmodmaprc in your home directory and put the following line in it
  8. keysym Super_L = Tab

  9. Run xmodmap and now you can use the Super Key as the TAB key. However, I am not sure why, but this combination does not work for ALT+TAB 😦
  10. Now let us put all of this in the system startup so that they execute every time the system starts.
    1. Go to Systems -> Preferences -> Sessions
    2. Under the startup applications, click Add – you need to do this thrice since there are three applications that we will initialize. Under the command, enter
    3. cellwriter
      xbindkeys
      xmodmap ~/.xmodmaprc

Logout and log back in and it should be functioning.


Using the webcam – it functions, but not as desired

 

Though I was able to use the webcam successfully, but the changes don’t persist across reboots. The image appears upside down, and you have to follow the steps exactly as I mention below to use it as desired.

  1. The webcam drivers that come by default don’t function too well. It is a Ricoh webcam. You need to download and compile the drivers from http://wiki.mediati.org/Installation
  2. Certainly, in the above website the packages are available for Hardy. You can use them too, but they are available for Kernel 2.6.24-21 which we are not using. It is available in the backports repository. There is no problem using them, but then you need to compile the keyboard lights (fujitsu-laptop) module on your own since I am not using the backports repository.
  3. Install subversion from synaptic.
  4. On a terminal, type svn co http://svn.mediati.org/svn/r5u870/trunk r5u870
  5. After the process is done, you will see a r5u870 directory. Go inside that directory.
  6. Type make and make install
  7. This shall create the driver and you can now load it through modprobe r5u870
  8. Add the following in /etc/modules
  9. r5u870
    uvcvideo

  10. Reboot the system. The drivers should be loaded automatically now. You can check that by typing lsmod | grep r5
  11. Install xawtv through synaptic.
  12. Run xawtv – it shall open up a pop-up. Click OK. Now right click on the xawtv window, it will display a window. Do a Vertical Flip and it shall immediately display your picture via the webcam and is in the correct orientation.
  13. Now you can close xawtv. The webcam will now function in Ekiga and Skype without problems. I was randomly able to make it work in gnome’s Cheese also.
  14. Please note that if you put the system to suspend, then you will not get the option of flipping the screen vertically, which would lead to an inverted image. It shall be done before the system is put to suspend, that is, on a fresh reboot.

Putting the system into suspend and recovering from it successfully

 

Much thanks to zmiq2 regarding this.

  1. In the file /etc/default/acpi-support, search for the line starting with ‘MODULES’ and replace it with
  2. MODULES=”ath_pci r5u870 uvcvideo videodev v4l1_compat v4l2_common”

  3. In the file /usr/lib/pm-utils/default, add the following
  4. SUSPEND_MODULES=”ath_pci ath_rate_sample ath_hal r5u870 uvcvideo videodev v4l1_c
    ompat v4l2_common”

  5. Now close the screen of the UMPC and it shall go into suspend. After you open the screen, the PC shall return from suspend and ask for the password.
  6. It has been working wonderfully till now and I have kept it on suspend for more than 10 days without a reboot, and no problems. Everything works, including the Video.

What I was not able to do

 

  1. Making the internal microphone work.
  2. Making the Fn, the two arrow keys, and the CTRL+ALT+DEL key work.
  3. Make the Fingerprint Scanner work.

That is all. It is serving all the desired purpose for me till now. Everything is working absolutely fine and since I put the system to suspend only, the webcam issue doesn’t trouble me much. Hope, by reading this article, you would go through comparatively less agony.

Advertisements

10 thoughts on “Howto – Fujitsu U1010 (U810) UMPC and Ubuntu Linux 8.04 Hardy Heron

  1. Thank you for the suspend trick 🙂

    for your 3 last points I have some success to share (with mandriva but it’s easy to convert I think) :

    * form the scanner work, I just blacklist aes2501 kernel module and using fprint project and specially pam_fping for authentication. I have no problem so far. fprint is like gphoto2, it contains its own way of speaking with hardware that’s why you should unload kernel module.

    * For the webcam, the author of the module you speak about has made a firmware loader so you just need uvcvideo now : http://artisan.karma-lab.net/node/1587#webcam
    The last problem I have with webcam is a mirrored image corrected by softwares like cheese.

    * For the keyboard, I played with XKB and succeed making arrow keys working as it should. There is a lot more done in my case as I have to make it a french keyboard also but the idea is here :
    http://artisan.karma-lab.net/node/1590 go to the chapter “Définition d’une disposition”

    Sorry everything is in french but I beleive the code is kind of esperanto for us 😉

  2. JUAL: ## tablet UMPC Fujitsu U1010 Windows7, Android , Linux Ubuntunetbook/notebook laptop | Cellphones Market

  3. Hi, I have a U810 that I wish to turn into linux boot, but unable to locate the BIOS setting to enable boot from USB drive per your instruction above. Could you please give me a pointer on how to enable the usb boot?

  4. 私が 下る何私がしたこれに新しい、私はこのつまずい見つかりましたそれ絶対 有用役立ちます負荷を私を|それが助け助けました。 &| 寄与貢献を与えるに私は願って私は期待しています アシストヘルプ 他 ユーザーそのような|私を助けを支援。 グッド仕事。
    店内全品ポイント10倍 今だけ激安タイムセール http://vinhphatmobile.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s