Clevo TN120R Touchscreen TC4UM WORKED in Ubuntu Jaunty & Karmic

This how to probably will only work for ‘ET&T Technology TC4UM with device  ID 0664:0306 on Clevo TN120R running Ubuntu Hardy/Intrepid/Jaunty/Karmic.

Extract the driver from magictouch website (Linux_USB_V2.20_ub904_090430[i386].tar.gz) and you will find these objects:

drwxr-xr-x 4 dedieko dedieko 4096 2009-04-29 10:19 .
drwxr-xr-x 3 dedieko dedieko 4096 2009-11-26 10:35 ..
drwx—— 2 dedieko dedieko 4096 2009-11-26 07:16 driver
-rwxrwxrwx 1 dedieko dedieko 4116 2009-04-28 14:18 install_Ubuntu9.04
-rwxrwxrwx 1 dedieko dedieko 2085 2009-04-28 14:28 uninstall_Ubuntu9.04
drwx—— 2 dedieko dedieko 4096 2009-11-26 07:16 utility

Instead of running Install_Ubuntu9.04, I wanted to know how things work, so we go with the manual way.
Go to driver folder and you will find 1 file:

-rwxr-xr-x 1 dedieko dedieko 75285 2009-04-29 10:05

Copy this file to /usr/lib/xorg/modules/input
Go to utility folder and youwill find 3 files:

-rwxr-xr-x 1 dedieko dedieko 31706 2009-04-29 09:12 Calibration
-rwxr-xr-x 1 dedieko dedieko 14829 2008-12-10 14:33 Lift-off
-rwxr-xr-x 1 dedieko dedieko 29058 2009-04-28 15:57 Swap

Copy these files to /etc/etandt folder. Don’t forget to change the file ownership. Safest bet is to chmod 777

  • STEP 3: Configure xorg.conf

If you use freshly installed Karmic, there is no xorg.conf, you could run this command to generate default Xorg.conf:

sudo dpkg-reconfigure -phigh xserver-xorg

Then edit the newly generated xorg.conf. Add ServerLayout Section and InputDevice Section
The hardest thing is probably to pinpoint the device location. Type this:

lshal | grep hiddev

Mine is look like this:

dedieko@dedieko-laptop:~$ lshal | grep hiddev
udi = ‘/org/freedesktop/Hal/devices/usb_device_664_306_noserial_if0_hiddev’
  hiddev.application_pages = {‘Unknown page 0xd0004’} (string list)
  hiddev.device = ‘/dev/usb/hiddev0‘  (string)
  hiddev.product = ‘ET&T Technology TC4UM’  (string)
  info.capabilities = {‘hiddev’} (string list)
  info.category = ‘hiddev’  (string)
  info.udi = ‘/org/freedesktop/Hal/devices/usb_device_664_306_noserial_if0_hiddev’  (string)
  linux.device_file = ‘/dev/usb/hiddev0’  (string)
  linux.sysfs_path = ‘/sys/devices/pci0000:00/0000:00:1d.2/usb7/7-1/7-1:1.0/usb/hiddev0’  (string)

Pay attention to the red line, now write that or memorize it, then put it in the Xorg.conf below.
Mine is look like this:

Section “Monitor”
    Identifier    “Configured Monitor”

Section “Screen”
    Identifier    “Default Screen”
    Monitor        “Configured Monitor”
    Device        “Configured Video Device”
    SubSection “Display”
        #Virtual    2560 1024
        Virtual    4096 4096

Section “Device”
    Identifier    “Configured Video Device”
    Option “AccelMethod” “UXA”
    #Option “MigrationHeuristic” “Greedy”

Section “ServerFlags”
    Option    “DontZap”    “False”

Section “InputDevice”
    Identifier “ETouch”
    Driver “ETouch”
    Option “Device” “/dev/usb/hiddev0”

Section “ServerLayout”
    Identifier “Layout01”
    InputDevice “ETouch” “SendCoreEvents”

Pay attention only to the part mark with red color. Save it and restart your system.
If you type it correctly, there should be no problem. If you do encounter problems, boot your system using Recovery Mode ( Select it from Boot Menu by pressing ESC), and check the Xorg log at /var/log/Xorg.0.log
Read the log carefully and then make changes to Xorg.conf, restart your system again by either type:

 sudo reboot -n

or simply by pressing


When you got things right, your GUI will load, you touch screen will function, BUT… still not calibrated

  • STEP 4: Calibration
Before you proceed, please make sure you unplug any external monitor and set the permission correctly.
Go to /etc/etandt folder and run this

sudo /etc/etandt/Calibration

If you dont use sudo, you will get Segmentation Fault
You’ll see white screen with small crossed circle. Press the center of it as precise as possible. You can cancel anytime by pressing Ctrl+C

You’re done.

References: (in French)