Wacom Tablet

Re-install of drivers after upgrade to FC3

02 May 2005

Followed instructions at http://linuxwacom.sourceforge.net/index.php/howto/all

These are very long-winded but not particularly clear. What it boils down to so far is

apt-get install xorg-x11-sdk
./configure --with-kernel="/lib/modules/$(uname -r)/build" \
            --with-xorg-sdk=/usr/X11R6/lib/Server \
            --enable-wacom 
make
cp src/2.6.10/wacom.ko \
   /lib/modules/2.6.10-1.770_14.rhfc3.at/kernel/drivers/usb/input/
reboot

Now we see if that bit worked....

Yes it did!

Plugging in the tablet gave the following messages in the logs:

May  2 09:45:51 localhost kernel: usb 2-1: new low speed USB device using uhci_hcd and address 2
May  2 09:45:51 localhost kernel: usbhid: probe of 2-1:1.0 failed with error -5
May  2 09:45:53 localhost hal.hotplug[5312]: DEVPATH is not set
May  2 09:45:54 localhost kernel: input: Wacom Graphire3 on usb-0000:00:1d.1-1
May  2 09:45:54 localhost kernel: usbcore: registered new driver wacom
May  2 09:45:54 localhost kernel: /root/linuxwacom-0.6.6/src/2.6.10/wacom.c: v1.40 - 2.6.10-pc-0.1:USB Wacom Graphire and Wacom Intuos tablet driver

The error message seems to be unimportant. It turns out that the tablet is put on /dev/input/event2 and running xxd on that device gives lots of data when I tap the stylus. We also get data from the tablet on /dev/input/mouse1. So far, so good!

I installed the utility programs with checkinstall make install, which made me an RPM in /usr/src/redhat/RPMS/i386/linuxwacom-0.6.6-1.i386.rpm. This has programs like wacdump.

Then I ran wacdump /dev/input/event2 which worked perfectly - correctly detecting all mouse and stylus events.

No I have edited /etc/X11/xorg.conf to add the following sections:

##
## Wacom tablet devices (3 of them)
##

Section "InputDevice"
  Driver        "wacom"
  Identifier    "cursor"
  Option        "Device"        "/dev/input/event2"   
  Option        "Type"          "cursor"
  Option        "USB"           "on"                 
  Option      "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
  Driver        "wacom"
  Identifier    "stylus"
  Option        "Device"        "/dev/input/event2"  
  Option        "Type"          "stylus"
  Option        "USB"           "on"                 
EndSection

Section "InputDevice"
  Driver        "wacom"
  Identifier    "eraser"
  Option        "Device"        "/dev/input/event2"   
  Option        "Type"          "eraser"
  Option        "USB"           "on"                  
EndSection

and add to the server layout section:

Section "ServerLayout"
	Identifier     "single head configuration"
	Screen      0  "Screen0" 0 0
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "Mouse0" "CorePointer"
	# new devices for the wacom tablet 2 May 2005
        InputDevice    "cursor"    "SendCoreEvents"
        InputDevice    "stylus"    "SendCoreEvents"
        InputDevice    "eraser"    "SendCoreEvents"
EndSection

Finally, I replaced the X11 wacom driver like this:

 
cp /usr/X11R6/lib/modules/input/wacom_drv.o prebuilt/wacom_drv_old.o
cp prebuilt/wacom_drv.o_6.8k2.6 /usr/X11R6/lib/modules/input/wacom_drv.o

Now to see if it works when I restart X....

Yes, everything works fine! Now I can play with the calligraphy tool in inkscape :)

Only remaining question, will it play nicely with suspend-to-ram? No, it doesn't work :( After replugging the tablet when the laptop wakes up, it is no longer recognised by X. On the other hand, wacdump still works with it and the tablet works fine in a text console with gpm, so it is obviously just an X problem.

It looks like other people have the same problem. It seems that I should not disconnect the tablet until well after the laptop is asleep. I have tried this and it sort of works. When I wake up the laptop and plug in the tablet it doesn't work straight away, but it does work after reloading the usb module (=rmmod usci_hcd; modprobe usci_hcd=). This is an awful lot easier than restarting X so I am happy.