Tuesday, April 27, 2010

Wacom Bamboo Pen in Debian Linux

This is how I configured a Wacom Bamboo Pen (model CTL-460) inside
a Debion (5.0.3) based HP Thinclient workstation for use in a Citrix
session.




1. downloaded the linuxwacom tar ball from sourceforge.net:

http://linuxwacom.sourceforge.net/

then extract:

tar jxvf linuxwacom-0.8.6.tar.bz

go into the new directory

cd /home/user/linuxwacom-0.8.6

then run this
./configure --enable-wacom --prefix=/usr

output:
##############################################
----------------------------------------
BUILD ENVIRONMENT:
architecture - i486-linux-gnu
linux kernel - yes 2.6.26
module versioning - no 
kernel source - yes /lib/modules/2.6.26-2-686/build
XFree86 source - no 
Xorg SDK - yes /usr/include/xorg
XSERVER64 - no
dlloader - yes
XLib - yes /usr/lib
xf86config - no
TCL - yes /usr/include/tcl8.5
TK - no 
ncurses - no

BUILD OPTIONS:
wacom.o - yes
wacdump - no 
xidump - yes (no ncurses)
libwacomcfg - yes
libwacomxi - no
xsetwacom - yes
wacomxrrd - no
hid.o - no 
wacom_drv.so - yes /usr/lib/xorg/modules/input 
wacom_drv.o - no
wacom*_drv quirks - libc-wrapper IsXExtensionPointer key-events dixScreenOrigins Uninit-called
----------------------------------------
##############################################

- Check kernel version

uname -r
##############################################
mine is:
2.6.26-2-686
##############################################

if the configure command above is OK, cd into

/home/user/linuxwacom-0.8.6/src/2.6.26

contents:
##############################################
-rwxr-xr-x 1 user user 23584 2010-04-10 07:02 wacom_sys.c
-rwxr-xr-x 1 user user  6807 2010-04-10 07:02 wacom.h
-rwxr-xr-x 1 user user  1491 2010-04-10 07:02 Makefile.in
-rwxr-xr-x 1 user user  2746 2010-04-26 11:11 wacom_wac.h
-rwxr-xr-x 1 user user 50431 2010-04-26 11:11 wacom_wac.c
-rw-r--r-- 1 user user     0 2010-04-26 11:11 Module.symvers
-rw-r--r-- 1 user user    64 2010-04-26 11:11 modules.order
-rw-r--r-- 1 user user  1491 2010-04-26 11:26 Makefile
##############################################

now run make:
##############################################
user@TCISAP8610:~/linuxwacom-0.8.6/src/2.6.26$ make
cp -f ../2.6.27/wacom_wac.c .
cp -f ../2.6.27/wacom_wac.h .
Building linuxwacom drivers for 2.6 kernel.
***Note: Drivers not enabled as modules in your kernel config but requested through configure are NOT built
make -C /lib/modules/2.6.26-2-686/build M=/writable/home/user/linuxwacom-0.8.6/src/2.6.26
make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'
LD      /writable/home/user/linuxwacom-0.8.6/src/2.6.26/built-in.o
CC [M]  /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom_wac.o
CC [M]  /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom_sys.o
LD [M]  /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom.o
Building modules, stage 2.
MODPOST 1 modules
CC      /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom.mod.o
LD [M]  /writable/home/user/linuxwacom-0.8.6/src/2.6.26/wacom.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
##############################################

New files will be produced (kernel modules):
##############################################
-rwxr-xr-x 1 user user 23584 2010-04-10 07:02 wacom_sys.c
-rwxr-xr-x 1 user user  6807 2010-04-10 07:02 wacom.h
-rwxr-xr-x 1 user user  1491 2010-04-10 07:02 Makefile.in
-rw-r--r-- 1 user user     0 2010-04-26 11:11 Module.symvers
-rw-r--r-- 1 user user  1491 2010-04-26 11:26 Makefile
-rwxr-xr-x 1 user user  2746 2010-04-26 11:28 wacom_wac.h
-rwxr-xr-x 1 user user 50431 2010-04-26 11:28 wacom_wac.c
-rw-r--r-- 1 user user     8 2010-04-26 11:28 built-in.o
-rw-r--r-- 1 user user 24328 2010-04-26 11:28 wacom_wac.o
-rw-r--r-- 1 user user  9504 2010-04-26 11:28 wacom_sys.o
-rw-r--r-- 1 user user 31965 2010-04-26 11:28 wacom.o
-rw-r--r-- 1 user user  5387 2010-04-26 11:28 wacom.mod.c
-rw-r--r-- 1 user user    64 2010-04-26 11:28 modules.order
-rw-r--r-- 1 user user 10376 2010-04-26 11:28 wacom.mod.o
-rw-r--r-- 1 user user 41728 2010-04-26 11:28 wacom.ko
##############################################
2. Install the module

now, as root, copy the new module to kernel module directory:

cd /home/user/linuxwacom-0.8.6/src/2.6.26

cp wacom.ko /lib/modules/$(uname -r)/kernel/drivers/input/tablet/

in my system, the command will be

cp wacom.ko /lib/modules/2.6.26-2-686/kernel/drivers/input/tablet/
##############################################
user@TCISAP8610:~/linuxwacom-0.8.6$ ls -ltr /lib/modules/2.6.26-2-686/kernel/drivers/input/tablet
total 88
-rw-r--r-- 1 root root  7437 Aug 19  2009 kbtab.ko
-rw-r--r-- 1 root root 10395 Aug 19  2009 gtco.ko
-rw-r--r-- 1 root root 20841 Aug 19  2009 aiptek.ko
-rw-r--r-- 1 root root  7501 Aug 19  2009 acecad.ko
-rw-r--r-- 1 root root 41728 Apr 26 11:12 wacom.ko
##############################################

Then run the following (as root)

(as root)
depmod -a

modprobe -r wacom

modprobe wacom

3. Test it

Plug in the wacom device to a test hp thinclient workstation.

from dmesg
[20188.832647] usb-storage: device scan complete
[20188.833742] scsi 0:0:0:0: Direct-Access     RIM      BlackBerry       1002 PQ: 0 ANSI: 4 CCS
[20188.852275] usb-storage: device scan complete
[20188.855377] scsi 1:0:0:0: Direct-Access     RIM      BlackBerry SD    0002 PQ: 0 ANSI: 0 CCS
[20189.077568] Driver 'sd' needs updating - please use bus_type methods
[20189.082293] sd 0:0:0:0: [sda] Attached SCSI removable disk
[20189.085329] sd 1:0:0:0: [sdb] Attached SCSI removable disk
[20652.800029] usb 3-2: new full speed USB device using ohci_hcd and address 2
[20652.964009] usb 3-2: configuration #1 chosen from 1 choice
[20652.981247] input: Wacom Bamboo 4x5 Pen as /class/input/input6
[20653.026234] input: Wacom Bamboo 4x5 Finger as /class/input/input7
[20653.063422] usb 3-2: New USB device found, idVendor=056a, idProduct=00d4
[20653.063434] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[20653.063439] usb 3-2: Product: CTL-460
[20653.063443] usb 3-2: Manufacturer: Wacom Co.,Ltd.

via lsmod | grep wacom

wacom                  28768  0
usbcore               118192  6 usb_storage,wacom,usbhid,ehci_hcd,ohci_hcd
via lsusb

Bus 006 Device 003: ID 0fca:8004 Research In Motion, Ltd.
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 056a:00d4 Wacom Co., Ltd
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

The bamboo should be responding by now.

to make it persistent across reboots, edit the file (as root):

/etc/modules

and append wacom (as show below):
##############################################
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

# Load the ALSA OSS emulation layer
# The only known application which require OSS still
# is ICA hopefully they will switch to modern APIs someday
# padsp should also be checked out in the future so everything
# goes through PulseAudio
snd-pcm-oss
lp
wacom
# end of /etc/modules
##############################################

Then reboot. Inside a citrix session, i'm able to use the bamboo pen
device inside MS paint. the device is positioned horizontally on my desk
- where the cableend is at my lefthand side.

Below is the xorg.conf file i'm using
(resolution is 1440x900 - with a samsung SyncMaster 933 LCD monitor)

##############################################
# start xorg.conf
Section "Files"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection 
Section "Module"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver  "kbd"
Option          "XLeds" "1 2 3"
Option  "CoreKeyboard"
Option  "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
Option "XkbVariant" ""
EndSection
Section "Monitor"
Identifier "Primary Monitor"
Option  "DPMS"  "true"
Option  "TargetRate"  "60"
Option  "TargetRefresh"  "60"
Option  "PreferredMode" "1440x900"
EndSection
Section "Monitor"
Identifier "Secondary Monitor"
Option  "DPMS" "true"
Option  "TargetRate"  "60"
Option  "TargetRefresh"  "60"
Option  "PreferredMode" "1440x900"
EndSection
Section "Device"
Identifier "Driver0"
Screen  0
Driver  "fglrx"  
BusID  "PCI:01:05:0" 
Option  "Monitor-CRT1" "Primary Monitor" 
EndSection
Section "Device"
Identifier "Driver1"
Screen  1
Driver  "fglrx"  
BusID  "PCI:01:05:0" 
Option  "Monitor-DFP2" "Secondary Monitor" 
EndSection
Section "Screen"
Device  "Driver0"
Monitor  "Primary Monitor"
Identifier "Primary Screen"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Modes "1440x900"
EndSubSection
EndSection
Section "Screen"
Device  "Driver1"
Monitor  "Secondary Monitor"
Identifier "Secondary Screen"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Modes "1440x900"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
InputDevice "Generic Keyboard"
Screen  0 "Primary Screen" 0 0
Screen  1 "Secondary Screen" RightOf "Primary Screen" 
Option  "xinerama" "on" 
EndSection
Section "DRI"
Mode 0666
EndSection
Section "ServerFlags"
Option "DontVTSwitch" "true"
Option "DontZap" "true"
Option "DontZoom" "true" 
EndSection
# end xorg.conf
##############################################

3 comments:

  1. Try Ardesia with the wacom tablet.
    Ardesia is the free digital sketchpad software that help you to make colored free-hand annotations with digital ink everywhere, record it and share on the network.
    http://code.google.com/p/ardesia/

    ReplyDelete
  2. thanks

    after an hour, your steps give me to the light!!!

    regards from spain

    ReplyDelete
  3. Thank you so much!

    I could fix my problem because your steps!

    Regards

    ReplyDelete