Thursday, October 23, 2008

Genius Wizardpen with Intrepid Ibex

NOTE

The tutorial currently still works with Ubuntu 9.04 (Jaunty Jackalope)

NEWS UPDATE

An updated (though not thoroughly tested) driver is available thanks to Mike! Please find full details by clicking on this link.

UPDATE HISTORY:

21 October 2008

Obtaining the driver
Option 1: Using a precompiled driver - UNTESTED!!

Miriad have provided a precompiled driver for Hardy and can be obtained from http://specificcrap.arbitrarycrap.com/wizardpen_drv.so. Just download the driver and put it in /usr/lib/xorg/modules/input/.

Once that's done, follow the steps outlined in "Configuring and using your Wizardpen".

For the latest version (0.7.0-alpha2): Alternatively, you could use the Debian package done by Giorgo Enrico, which you can download it here http://www.mediafire.com/file/nyzyynygiyy/wizardpen_0.7.0-alpha2_i386.deb

Option 2: Building from source
  1. Download the source package: http://specificcrap.arbitrarycrap.com/wizardpen-0.6.0.2.tar.gz
    (or the latest, untested driver here:
  2. Unpack it somewhere with following command: tar -zxvf wizardpen-0.6.0.2.tar.gz
  3. Grab the necessary packages:sudo aptitude install xutils libx11-dev libxext-dev build-essential xautomation xinput xserver-xorg-dev
  4. Change directory to where you unpacked the source code: cd wizardpen-0.6.0.2
  5. Compile and install the driver: ./configure --with-xorg-module-dir=/usr/lib/xorg/modules && make && sudo make install
  6. Verify that the driver is installed correctly (Check for wizardpen_drv.la and wizardpen_drv.so): ls /usr/lib/xorg/modules/input/wizardpen_drv.*
Configuring and using your Wizardpen

For Xorg7.3, the recommended way to configure your input device is by adding HAL fdi files, which in turn allows you to hotplug your Wizardpen. This step is not only recommended, it's essentially CRUCIAL in the case of Intrepid Ibex as the xorg.conf method used in my Hardy tutorial WILL NOT WORK.

This new configuration method may be supported by Hardy Heron, but I greatly appreciate anyone who is able to confirm this to me :).

  1. Connect your Wizardpen tablet (if you haven't already done so)
  2. Find out the name of your tablet : grep -i name /proc/bus/input/devices
  3. Double confirm that HAL captured the name of the tablet correctly as well: lshal | less
  4. Create a new file with the name /etc/hal/fdi/policy/99-x11-wizardpen.fdi
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <deviceinfo version="0.2">
    <device>
    <!-- This MUST match with the name of your tablet -->
    <match key="info.product" contains="NAME OF YOUR TABLE OBTAINED FROM PREVIOUS STEP">
    <merge key="input.x11_driver" type="string">wizardpen</merge>
    <merge key="input.x11_options.SendCoreEvents" type="string">true</merge>
    <merge key="input.x11_options.TopX" type="string">5619</merge>
    <merge key="input.x11_options.TopY" type="string">6554</merge>
    <merge key="input.x11_options.BottomX" type="string">29405</merge>
    <merge key="input.x11_options.BottomY" type="string">29671</merge>
    <merge key="input.x11_options.MaxX" type="string">29405</merge>
    <merge key="input.x11_options.MaxY" type="string">29671</merge>
    </match>
    </device>
    </deviceinfo>
  5. Reboot your computer (*Note: Thanks to Ociosu for the update)
  6. If X fails to start up, or that the cursor runs amok with unpredictable and unacceptable behaviour (e.g. button mapping screw-ups), I greatly recommend that you start to debug your configuration.

TROUBLESHOOTING - IMPORTANT STEPS:

Should you find your Wizardpen not working yet, check out the /var/log/Xorg.0.log to see what went wrong (Search for "EE" and "WW" would give you some important hint). Google and the UbuntuForums are always your friend when it come to troubleshooting things ;).

Calibrating your tablet
  1. Execute the following command: lshal | less
  2. Search the section with the name of your tablet, as obtained from Step 2 in the configuration step. The line should read something like: info.product = '[Name of your tablet]'
  3. Scroll down until you find the following line: linux.device_file = '/dev/input/eventN' (N will a number)
  4. The source package contains a program called 'wizardpen-calibrate', which is in the 'calibrate' folder, which actually echoes the appropriate X11 calibration settings
  5. Using a terminal/console, execute the calibration program: calibrate/wizardpen-calibrate /dev/input/eventN (*Note: Subtitute /dev/input/eventN with the one obtained from Step 3)
  6. Follow the instructions issued by the program, which will ask you to touch the top-left corner and bottom-right corner. Once completed, the program will echo the corresponding xorg.conf setting
  7. Edit the FDI file (/etc/hal/fdi/policy/99-x11-wizardpen.fdi) and subtitute the Top/Bottom/MaxX and Top/Bottom/MaxY values to the one obtained from the wizardpen-calibrate command
  8. Once done, restart your computer and test your tablet (UPDATE: Noy noted in the comments that you don't have to restart, but rather unplug and replug the tablet for the new settings to take effect. I'm pretty sure it'd work but I haven't tested it yet)

Till then, good luck and have fun!

FAQ - Draft, TODO
  1. Wireless mouse for Wizardpen support is only available in the latest wizardpen-0.7.0-* driver.
  2. Pressure sensitivity not working in GIMP: Check your GIMP preferences at "Edit > Preferences". Under the "Input Devices" menu item, click on "Configure Extended Input Devices...". Choose the WizardPen device and MAKE SURE YOU SET THE MODE TO SCREEN/WINDOW (not "Disabled"). Without that setting, it won't work ;)

[REFERENCE AND RESOURCES]

  1. TabletSetupWizardpen (Ubuntu Community Help)
  2. HOWTO: Setup a wizardpen-based tablet (Ubuntu Forums)
NOTES:
  • Thanks to Pedro for his unexpected email and helping me out to test out my HAL fdi policy file.
  • TODO: Add stuff to the FAQ (Contribution appreciated)
  • Wishlist:
    1. Someone helping me out to test whether the HAL fdi rule method works with Hardy Heron
    2. Have the tutorial posted in Ubuntu Community wiki (too lazy to bother doing it myself :lol)

115 comments:

Antero Júnior said...

I need calibrate... my MousePen is stopping in the mid of the table.

Tanner said...

Thanks for this concise, accurate, excellent tutorial! I used your directions to quickly setup my 5.5" X 4" DigiPro tablet and it works flawlessly, including pressure sensitivity in GIMP 2.6. GREAT job!

One question - do you know if TopZ, BottomZ, and MaxZ keys can be inserted to calibrate pressure sensitivity?

Thanks again!

none said...

Hello, this tutorial function very well but the pencil go and my mouse not function good, this not move. The cursos position is in the left corner superior.

Any suggestion?

Felix Leong said...

Anthero,
Check the output on `lshal` and `less /var/log/Xorg.0.log` to make sure that the TopX/Y, BottomX/Y etc were set properly.

Tanner,
From the source code there are variables for TopZ, BottomZ and MaxZ so theoretically. But to be frank I haven't tried configuring them before so it's a bit up to experimentation for now (or probably I could look up the source code to know the limits).

None,
From my last understanding (for version 0.6.x) is that the mouse that comes with the Genius tablets are not supported yet. Also from my rusty memory, the previous maintainer for version 0.6.x did expressed that he's planning to add support for it but I'm not particularly sure what's the progress now.

At the moment it seemed that the original author have shifted the hosting of the driver to SourceForge and the original website gone, so a lot of information was lost in the process.

Daxon said...

Hi everybody!
After trying for a while, (a very long while) I was tired (some links doesnt work, ant those that does, send me into a circle...

Then finally I realize I haven't change the device name of the XML file.

Well, I have a Tablet W8060U (UC-Logic), so I changed the parameters of the .fdi file with those I get from some other tutorial.

Except for that, everything goes fine!

Just for finishing, I think at number 6 of building from source, there should say wizardpen_drv.so and wizardpen_drv.la (At least, I have it)

Tank you so much!!!

Sorry if my english s too bad...

Felix Leong said...

Daxon,
Thanks for the feedback, I made the correction to Step 6 and make the fdi part more obvious that it needs to be configured (steps 2-3).

Ociosu said...

Hello!
You help me some moths ago to configure the tablet...
A few days ago, I had the brilliant idea of trying the new ubuntu, and again, I can't make the tablet work...
I followed all the steps you indicate in the tutorial, but the tablet still does not work. I still do not understand how all this configuration files work, so I can not get to much useful information from the logs. Could you please take a look at my log file and help me? thank you very much...




X.Org X Server 1.5.2
Release Date: 10 October 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-19-server i686 Ubuntu
Current Operating System: Linux Ociosu-ubuntu 2.6.27-7-generic #1 SMP Tue Nov 4 19:33:20 UTC 2008 i686
Build Date: 24 October 2008 08:00:16AM
xorg-server 2:1.5.2-2ubuntu3 (buildd@rothera.buildd)
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Nov 15 01:21:41 2008
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Screen0" (0)
(**) | |-->Monitor "Monitor0"
(**) | |-->Device "Videocard0"
(**) Option "Xinerama" "0"
(==) Automatically adding devices
(==) Automatically enabling devices
(==) No FontPath specified. Using compiled-in default.
(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
Entry deleted from font path.
(==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/Type1,
/usr/share/fonts/X11/100dpi,
/usr/share/fonts/X11/75dpi,
/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType
(==) ModulePath set to "/usr/lib/xorg/modules"
(II) Cannot locate a core pointer device.
(II) Cannot locate a core keyboard device.
(II) The server relies on HAL to provide the list of input devices.
If no devices become available, reconfigure HAL or disable AllowEmptyInput.
(II) Open ACPI successful (/var/run/acpid.socket)
(II) Loader magic: 0x81d9a40
(II) Module ABI versions:
X.Org ANSI C Emulation: 0.4
X.Org Video Driver: 4.1
X.Org XInput driver : 2.1
X.Org Server Extension : 1.1
X.Org Font Renderer : 0.6
(II) Loader running on linux
(++) using VT number 7

(--) PCI:*(0@1:0:0) nVidia Corporation GeForce 8400 GS rev 161, Mem @ 0xf6000000/0, 0xe0000000/0, 0xf4000000/0, I/O @ 0x0000a000/0, BIOS @ 0x????????/131072
(II) System resource ranges:
[0] -1 0 0xffffffff - 0xffffffff (0x1) MX[B]
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x00000000 (0x1) IX[B]
(II) "extmod" will be loaded by default.
(II) "dbe" will be loaded by default.
(II) "glx" will be loaded. This was enabled by default and also specified in the config file.
(II) "freetype" will be loaded by default.
(II) "record" will be loaded by default.
(II) "dri" will be loaded by default.
(II) LoadModule: "glx"

(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
compiled for 4.0.2, module version = 1.0.0
Module class: X.Org Server Extension
(II) NVIDIA GLX Module 177.80 Wed Oct 1 15:06:06 PDT 2008
(II) Loading extension GLX
(II) LoadModule: "extmod"

(II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 1.1
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "dbe"

(II) Loading /usr/lib/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 1.1
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "freetype"

(II) Loading /usr/lib/xorg/modules//fonts/libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
compiled for 1.5.2, module version = 2.1.0
Module class: X.Org Font Renderer
ABI class: X.Org Font Renderer, version 0.6
(II) Loading font FreeType
(II) LoadModule: "record"

(II) Loading /usr/lib/xorg/modules/extensions//librecord.so
(II) Module record: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.13.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 1.1
(II) Loading extension RECORD
(II) LoadModule: "dri"

(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
ABI class: X.Org Server Extension, version 1.1
(II) Loading extension XFree86-DRI
(II) LoadModule: "nvidia"

(II) Loading /usr/lib/xorg/modules/drivers//nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
compiled for 4.0.2, module version = 1.0.0
Module class: X.Org Video Driver
(II) NVIDIA dlloader X Driver 177.80 Wed Oct 1 14:45:01 PDT 2008
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) Primary Device is: PCI 01@00:00:0
(II) Loading sub module "fb"
(II) LoadModule: "fb"

(II) Loading /usr/lib/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
ABI class: X.Org ANSI C Emulation, version 0.4
(II) Loading sub module "wfb"
(II) LoadModule: "wfb"

(II) Loading /usr/lib/xorg/modules//libwfb.so
(II) Module wfb: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
ABI class: X.Org ANSI C Emulation, version 0.4
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"
(II) Module "ramdac" already built-in
(II) resource ranges after probing:
[0] -1 0 0xffffffff - 0xffffffff (0x1) MX[B]
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x00000000 (0x1) IX[B]
(II) NVIDIA(0): Creating default Display subsection in Screen section
"Screen0" for depth/fbbpp 24/32
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Option "TwinView" "1"
(**) NVIDIA(0): Option "MetaModes" "CRT-0: nvidia-auto-select +1280+0, CRT-1: nvidia-auto-select +0+0"
(**) NVIDIA(0): Option "TwinViewXineramaInfoOrder" "CRT-0"
(**) NVIDIA(0): Enabling RENDER acceleration
(II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
(II) NVIDIA(0): enabled.
(II) NVIDIA(0): NVIDIA GPU GeForce 8400 GS (G86) at PCI:1:0:0 (GPU-0)
(--) NVIDIA(0): Memory: 524288 kBytes
(--) NVIDIA(0): VideoBIOS: 60.86.50.00.00
(II) NVIDIA(0): Detected PCI Express Link width: 16X
(--) NVIDIA(0): Interlaced video modes are supported on this GPU
(--) NVIDIA(0): Connected display device(s) on GeForce 8400 GS at PCI:1:0:0:
(--) NVIDIA(0): Acer X203W (CRT-0)
(--) NVIDIA(0): NCI NEC CI CT700p (CRT-1)
(--) NVIDIA(0): Acer X203W (CRT-0): 400.0 MHz maximum pixel clock
(--) NVIDIA(0): NCI NEC CI CT700p (CRT-1): 400.0 MHz maximum pixel clock
(**) NVIDIA(0): TwinView enabled
(II) NVIDIA(0): Display Devices found referenced in MetaMode: CRT-0, CRT-1
(WW) NVIDIA(0): The EDID for NCI NEC CI CT700p (CRT-1) contradicts itself:
(WW) NVIDIA(0): mode "720x405" is specified in the EDID; however, the
(WW) NVIDIA(0): EDID's valid HorizSync range (30.000-80.000 kHz) would
(WW) NVIDIA(0): exclude this mode's HorizSync (29.5 kHz); ignoring
(WW) NVIDIA(0): HorizSync check for mode "720x405".
(II) NVIDIA(0): Assigned Display Devices: CRT-0, CRT-1
(II) NVIDIA(0): Validated modes:
(II) NVIDIA(0):
(II) NVIDIA(0): "CRT-0:nvidia-auto-select+1280+0,CRT-1:nvidia-auto-select+0+0"
(II) NVIDIA(0): Virtual screen size determined to be 2960 x 1050
(--) NVIDIA(0): DPI set to (99, 98); computed from "UseEdidDpi" X config
(--) NVIDIA(0): option
(==) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
(--) Depth 24 pixmap format is 32 bpp
(II) do I need RAC? No, I don't.
(II) resource ranges after preInit:
[0] -1 0 0xffffffff - 0xffffffff (0x1) MX[B]
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[B]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[B]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[B]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[B]
[5] -1 0 0x00000000 - 0x00000000 (0x1) IX[B]
(II) NVIDIA(0): Initialized GPU GART.
(II) NVIDIA(0): Setting mode
(II) NVIDIA(0): "CRT-0:nvidia-auto-select+1280+0,CRT-1:nvidia-auto-select+0+0"
(II) Loading extension NV-GLX
(II) NVIDIA(0): NVIDIA 3D Acceleration Architecture Initialized
(II) NVIDIA(0): Using the NVIDIA 2D acceleration architecture
(==) NVIDIA(0): Backing store disabled
(==) NVIDIA(0): Silken mouse enabled
(II) NVIDIA(0): DPMS enabled
(II) Loading extension NV-CONTROL
(II) Loading extension XINERAMA
(==) RandR enabled
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(II) Initializing extension GLX
(II) config/hal: Adding input device Macintosh mouse button emulation
(II) LoadModule: "evdev"

(II) Loading /usr/lib/xorg/modules/input//evdev_drv.so
(II) Module evdev: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 2.0.99
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(**) Macintosh mouse button emulation: always reports core events
(**) Macintosh mouse button emulation: Device: "/dev/input/event0"
(II) Macintosh mouse button emulation: Found x and y relative axes
(II) Macintosh mouse button emulation: Found 3 mouse buttons
(II) Macintosh mouse button emulation: Configuring as mouse
(II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE)
(**) Macintosh mouse button emulation: YAxisMapping: buttons 4 and 5
(**) Macintosh mouse button emulation: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) config/hal: Adding input device AT Translated Set 2 keyboard
(**) AT Translated Set 2 keyboard: always reports core events
(**) AT Translated Set 2 keyboard: Device: "/dev/input/event1"
(II) AT Translated Set 2 keyboard: Found keys
(II) AT Translated Set 2 keyboard: Configuring as keyboard
(II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
(**) Option "xkb_rules" "evdev"
(**) AT Translated Set 2 keyboard: xkb_rules: "evdev"
(**) Option "xkb_model" "pc105"
(**) AT Translated Set 2 keyboard: xkb_model: "pc105"
(**) Option "xkb_layout" "es"
(**) AT Translated Set 2 keyboard: xkb_layout: "es"
(II) config/hal: Adding input device Dell Dell USB Optical Mouse
(**) Dell Dell USB Optical Mouse: always reports core events
(**) Dell Dell USB Optical Mouse: Device: "/dev/input/event6"
(II) Dell Dell USB Optical Mouse: Found x and y relative axes
(II) Dell Dell USB Optical Mouse: Found 3 mouse buttons
(II) Dell Dell USB Optical Mouse: Configuring as mouse
(II) XINPUT: Adding extended input device "Dell Dell USB Optical Mouse" (type: MOUSE)
(**) Dell Dell USB Optical Mouse: YAxisMapping: buttons 4 and 5
(**) Dell Dell USB Optical Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) config/hal: Adding input device UC-LOGIC Tablet WP8060U
(**) UC-LOGIC Tablet WP8060U: always reports core events
(**) UC-LOGIC Tablet WP8060U: Device: "/dev/input/event5"
(II) UC-LOGIC Tablet WP8060U: Found x and y relative axes
(II) UC-LOGIC Tablet WP8060U: Found x and y absolute axes
(II) UC-LOGIC Tablet WP8060U: Found absolute touchpad
(II) UC-LOGIC Tablet WP8060U: Found 7 mouse buttons
(II) UC-LOGIC Tablet WP8060U: Configuring as mouse
(II) XINPUT: Adding extended input device "UC-LOGIC Tablet WP8060U" (type: MOUSE)
(**) UC-LOGIC Tablet WP8060U: YAxisMapping: buttons 4 and 5
(**) UC-LOGIC Tablet WP8060U: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200

Felix Leong said...

Ociosu,

From your log, it doesn't seem that the wizardpen isn't loaded at all. Please verify the steps were properly executed (Mainly checking whether the drivers are at the correct folder and the fdi rule).

Should it be correct, Xorg.0.log should have a line that reads "(II) LoadModule "wizardpen""

Ociosu said...

Felix Leong,

Thanks for your answer.

The cursor is not moving at all.
If I press the buttons while using firefox, it jumps to the previous website, or to the
bottom of the page.


The driver is installed at:
/usr/lib/xorg/modules/input/wizardpen_drv.so

I tried with:
- My previous driver (with mouse support) wizardpen-0.6.1rc2
- Building from source 0.6.0.2.tar.gz
- precompiled driver


The command:
cat /proc/bus/input/devices | grep Name
returns:
N: Name="UC-LOGIC Tablet WP8060U"



lshal | less
returns:

udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial'
info.linux.driver = 'usb' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1a_2' (string)
info.product = 'Genius MousePen 8x6 Tablet' (string)
info.subsystem = 'usb_device' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial' (string)
info.vendor = 'UC-Logic Technology Corp.' (string)
linux.device_file = '/dev/bus/usb/003/003' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'usb' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.2/usb3/3-2' (string)
usb_device.bus_number = 3 (0x3) (int)
usb_device.can_wake_up = true (bool)
usb_device.configuration_value = 1 (0x1) (int)
usb_device.device_class = 0 (0x0) (int)
usb_device.device_protocol = 0 (0x0) (int)
usb_device.device_revision_bcd = 0 (0x0) (int)
usb_device.device_subclass = 0 (0x0) (int)
usb_device.is_self_powered = false (bool)
usb_device.linux.device_number = 3 (0x3) (int)
usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.2/usb3/3-2' (string)
usb_device.max_power = 100 (0x64) (int)
usb_device.num_configurations = 1 (0x1) (int)
usb_device.num_interfaces = 1 (0x1) (int)
usb_device.num_ports = 0 (0x0) (int)
usb_device.product = 'Genius MousePen 8x6 Tablet' (string)
usb_device.product_id = 5 (0x5) (int)
usb_device.speed = 1.5 (1.5) (double)
usb_device.vendor = 'UC-Logic Technology Corp.' (string)
usb_device.vendor_id = 21827 (0x5543) (int)
usb_device.version = 1.1 (1.1) (double)

udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0'
info.linux.driver = 'usbhid' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial' (string)
info.product = 'USB HID Interface' (string)
info.subsystem = 'usb' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'usb' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.2/usb3/3-2/3-2:1.0' (string)
usb.bus_number = 3 (0x3) (int)
usb.can_wake_up = true (bool)
usb.configuration_value = 1 (0x1) (int)
usb.device_class = 0 (0x0) (int)
usb.device_protocol = 0 (0x0) (int)
usb.device_revision_bcd = 0 (0x0) (int)
usb.device_subclass = 0 (0x0) (int)
usb.interface.class = 3 (0x3) (int)
usb.interface.description = 'Tablet WP8060U' (string)
usb.interface.number = 0 (0x0) (int)
usb.interface.protocol = 2 (0x2) (int)
usb.interface.subclass = 1 (0x1) (int)
usb.is_self_powered = false (bool)
usb.linux.device_number = 3 (0x3) (int)
usb.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.2/usb3/3-2/3-2:1.0' (string)
usb.max_power = 100 (0x64) (int)
usb.num_configurations = 1 (0x1) (int)
usb.num_interfaces = 1 (0x1) (int)
usb.num_ports = 0 (0x0) (int)
usb.product = 'USB HID Interface' (string)
usb.product_id = 5 (0x5) (int)
usb.speed = 1.5 (1.5) (double)
usb.vendor = 'UC-Logic Technology Corp.' (string)
usb.vendor_id = 21827 (0x5543) (int)
usb.version = 1.1 (1.1) (double)

udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0_logicaldev_input'
info.capabilities = {'input', 'input.mouse', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0' (string)
info.product = 'UC-LOGIC Tablet WP8060U' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0_logicaldev_input' (string)
input.device = '/dev/input/event4' (string)
input.originating_device = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0' (string)
input.product = 'UC-LOGIC Tablet WP8060U' (string)
input.x11_driver = 'evdev' (string)
linux.device_file = '/dev/input/event4' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.2/usb3/3-2/3-2:1.0/input/input4/event4' (string)



So at
/etc/hal/fdi/policy/99-x11-wizardpen.fdi

I wrote:


match key="info.product" contains="UC-LOGIC Tablet WP8060U"



I played with different values for the limits.
The values shown are those used before updating ubuntu.


Any help would be highly appreciated.

Felix Leong said...

Ociosu,

First question, have you restarted X server (or, if needed, your PC)? The change won't take effect until you restarted X server.

From your xorg.0.log I still haven't seen the wizardpen driver being loaded at all (as mentioned in my previous comment that you MUST see "(II) LoadModule "wizardpen"" to indicate that it's successfully configured.

Probably you may want to check whether the driver has actually been installed in the correct path? (verify that wizardpen_drv.la and wizardpen_drv.so is in /usr/lib/xorg/modules/input)

The tablet product name in the fdi rule and your lshal output was consistent, so by right it should work properly.

Felix Leong said...

To Ociosu:

P/S: if the driver is loaded correctly, lshal will also indicates that it's using the wizardpen driver instead of the generic evdev driver (note info.x11_driver key).

In conclusion: Make sure the driver loads FIRST. If there's no indication that the driver is being loaded, that's exactly the problem you need to pinpoint.

Perberos said...

Its work for me! THANKS SO MUCH!

UC-LOGIC Tablet WP4030U

Yury said...

tried under 8.10, have spent two week-ends in experimenting with udev + xorg.conf + fdi... Finally what I get is that the locally compiled wizardpen driver works fine: xinput test "my_device_name" shows sound info about X, Y and pressure level, and on-screen "mouse" cursor also follows tablet absolutely and pen is handled as left mouse click, other pen's buttons work as well.
BUT THE TROUBLE in GIMP, INKSCAPE -- they do not handle pressure and actually do not respond to pen pressure, pen buttons when set up as PReferences->Extended input devices... :( I also tried to switch off via config and hal and xinput the actual mouse device and what i got is that mouse pen drives the mouse cursor as expected but when the actual mouse is disabled then pen pressure and pen buttons do not send click events at all...
Any ideas?

Yury said...

... and I have G-Pen 560.
Under ubuntu 8.04 everything worked perfect regarding Gimp, Inkscape.

Ociosu said...

Felix Leong,
Thanks again for your kind help.

I am still at the same point...

After installing the driver, I have both wizardpen_drv.la and wizardpen_drv.so in /usr/lib/xorg/modules/input

BUT as you say, I still can not see
the driver loaded at Xorg.O.log:

(II) config/hal: Adding input device UC-LOGIC Tablet WP8060U
(II) LoadModule: "evdev"

(II) Loading /usr/lib/xorg/modules/input//evdev_drv.so
(II) Module evdev: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 2.0.99
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(**) UC-LOGIC Tablet WP8060U: always reports core events
(**) UC-LOGIC Tablet WP8060U: Device: "/dev/input/event2"
(II) UC-LOGIC Tablet WP8060U: Found x and y relative axes
(II) UC-LOGIC Tablet WP8060U: Found x and y absolute axes
(II) UC-LOGIC Tablet WP8060U: Found absolute touchpad
(II) UC-LOGIC Tablet WP8060U: Found 7 mouse buttons
(II) UC-LOGIC Tablet WP8060U: Configuring as mouse
(II) XINPUT: Adding extended input device "UC-LOGIC Tablet WP8060U" (type: MOUSE)
(**) UC-LOGIC Tablet WP8060U: YAxisMapping: buttons 4 and 5
(**) UC-LOGIC Tablet WP8060U: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200

Sorry, what do you mean with (note info.x11_driver key) ?

I have followed the steps in this website a hundred of times, with different drivers, I removed the drivers each time from /usr/lib/xorg/modules/input, but always have the same output at Xorg.O.log

Any idea???

Many thanks!

Felix Leong said...

Yury,
Could you compare your GIMP setting with mine (which is working properly):
Device: UC-LOGIC Tablet WP5540U (Basically the name of your tablet)
Mode: Screen (Doesn't really matter)
X: 1
Y: 2
Z: 3
X tilt: None
Y tilt: None
Wheel: None

Ociosu,
The "evdev" mouse driver is the default mouse driver that will be loaded for pointer devices (mouse and tablets). That's essentially the reason why it's not working because it's not the correct driver to load ;).

`lshal` actually list the info.x11_driver key to tell you what driver that has been loaded.

I am quite suspicious what is the actual reason the driver is failing to load though... Could you check the following?
1. Is your PC a 32-bit or 64-bit machine?
2. Could you restart HAL and set it to run in debug mode? Once that's done, hotplug your tablet (i.e. unplug then plug it back in) and check the output (to make sure that the FDI rule is actually executed)
[Details: https://wiki.kubuntu.org/DebuggingHal]
3. Another alternative is to use the traditional way (configuring xorg.conf) and restart X or the computer, refer to my previous steps I had for Hardy Heron. Note that the tablet will *DEFINITELY* not work, but the key purpose is to check on Xorg.0.log to see whether the driver is actually loaded with the xorg.conf way.

In conclusion, I'm currently suspect that it's either the driver or the FDI rule is at fault... for some reasons.

Good luck!

Yury said...

Felix, you probably refer to Ociosu. As for me, the wizardpen_drv.so is loaded and there is an entry in the Xorg.0.log telling about it. And xinput test "my tablet" shows the values for X,Y and pressure correct when I press and move the pen. And the Gimp is adjusted for tablet the way you've told. But it seems as if there are no click events sent to the GUI when I press the pen or its buttons.

And a suspcious thing is that not the evdev driver is loaded but some Aiptek kernel driver... How to disable Aiptek kernel module, so that my tablet is detected as generic pen device instead?

Felix Leong said...

Dear all,

I have just received an unofficial update of the driver which I personally find is very astonishing (now performance optimized and having mouse support): Head over to the following page for full details:
http://digitalbluewave.blogspot.com/2008/11/updated-wizardpen-driver-070-alpha1-p.html

See whether this new code would solve your vows ;).

Yury said...

Can't download the new driver (address not found). But I managed to make my tablet work in X11, actually the problem was that the key codes used in the x11 driver were not those that the kernel driver sent. So I added some "case BTN_TOUCH, BTN_STYLUS, BTN_STYLUS2" into the source code where the events are handled and now it works perfect!

Felix Leong said...

Yury,

Sorry but my webhost is acting stupid again :( (Time to change that :p). Till then, use the updated link used on this post (P/S: Stupid Microsoft insisting on using iframes instead of a direct link :( )

Yury said...

Is there a way to make this driver a standard one, that is the part of official ubuntu or so, and the single hosting and development site? (e.g. sourceforge) It is a pity that so many users have to surf the internet for a long time to find a solution!

Felix Leong said...

Yury,

As far as I'm aware of, the 0.5 branch was indeed hosted at SourceForge only recently, which unfortunately won't work for Xorg 7.3.

Work on 0.6 (Coded by Zack) and more recently (I personally version it as) 0.7 (Coded by Mike) was actually improvements that has been done by the community but I suppose what we are lacking is probably active maintainer who could devote some energies in keeping it alive.

Personally I'm completely clueless about how open source projects were actually managed (despite having used Linux for years). Probably it may be a good idea to form a team or sort to kickstart this as an ongoing open source project, don't you think so? :)

efio said...

Thanks a lot. This helped out. Works like a charm even with 0.7 for me, but had to change calibration data to fit my tablet.

I posted the calibration data for my Trust Tablet W8060U (UC-Logic) for 8.04 here: https://help.ubuntu.com/community/TabletSetupWizardpen but there are a few other tablets too.

I added topZ=>5, bottomZ=>511 and maxZ=>511 values, which increased the pressure sensitivity of my pen a lot.

Alex said...

I can't seem to get my Genius MousePen 8x6 to run under Ubuntu 8.10.

The wizardpen seems to load just fine:

Xorg.0.log:
"(II) config/hal: Adding input device UC-LOGIC Tablet WP8060U
(II) LoadModule: "wizardpen"

(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(**) Option "Device" "/dev/input/event2"
(--) Wizardpen Tablet MaxX:0 MaxY:0 MaxZ:0
(**) UC-LOGIC Tablet WP8060U is in absolute mode
(**) UC-LOGIC Tablet WP8060U: always reports core events
(II) XINPUT: Adding extended input device "UC-LOGIC Tablet WP8060U" (type: WizardPen Tablet)
(II) UC-LOGIC Tablet WP8060U Increment: 1"

Maybe I'm doing something wrong, but the tablet won't start (i.e : the small green led doesn't light, but for 1 second or so at reboot). It doesn't work in Gimp or Inkskape either.

Is there something I'm missing?
Thank you

Felix Leong said...

Alex,

This line says it all:
(--) Wizardpen Tablet MaxX:0 MaxY:0 MaxZ:0

Check your fdi rule and make sure you configured it correctly.

Ociosu said...

Felix Leong,

Thanks again.

I had been waiting for your answer for several days, and today I realized it was already there!

My machine is 32bit.

Please, consider that I'm following your indications, but do not understand anything...

I run the DebuggingHal.
The lshal.txt generated returns the same as indicated in my previous comment. There are two different references to "tablet", one info.product = 'Genius MousePen 8x6 Tablet', and another one info.product = 'UC-LOGIC Tablet WP8060U' (string)
I don't know if this means anything...


The hal.log returns this at the moment of the connection of the tablet (sorry for the long text):


1:08:26.083 [I] osspec.c:241: SEQNUM=3043, ACTION=add, SUBSYSTEM=usb, DEVPATH=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2, DEVNAME=/dev/bus/usb/006/003, IFINDEX=0
21:08:26.083 [I] hotplug.c:138: /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2 is a device (subsystem)
21:08:26.083 [I] osspec.c:966: hal_util_find_known_parent: '/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2'->'/sys/devices/pci0000:00/0000:00:1d.1/usb6'
21:08:26.083 [I] device.c:4567: add_dev: subsys=usb sysfs_path=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2 dev=/dev/bus/usb/006/003 parent_dev=0x09fcf580
21:08:26.088 [I] device.c:4415: Add callouts completed udi=/org/freedesktop/Hal/devices/usb_device_5543_5_noserial
21:08:26.088 [D] device_store.c:516: adding 0x9fed000 to (linux.sysfs_path,/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2)
21:08:26.088 [I] hald.c:108: Added device to GDL; udi=/org/freedesktop/Hal/devices/usb_device_5543_5_noserial
21:08:26.089 [I] osspec.c:241: SEQNUM=3044, ACTION=add, SUBSYSTEM=usb, DEVPATH=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0, DEVNAME=, IFINDEX=0
21:08:26.089 [I] hotplug.c:138: /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0 is a device (subsystem)
21:08:26.089 [I] osspec.c:966: hal_util_find_known_parent: '/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0'->'/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2'
21:08:26.090 [I] device.c:4567: add_dev: subsys=usb sysfs_path=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0 dev= parent_dev=0x09fed000
21:08:26.113 [I] device.c:4415: Add callouts completed udi=/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0
21:08:26.113 [D] device_store.c:516: adding 0x9fec120 to (linux.sysfs_path,/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0)
21:08:26.113 [I] hald.c:108: Added device to GDL; udi=/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0
21:08:26.137 [I] osspec.c:241: SEQNUM=3045, ACTION=add, SUBSYSTEM=input, DEVPATH=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6, DEVNAME=, IFINDEX=0
21:08:26.137 [I] hotplug.c:138: /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6 is a device (subsystem)
21:08:26.137 [I] osspec.c:966: hal_util_find_known_parent: '/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6'->'/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0'
21:08:26.137 [I] device.c:4567: add_dev: subsys=input sysfs_path=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6 dev= parent_dev=0x09fec120
21:08:26.164 [I] osspec.c:241: SEQNUM=3048, ACTION=add, SUBSYSTEM=hidraw, DEVPATH=/sys/devices/virtual/hidraw/hidraw1, DEVNAME=/dev/hidraw1, IFINDEX=0
21:08:26.164 [I] hotplug.c:138: /sys/devices/virtual/hidraw/hidraw1 is a device (subsystem)
21:08:26.164 [I] device.c:4567: add_dev: subsys=hidraw sysfs_path=/sys/devices/virtual/hidraw/hidraw1 dev=/dev/hidraw1 parent_dev=0x00000000
21:08:26.165 [I] osspec.c:241: SEQNUM=3049, ACTION=add, SUBSYSTEM=usb_endpoint, DEVPATH=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/usb_endpoint/usbdev6.3_ep81, DEVNAME=/dev/usbdev6.3_ep81, IFINDEX=0
21:08:26.165 [I] hotplug.c:138: /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/usb_endpoint/usbdev6.3_ep81 is a device (subsystem)
21:08:26.165 [I] osspec.c:966: hal_util_find_known_parent: '/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/usb_endpoint/usbdev6.3_ep81'->'/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0'
21:08:26.165 [I] device.c:4567: add_dev: subsys=usb_endpoint sysfs_path=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/usb_endpoint/usbdev6.3_ep81 dev=/dev/usbdev6.3_ep81 parent_dev=0x09fec120
21:08:26.166 [I] osspec.c:241: SEQNUM=3050, ACTION=add, SUBSYSTEM=usb_endpoint, DEVPATH=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/usb_endpoint/usbdev6.3_ep00, DEVNAME=/dev/usbdev6.3_ep00, IFINDEX=0
21:08:26.166 [I] hotplug.c:138: /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/usb_endpoint/usbdev6.3_ep00 is a device (subsystem)
21:08:26.166 [I] osspec.c:966: hal_util_find_known_parent: '/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/usb_endpoint/usbdev6.3_ep00'->'/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2'
21:08:26.166 [I] device.c:4567: add_dev: subsys=usb_endpoint sysfs_path=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/usb_endpoint/usbdev6.3_ep00 dev=/dev/usbdev6.3_ep00 parent_dev=0x09fed000
21:08:26.205 [I] osspec.c:241: SEQNUM=3051, ACTION=add, SUBSYSTEM=module, DEVPATH=/sys/module/joydev, DEVNAME=, IFINDEX=0
21:08:26.213 [I] osspec.c:241: SEQNUM=3047, ACTION=add, SUBSYSTEM=input, DEVPATH=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/event6, DEVNAME=/dev/input/event6, IFINDEX=0
21:08:26.213 [I] hotplug.c:138: /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/event6 is a device (subsystem)
21:08:26.213 [I] osspec.c:966: hal_util_find_known_parent: '/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/event6'->'/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0'
21:08:26.213 [I] device.c:4567: add_dev: subsys=input sysfs_path=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/event6 dev=/dev/input/event6 parent_dev=0x09fec120
21:08:26.216 [I] device.c:4415: Add callouts completed udi=/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0_logicaldev_input
21:08:26.216 [D] device_store.c:516: adding 0x9ff0300 to (linux.sysfs_path,/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/event6)
21:08:26.216 [I] hald.c:108: Added device to GDL; udi=/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0_logicaldev_input
21:08:26.232 [I] osspec.c:241: SEQNUM=3046, ACTION=add, SUBSYSTEM=input, DEVPATH=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/mouse2, DEVNAME=/dev/input/mouse2, IFINDEX=0
21:08:26.232 [I] hotplug.c:138: /sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/mouse2 is a device (subsystem)
21:08:26.232 [I] osspec.c:966: hal_util_find_known_parent: '/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/mouse2'->'/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0'
21:08:26.232 [I] device.c:4567: add_dev: subsys=input sysfs_path=/sys/devices/pci0000:00/0000:00:1d.1/usb6/6-2/6-2:1.0/input/input6/mouse2 dev=/dev/input/mouse2 parent_dev=0x09fec120

Many thanks for your help.
(I am seriously considering to buy one of those wireless pencil mouses at ebay...)

Ethan Anderson said...

Would it kill you guys to just use pastebin?! That info may be handy, but it does not belong, in its entirety, in the comments.

When is one of these drivers going to be included in X, debian, and Ubuntu?

David Richfield said...

Do not do "cat /blah/file | grep Name". Better to use "grep Name /blah/file"

Felix Leong said...

Hi Ociosu,
Hmmmm..................... (that's a big "hmm" with a lot of ellipsis), can't particularly tell from the log whether the fdi rule was being applied or not (considering the fact that your tablet is still not working, probably not).

To be frank I'm totally out of ideas already... (considering the fact that I don't maintain the code), probably may need some outside help here :(.

Lemme see what I can do then.


Hi David,
Have made the correction as you mentioned (proof that my Linux bash skills aren't that good at that time :p)

Bobnoxious said...

I just bought a Lapazz 12 x 9 usb digital design tablet. These instructions were a huge help in setting this up on Ubuntu 8.10. Thanks.

Ociosu said...

Felix Leong:

Thank your for all your kind help.

Today after several hours I finally found the problem...

You could hardly find it....

The problem was a stupid mistake that I made while writing the 99-x11-wizardpen.fdi

I had written < / match> two times at the end of the file. Due to that, the file was not loading correctly.

After finding the mistake it is necessary to reboot. Reloading x is not enough.

Once again, thank you very much.

Felix Leong said...

Ociosu,

Great (+ relieved? :p) to hear that :). Have fun with your tablet :).

reynante said...

Hi Felix. Thank you so much for this in-depth, friendly, and easy-to-follow guide. I have set-up my G-Pen tablet on my Ubuntu Interepid Ibex in minutes! Now I can play around in GIMP. Thanks. ^_^

Ociosu said...

Hello again...

I have just updated virtualbox, and I don't know why, after updating, the tablet started to send two clicks very fast.

So now I can not even select a folder (always open it), or expand a menu...

It is a problem of the tablet, as the standard mouse works ok...

Any idea?

Yury said...

Comment the line describing the mouse device in your "xorg.conf". This fixed the same issue for me.

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
# InputDevice "Mouse0" "CorePointer"
EndSection

alan carr said...

I had similar problems to Ociosu, so his comment about finding a mistake led me to look at the 99-x11-wizardpen.fdi file again (I had looked at it many times before). I found that I had dropped the opening < in the file.

You should maybe emphasise in your instructions that the 99-x11-wizardpen.fdi
be checked for errors first when trying to find why the tablet is not working.

Ociosu said...

Thanks Yury,

I already have that lines commented in xorg.conf.

I reinstalled virtualbox, reboot, and now the tablet is working again (!!??) but now I can not use the middle blutton...

Arggghhhh!!!

It is quite frustrating not to be able to have this stupid thing working for a week...

Ociosu said...

Working again.
I reinstalled the driver (0.6.1rc2, which allows mouse operation), and seems to work again. Lets see for how long...

kostiagol said...

Guys, I don't understand how to make it work... Need patient guide.
I'm using TRUST TB-6300 pen
My computer:Sidux amd64, xorg 7.3, nvidia.

My story is:
compilled, installed, as follows in your instruction, even created deb file, created fdi file with "UC-LOGIC Tablet WP8060U", rebooted, plugged pen table, and it works, but I can't calibrate it, I change fdi settings, but still only half of pad is working.
and Xorg.0.log shows:(II) LoadModule: "wizardpen"
(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.4.2, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.0
(II) UC-LOGIC Tablet WP8060U: probing event devices for WizardPen tablets
(--) UC-LOGIC Tablet WP8060U auto-dev sets device to /dev/input/event10
(**) Option "Device" "/dev/input/event10"
(--) Wizardpen Tablet MaxX:0 MaxY:0 MaxZ:0
(==) UC-LOGIC Tablet WP8060U is in absolute mode
(**) UC-LOGIC Tablet WP8060U: always reports core events
(II) XINPUT: Adding extended input device "UC-LOGIC Tablet WP8060U" (type: WizardPen Tablet)
(II) UC-LOGIC Tablet WP8060U Increment: 1

I compilled a new driver(7-alpha)
When I change pen name in .fdi it stops working(of course after rebooting), but all x,y,z functionf are ignored...
I see difference only in lshal output.

I've read your post carefully, it looks like I don't need to modify xorg.conf anymore,since xorg7.3 version? But in source folder i've found options for xorg??? So, how can I use them anyway???

Felix Leong said...

kostiagol,

With XOrg 7.3, your xorg configurations must be changed at the HAL fdi rule. To configure your tablet, run the calibration program, get the TopX/Y, BottomX/Y and MaxX/Y and plug the numbers into the fdi rule.
(Notice the pattern in the FDI rule: <merge key="input.x11_options.TopX" type="string">5619</merge> [Change the value "5619" to the one you obtained from the output of the calibration program])

Once you plug in all the correct values, reboot your computer and the new options should take effect.

When configured correctly, the Xorg.0.log output should look something like this:
(II) config/hal: Adding input device UC-LOGIC Tablet WP5540U
(II) LoadModule: "wizardpen"

(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(**) UC-LOGIC Tablet WP5540U: TopX = 745
(**) UC-LOGIC Tablet WP5540U: TopY = 745
(**) UC-LOGIC Tablet WP5540U: BottomX = 32745
(**) UC-LOGIC Tablet WP5540U: BottomY = 32745
(**) Option "Device" "/dev/input/event2"
(--) Wizardpen Tablet MaxX:0 MaxY:0 MaxZ:0
(**) UC-LOGIC Tablet WP5540U is in absolute mode
(**) Option "SendCoreEvents" "true"
(**) UC-LOGIC Tablet WP5540U: always reports core events
(II) XINPUT: Adding extended input device "UC-LOGIC Tablet WP5540U" (type: WizardPen Tablet)
(II) UC-LOGIC Tablet WP5540U Increment: 1

kostiagol said...

Thank you Felix, I already did that..
Sorry, I forgot to write about it in my first post. I tried change XYZ with calibration, from your tutorial, with random settings, with my old settings (from my old xorg.conf I used wizardpen before, but after fresh reinstall of linux, with new xorg, it's not working)
lshal shows mesomething like that:
udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0_hiddev'
hiddev.application_pages = {'Unknown page 0xd0002', 'Generic Desktop Page', 'Generic Desktop Page'} (string list)
hiddev.device = '/dev/usb/hiddev0' (string)
hiddev.product = 'UC-LOGIC Tablet WP8060U' (string)
info.capabilities = {'hiddev'} (string list)
info.category = 'hiddev' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0' (string)
info.product = 'UC-LOGIC Tablet WP8060U' (string)
info.subsystem = 'usb' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0_hiddev' (string)
input.x11_driver = 'wizardpen' (string)
input.x11_options.BottomX = '32747' (string)
input.x11_options.BottomY = '32762' (string)
input.x11_options.MaxX = '32747' (string)
input.x11_options.MaxY = '32762' (string)
input.x11_options.SendCoreEvents = 'true' (string)
input.x11_options.TopX = '0' (string)
input.x11_options.TopY = '0' (string)
linux.device_file = '/dev/usb/hiddev0' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'usb' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:0b.0/usb1/1-6/1-6:1.0/usb/hiddev0' (string)

You see? settings are read by hal, but not by xserver!
Maybe it is because of absolute mode? xorg.0.log :
(==) UC-LOGIC Tablet WP8060U is in absolute mode

kostiagol said...

Oh, forgot!
I reboot every time.

sim_thomas96 said...

Yes! Yes! YES! Im one happy Gimper now :D Works better than it did in Windows, not first thing that does...

Will said...

Hallo! Great tutorial, I could not get my UC Logic Tablet WP5540U working until I´d put a copy of wizardpen_drv.so at usr/lib/xorg/modules/drivers. I hope this helps someone!

BHSPitMonkey said...

Worked perfectly for me using 0.7.0 alpha 1, with a DigiPro WP8060 (8"x6").

KaseyKizzle said...

hey Felix, maybe you can help me out here. When installing the tablet drivers for Hardy Heron, someone could change the device name to "stylus" and would then be able to draw with pressure sensitivity in Pencil, which normally wouldn't recognize Genius Tablet's pressure sensitivity.

With installing the tablet drivers on Intrepid, however, I'm guessing I can't do that. Any idea on what might fix this?

Ignacio said...

Gracias, excelente!! funciona 10 puntos!!

Saludos desde Argentina!!

Estuardo said...

How exactly do I create the file /etc/hal/fdi/policy/99-x11-wizardpen.fdi and where?
Iḿ using Intrepid Ibex amd 64 and I have an UC-LOGIC Tablet WP8060U.
Thanks

Felix Leong said...

Estuardo,

Basically you can use any text editor, copy the file and save it there. Typically executing a command in the command prompt would do the trick: `sudo nano /etc/hal/fdi/policy/99-x11-wizardpen.fdi`

Estuardo said...

thanks a lot Felix, it worked estremely well.
bye

salsaman said...

For Intrepid Ibex, I had to apply this patch:

https://bugs.launchpad.net/ubuntu/+bug/277946/comments/3

with a slight change, for the WP8060U
the usb.productid should be 5
(obtained from lsusb -v)

IF you don't apply this patch, it seems that hal grabs the event device and turns it into a mouse. The patch will blacklist the device from hal and allow the wizardpen driver to claim it.

If /var/log/Xorg.0.log shows the device as a mouse, then most likely this will solve the problem.

martin said...

Superb Felix.....worked just like u said it would with Trust TB-5300 which is a rebranded "UC-LOGIC Tablet WP5540U"

Cheers

drakito said...

I like this, major problems with Trust TB-7300 are solved, however I need help with that X-Y thing, it got off. Some step-by-step-for-lames would be the best help :3.

Felix Leong said...

drakito,

I have modified the instructions to include the calibration steps. Hope that helps.

drakito said...

aww for me calibrating works fine until step 5.;
bash: calibrate/wizardpen-calibrate: No such file or directory

Felix Leong said...

drakito,

Probably I should have phrase that instruction better ^^||.

Anyway, when you unpack the source package, you should notice that there's a "calibrate" folder, isn't it? Using your console, change into that directory (i.e. `cd calibrate`).

Then when you are in this directory, execute `./wizardpen-calibrate /dev/input/eventN` where "/dev/input/eventN" is obtained from lshal's output.

seiri-itaru said...

Hello. Thanks for beautiful manual and software. I was successful connect one of Genius tablet.
In Debian GNU/Linux r4 (with xorg 7.1 or 7.2) for "Genius G-Pen M609" need add follow strings in xorg.conf for correct working:
Section "InputDevice" # "WizardPen Tablet" section
...
Option "ScreenX" "Xvalue"
Option "ScreenY" "Yvalue"
...
EndSection

where "Xvalue" and "Yvalue" are experimentally found values by 'xinput'

For 1024*768 monitor screen resolution:
"Xvalue" = 4300
"Yvalue" = 3000
for 1280*1024:
"Xvalue" = 4804
"Yvalue" = 3356

Without this parameters, cursor move in area 100*60px in left top, but
'#xinput test "WALTOP ..." '
give values in screen resolution range, when stylus move at left top to right bottom.
I'm not good programmer and I dont know why driver working with xorg and tablet some strange.
For example my working tablet xorg.conf sections:

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "WizardPen Tablet" "AlwaysCore"
EndSection

Section "InputDevice"
Identifier "WizardPen Tablet"
Option "SendCoreEvents" "true"
Driver "wizardpen"
Option "Device" "/dev/input/event1"
Option "TopX" "1"
Option "TopY" "1"
Option "TopZ" "60"
Option "BottomX" "18000"
Option "BottomY" "11000"
Option "BottomZ" "800"
Option "MaxX" "18000"
Option "MaxY" "11000"
Option "MaxZ" "800"
Option "ScreenX" "4804"
Option "ScreenY" "3356"
EndSection

Felix Leong said...

seiri-itaru,

Ehh... am a bit confused here, let's see whether I understand you correctly and please correct me if I don't :).

I suppose you already have it working, and you wanted to say that you have to configure the ScreenX and ScreenY parameters in order for the tablet to work properly?
(and you mentioned that without ScreenX and ScreenY parameters in xorg.conf, the mouse can only move within 100x60 area on the top-left corner)

Is this correct? Hope you don't mind clarifying the points that I got wrong :)

(P/S: Just curious, are you Japanese by any chance? If so, I could read some Japanese (with the help of dictionaries, of course) :)

seiri-itaru said...

Yes. It is correct.
I was not specified the configuration and problem. Sorry.
Configuration consist in PS\2 mouse and G-Pen tablet. Mouse working correctly with (or without) tablet.
Without ScreenX and ScreenY parameters, cursor movement is limited by the area on monitor screen, when moving tablet "pen".
It means that all working area of tablet located in approximately 100x60px area on the top-left corner of monitor screen.

My english so bad. Sorry.

( p.s. No, i`am from Russia. 'seiri-itaru' - one of my Japanese pseudonyms :)

Sintë. said...

Hi (: how can I create the file /etc/hal/fdi/policy/99-x11-wizardpen.fdi (as it says in step 4 of Configuring and using your Wizardpen)? Sorry if my English is awful...

Felix Leong said...

Sinte,

Using the terminal, execute the following command:
`sudo nano /etc/hal/fdi/policy/99-x11-wizardpen.fdi`
(*Note: replace nano to your favorite text editor, e.g. emacs, vi etc)

Sintë. said...

"Maybe I'm doing something wrong, but the tablet won't start (i.e : the small green led doesn't light, but for 1 second or so at reboot). It doesn't work in Gimp or Inkskape either."

Hi again. I have the same problem, with the same tablet =( Could you please see if something is wrong here? So many thanks...

from /var/log/Xorg.0.log:

(II) config/hal: Adding input device UC-LOGIC Tablet WP8060U
(II) LoadModule: "wizardpen"

(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(**) UC-LOGIC Tablet WP8060U: TopX = 5619
(**) UC-LOGIC Tablet WP8060U: TopY = 6554
(**) UC-LOGIC Tablet WP8060U: BottomX = 29405
(**) UC-LOGIC Tablet WP8060U: BottomY = 29671
(**) Option "Device" "/dev/input/event2"
(--) Wizardpen Tablet MaxX:0 MaxY:0 MaxZ:0
(**) UC-LOGIC Tablet WP8060U is in absolute mode
(**) Option "SendCoreEvents" "true"
(**) UC-LOGIC Tablet WP8060U: always reports core events
(II) XINPUT: Adding extended input device "UC-LOGIC Tablet WP8060U" (type: WizardPen Tablet)
(II) UC-LOGIC Tablet WP8060U Increment: 1



from ¿lshal | less?

udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial'
info.linux.driver = 'usb' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_02_0' (
string)
info.product = 'Genius MousePen 8x6 Tablet' (string)
info.subsystem = 'usb_device' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial' (string)
info.vendor = 'UC-Logic Technology Corp.' (string)
linux.device_file = '/dev/bus/usb/001/003' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'usb' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb1/1-4' (string)
usb_device.bus_number = 1 (0x1) (int)
usb_device.can_wake_up = true (bool)
usb_device.configuration_value = 1 (0x1) (int)
usb_device.device_class = 0 (0x0) (int)
usb_device.device_protocol = 0 (0x0) (int)
usb_device.device_revision_bcd = 0 (0x0) (int)
usb_device.device_subclass = 0 (0x0) (int)
usb_device.is_self_powered = false (bool)
usb_device.linux.device_number = 3 (0x3) (int)
usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb1/1-4' (string)
usb_device.max_power = 100 (0x64) (int)
usb_device.num_configurations = 1 (0x1) (int)
usb_device.num_interfaces = 1 (0x1) (int)
usb_device.num_ports = 0 (0x0) (int)
usb_device.product = 'Genius MousePen 8x6 Tablet' (string)
usb_device.product_id = 5 (0x5) (int)
usb_device.speed = 1.5 (1.5) (double)
usb_device.vendor = 'UC-Logic Technology Corp.' (string)
usb_device.vendor_id = 21827 (0x5543) (int)
usb_device.version = 1.1 (1.1) (double)

udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0_logicaldev_input'
info.capabilities = {'input', 'input.mouse', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0' (string)
info.product = 'UC-LOGIC Tablet WP8060U' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0_logicaldev_input' (string)
input.device = '/dev/input/event2' (string)
input.originating_device = '/org/freedesktop/Hal/devices/usb_device_5543_5_noserial_if0' (string)
input.product = 'UC-LOGIC Tablet WP8060U' (string)
input.x11_driver = 'wizardpen' (string)
input.x11_options. BottomX = '29405' (string)
input.x11_options. BottomY = '29671' (string)
input.x11_options. MaxX = '29405' (string)
input.x11_options. MaxY = '29671' (string)
input.x11_options. SendCoreEvents = 'true' (string)
input.x11_options. TopX = '5619' (string)
input.x11_options. TopY = '6554' (string)
linux.device_file = '/dev/input/event2' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/usb1/1-4/1-4:1.0/input/input2/event2' (string)


Sorry for the long text! I just want this to work... Thanks again!

Felix Leong said...

Sinte,

From the log file it seemed that the wizardpen driver is configured correctly.

Have you tried using xinput to see what's wrong? Here's the steps to test:
1. Open a new terminal
2. Execute `xinput list` and find the entry of your tablet. Take note of the number listed at "id=N" on the right of the entry
3. Execute `xinput test N` where N is the id number you retrieved from the 2nd step.
4. Use your tablet and notice the output. Typically it should output the coordinates which your tablet is operating and any click events being triggered.

A sidenote is that the author and a recent report from seiri-itaru noted that for some users the "ScreenX" and "ScreenY" is needed (basically it's because the driver was not getting the right screen dimension values).

Not particularly sure whether that's the case for you, but I suppose it'd probably be obvious when after you executed the xinput test.

salsaman said...

OK, I think I am getting one step closer to sorting this. A lot of people have been reporting this problem with:

(--) Wizardpen Tablet MaxX:0 MaxY:0 MaxZ:0

appearing in xorg log. Well, I have set up 2 machines with wizardpen, one of them (ubuntu 8.10) works fine, the other (Mandriva 2008) does not, and gives output like above.

The difference I can see is that on the machine that works, dmesg shows:
input,hidraw0: USB HID v1.00 Mouse [UC-LOGIC Tablet WP8060U] on usb-0000:00:13.0-3

on the machine that does not work:
input,hiddev0: USB HID v1.00 Mouse [UC-LOGIC Tablet WP8060U] on usb-0000:00:13.0-3

I think this is the issue - the device must be recognised as hidraw and not hiddev.

Right now I am not sure what the fix is - I think it is something to do with hal, but I cannot find a fix for it. (I thought I had the soultion above, but it turns out not to work all the time).

I am going to keep looking...

naradapuri said...

Hi, I was trying to set up the driver for my Genius MousePen 8x6 tablet (identifies as device named UC-LOGIC Tablet WP8060U). However, no matter what I do in 99-x11-wizardpen.fdi (or xorg.conf), the lower-right corner of the screen is never mapped further than approximately to (0.5,0.3) portion of the tablet, even if the driver options are properly calibrated. Strangely, calling
xinput test "..."
gives proper values for my screen (~(0,0) in one corner and ~(1024,768) in another).

I tried this on both Debian testing(squeeze) and Kubuntu 8.04 (both computers are IBM Thinkpad notebooks) and its just the same. My 99-x11-wizardpen.fdi (or alternatively xorg.conf) are just copied from the manual, but I can post them here too, if it could help.

Anybody could help? Thanks a lot!

seiri-itaru said...

Hello.
Maybe this information will helps.
I have installed Debian Lenny 5.0 r1 (X.Org 7.3, kernel 2.6.26) and again works with my "Genius G-Pen M609".
Installation procedure for Debian Etch 4.0 (see my messages) not working for Lenny!!!
No needs in configuration strings in xorg.conf for wizardpen. All parameters in *.fdi file is correctly works and device working fine.
I just follow installation instruction writen by Felix.

If add cofiguration strings for wizardpen in xorg.conf
'root@media# xinput list' said some like this:

...
...
"WizardPen Tablet" id=4 [XExtensionPointer]
Num_buttons is 6
Num_axes is 3
Mode is Absolute
Motion_buffer is 256
Axis 0 :
Min_value is 0
Max_value is 4300
Resolution is 1000
Axis 1 :
Min_value is 0
Max_value is 3000
Resolution is 1000
Axis 2 :
Min_value is 0
Max_value is 1023
Resolution is 1000
"WALTOP International Corp. Media Tablet" id=5 [XExtensionPointer]
Num_buttons is 6
Num_axes is 3
Mode is Absolute
Motion_buffer is 256
Axis 0 :
Min_value is 0
Max_value is 1024
Resolution is 1000
Axis 1 :
Min_value is 0
Max_value is 768
Resolution is 1000
Axis 2 :
Min_value is 0
Max_value is 1023
Resolution is 1000

Two devices!
And if we test him:
'root@media# xinput test 4' or 'root@media# xinput test 5', all devices will works.
("4" and "5" is devices "id". Device name also useful.)

Without wizardpen`s cofiguration strings in xorg.conf
'root@media# xinput list' said only one wizardpen device:
...
"WALTOP International Corp. Media Tablet" id=4 [XExtensionPointer]
Num_buttons is 6
Num_axes is 3
Mode is Absolute
Motion_buffer is 256
Axis 0 :
Min_value is 0
Max_value is 1024
Resolution is 1000
Axis 1 :
Min_value is 0
Max_value is 768
Resolution is 1000
Axis 2 :
Min_value is 0
Max_value is 1023
Resolution is 1000

'root@media# xinput test 4' give values in "Min_value"..."Max_value" band i.e. (0,0)-(1024,768) and cursor map correctly on full screen area.

X.org.log:

X.Org X Server 1.4.2
Release Date: 11 June 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux Debian (xorg-server 2:1.4.2-10)
Current Operating System: Linux media 2.6.26-1-686 #1 SMP Sat Jan 10 18:29:31 UTC 2009 i686
Build Date: 09 January 2009 02:57:16AM
...
...
(II) LoadModule: "wizardpen"
(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.4.2, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.0
(II) WALTOP International Corp. Media Tablet: probing event devices for WizardPen tablets
(--) WALTOP International Corp. Media Tablet auto-dev sets device to /dev/input/event1
(**) Option "Device" "/dev/input/event1"
(--) Wizardpen Tablet MaxX:0 MaxY:0 MaxZ:0
(==) WALTOP International Corp. Media Tablet is in absolute mode
(**) WALTOP International Corp. Media Tablet: always reports core events
(II) XINPUT: Adding extended input device "WALTOP International Corp. Media Tablet" (type: WizardPen Tablet)
(II) WALTOP International Corp. Media Tablet Increment: 1

Thanks all.

nazca said...

Thank you very much, i have now my NGS Cadboy working neat in Gimp!

Noy said...

Hi!! First of all, thx for this great how-to, it works really nice!!

Anyway, after calibrating you don't have to restart your machine, you only have to unplug and plug again the tablet to make it work with the ne values.

Kind regards!!

miha said...

hello, your tutorial has been helpful and now i can move my cursor with the tablet.. yeyyy

but i still can't get any of the buttons to work. i have tried in windows, and i know that the pen works fine, i have also tried with a wacom tablet and everything works great there too, just my g-pen f610 from genius is giving me problems

i would be rally happy if you can offer some advice.

thank you

seiri-itaru said...

Buttons on sensor board or buttons on pen?

Buttons on sensor board i`am not configured because simply draw in GIMP.

Maybe device sending events but buttons is not mapping (see 'man xinput' for 'xinput set-button-map').
Buttons on pen by default (in GNOME, after wizardpen driver install) maps:
pen pressed (button[1]) == left mouse click (see information about "TopZ" option in readme for wizardpen installation)
first button at pen tip (button [2]) == right mouse click
second button at pen tip == don`t know, but driver sending events ('xinput' not print it, but print clear string).

Maybe your program not configured for work with device.

Use 'xinput' utility for test configuration device-->driver-->Xorg

View all elements of device:
media:/home/seiri-itaru# xinput query-state 4
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
button[6]=up
ValuatorClass Mode=Absolute Proximity=In
valuator[0]=321
valuator[1]=560
valuator[2]=0

Where "4" - your device ID or name (use 'xinput list')

Checking events sending to Xorg. Example button events:

media:/home/seiri-itaru# xinput test 4
...
# onboard scrollpad = scroll right
button press 5 a[0]=0 a[1]=0 a[2]=2
button release 5 a[0]=0 a[1]=0 a[2]=2
motion a[0]=329 a[1]=488 a[2]=0
button release 5 a[0]=329 a[1]=488 a[2]=0
...
# onboard scrollpad = scroll left
button press 4 a[0]=329 a[1]=488 a[2]=0
button release 4 a[0]=329 a[1]=488 a[2]=0
motion a[0]=329 a[1]=488 a[2]=0
button release 4 a[0]=329 a[1]=488 a[2]=0

# pen pressed
...
button press 1 a[0]=322 a[1]=567 a[2]=25
...
button release 1 a[0]=322 a[1]=568 a[2]=0
...

If xinput (at all) does not display events of pressing of buttons, maybe it is necessary to understand with a configuration in fdi-file. If events are, but buttons do not work, try to change a buttons mapping.

kiss said...

I have Genius WizardPen 4x3.

For Mike's 0.7.0-alpha1:

in order to compile under Ubuntu Jaunty 9.04 Alpha 6 X.org 1.6.0 I had to follow Mirek's comment from http://code.google.com/p/linuxgenius/issues/detail?id=1

but for 0.7.0 the line number is 662.

for now the driver is working fine.

My /etc/hal/fdi/policy/99-x11-wizardpen.fdi looks like this:

key="info.product" contains="UC-LOGIC Tablet WP4030U"
key="input.x11_driver" type="string">wizardpen
key="input.x11_options.SendCoreEvents" type="string">true
key="input.x11_options.TopX" type="string">3000
key="input.x11_options.TopY" type="string">4400
key="input.x11_options.BottomX" type="string">31000
key="input.x11_options.BottomY" type="string">31000
key="input.x11_options.MaxX" type="string">31000
key="input.x11_options.MaxY" type="string">31000

hope this helps someone :)

OberonKing said...

Hi, I'm trying to do this howto... but, don't work for my.
I have a G-pen F509... the grep -i name /proc/bus/input/devices command gives me:

N: Name="Macintosh mouse button emulation"
N: Name="AT Translated Set 2 keyboard"
N: Name="Genius Optical Mouse"
N: Name=" WALTOP Tablet "
N: Name="Power Button (FF)"
N: Name="Power Button (CM)"
N: Name="PC Speaker"

there is not a model at all.
Only this " WALTOP Tablet " rare thing stuff. (there's lot of blank space between " and WALTOP.. and at the end to.

So, the tablet don't work... the calibrate don't do anything.

What I'm do wrong??

OberonKing said...

Ok, magically that work now.. but, the button map don't. only button 1 work for every button on my pen.
if run xinput set-button-map and change for example to 2 1 3 only the map 2 work, the other gives the same value...
Why? on my mouse xinput work just fine to change the button map, but in tablet's pen not work at all

My Tablet is a Genius G-Pen F509.

work fine, only have this issue. please if you know how to fix that...

By the way, Great Howto!!!

super said...

Awesome job Felix Leong, thank you very much.
Genius 4030 seems to be working perfectly on Intrepid 8.10 AMD64.

One question, I have my main mouse buttons reversed as I'm a lefty. How can I switch the tablet pen settings so that I don't have to change my mouse settings when using the tablet?

Thank you

Eibriel said...

wizardpen-0.7.0-alpha1.tar.gz works perfectly for WP8060U on Ubuntu Intrepid Ibex.
The mouse works too!!! :D

Astrobe said...

Hi,

I had this working on 8.10 I have just upgraded to 9.04 and it has stopped.

I have the following in XOrg.0.log

(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.5.2, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 2.1
(EE) module ABI major version (2) doesn't match the server's version (4)

So I tried to rebuild the binary but when I try to compile it I get the following error and it won't build:


Making install in src
make[1]: Entering directory `/home/peter/wizardpen-0.6.0.2/src'
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -I/usr/include/xorg -I/usr/include/pixman-1 -I../src -MT wizardpen.lo -MD -MP -MF .deps/wizardpen.Tpo -c -o wizardpen.lo wizardpen.c
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -I/usr/include/xorg -I/usr/include/pixman-1 -I../src -MT wizardpen.lo -MD -MP -MF .deps/wizardpen.Tpo -c wizardpen.c -fPIC -DPIC -o .libs/wizardpen.o
wizardpen.c: In function 'DeviceInit':
wizardpen.c:648: warning: passing argument 3 of 'InitValuatorClassDeviceStruct' makes integer from pointer without a cast
wizardpen.c:648: error: too many arguments to function 'InitValuatorClassDeviceStruct'


How do I fix this?

Thanks

Mohammad said...

Thanks a lot, works perfectly on 9.04 with pressure.

David said...

I did all you say, but i cant create a document like root in etc. What can I do? I need work with my tablet

My tablet is Trust 5300 Slim
My Ubuntu is 9.04
My processor is Intel Pentium 4, 2.80

Thanks

Antonio J. said...

Following the tutorial I have working my "UC-LOGIC Tablet WP8060U" in Ubuntu 9.04 with wizardpen-0.7.0-alpha2 version.
Thanks a lot

federix said...

Thanks a lot! Through this tutorial and the important comments, I've made my UC-Logic W8060U works under Ubuntu 9.04 32 bits, with the 0.7.0 alpha 2!

Anyway brush strokes under Windows are much more smoother than on Ubuntu - something I've already noticed before my tablet, drawing with a mouse. I can't tell if it's due to an extreme sensibility of the device or the opposite; and don't know where and how to change this. If anyone could know how to solve it, I'll be extremely grateful for not having to face Windows again... :)

wow gold said...

Weekends to peopleig2tmean that they can have a two-day wowgold4europe good rest. For example, people gameusdcan go out to enjoy themselves or get meinwowgoldtogether with relatives and friends to talk with each storeingameother or watch interesting video tapes with the speebiewhole family.
Everyone spends agamegoldweekends in his ownmmoflyway. Within two days,some people can relax themselves by listening to music, reading novels,or watchingogeworld films. Others perhaps are more active by playing basketball,wimming ormmorpgvipdancing. Different people have different gamesavorrelaxations.
I often spend weekends withoggsalemy family or my friends. Sometimes my parents take me on a visit to their old friends. Sometimesgamersell I go to the library to study or borrow some books tommovirtexgain much knowledge. I also go to see various exhibition to broadenrpg tradermy vision. An excursion to seashore or mountain resorts is my favorite way of spending weekends. Weekends are always enjoyable for me.
igxe swagvaultoforu wowgold-usaignmax wowgoldlivebrogame thsaleGoldRockU

Corsario J.R Shiller said...

wizardpen_0.7.0-alpha2_i386.deb test Ubuntu 9.4 OK! work!

Ankit Pruthi said...

Thanks this works perfectly well in ubuntu 8.10. I would recommend downloading the driver source file and compiling as the debian setup may not always work with everyone. It did not work in my pc as it gave a module mismatch error. However compiling solved all the problems.

Mihajlo said...

hi guys i have a problem, i just installed ubuntu 9.04 and i was folowing the tut, i dont know anything about terminal scripting on linux so im asking for help, my tablet is Trust tb 6300 or aka Tablet WP8060U. here is the error:
.......................................
mixa@ubuntu:~$ http://cid-43438aff38d34c29.skydrive.live.com/self.aspx/Public/wizardpen/wizardpen-0.7.0-alpha2.tar.gz
bash: http://cid-43438aff38d34c29.skydrive.live.com/self.aspx/Public/wizardpen/wizardpen-0.7.0-alpha2.tar.gz: No such file or directory
mixa@ubuntu:~$ wget http://cid-43438aff38d34c29.skydrive.live.com/self.aspx/Public/wizardpen/wizardpen-0.7.0-alpha2.tar.gz
--2009-05-09 08:00:25-- http://cid-43438aff38d34c29.skydrive.live.com/self.aspx/Public/wizardpen/wizardpen-0.7.0-alpha2.tar.gz
Resolving cid-43438aff38d34c29.skydrive.live.com... 65.54.255.118
Connecting to cid-43438aff38d34c29.skydrive.live.com|65.54.255.118|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 39087 (38K) [text/html]
Saving to: `wizardpen-0.7.0-alpha2.tar.gz'

100%[======================================>] 39,087 29.3K/s in 1.3s

2009-05-09 08:00:28 (29.3 KB/s) - `wizardpen-0.7.0-alpha2.tar.gz' saved [39087/39087]

mixa@ubuntu:~$ tar -zxvf wizardpen-0.6.0.2.tar.gz
wizardpen-0.6.0.2/
wizardpen-0.6.0.2/config.log
wizardpen-0.6.0.2/stamp-h1
wizardpen-0.6.0.2/Makefile.am
wizardpen-0.6.0.2/configure
wizardpen-0.6.0.2/configure.ac
wizardpen-0.6.0.2/libtool
wizardpen-0.6.0.2/ltmain.sh
wizardpen-0.6.0.2/copying
wizardpen-0.6.0.2/autogen.sh
wizardpen-0.6.0.2/config.h
wizardpen-0.6.0.2/Makefile
wizardpen-0.6.0.2/config.status
wizardpen-0.6.0.2/config.sub
wizardpen-0.6.0.2/install-sh
wizardpen-0.6.0.2/depcomp
wizardpen-0.6.0.2/config.h.in
wizardpen-0.6.0.2/config.guess
wizardpen-0.6.0.2/Makefile.in
wizardpen-0.6.0.2/missing
wizardpen-0.6.0.2/aclocal.m4
wizardpen-0.6.0.2/autom4te.cache/
wizardpen-0.6.0.2/man/
wizardpen-0.6.0.2/calibrate/
wizardpen-0.6.0.2/src/
wizardpen-0.6.0.2/autom4te.cache/output.0
wizardpen-0.6.0.2/autom4te.cache/requests
wizardpen-0.6.0.2/autom4te.cache/traces.0
wizardpen-0.6.0.2/man/wizardpen.4
wizardpen-0.6.0.2/man/Makefile.am
wizardpen-0.6.0.2/man/Makefile
wizardpen-0.6.0.2/man/wizardpen.man
wizardpen-0.6.0.2/man/Makefile.in
wizardpen-0.6.0.2/calibrate/install
wizardpen-0.6.0.2/calibrate/ChangeLog
wizardpen-0.6.0.2/calibrate/readme
wizardpen-0.6.0.2/calibrate/copying
wizardpen-0.6.0.2/calibrate/wizardpen-calibrate.c
wizardpen-0.6.0.2/calibrate/Makefile
wizardpen-0.6.0.2/calibrate/wizardpen-calibrate
wizardpen-0.6.0.2/src/wizardpen_drv.la
wizardpen-0.6.0.2/src/Makefile.am
wizardpen-0.6.0.2/src/wizardpen.lo
wizardpen-0.6.0.2/src/Makefile
wizardpen-0.6.0.2/src/wizardpen.c
wizardpen-0.6.0.2/src/wizardpen.h
wizardpen-0.6.0.2/src/Makefile.in
wizardpen-0.6.0.2/src/.deps/
wizardpen-0.6.0.2/src/.libs/
wizardpen-0.6.0.2/src/.deps/wizardpen.Plo
wizardpen-0.6.0.2/src/.libs/wizardpen_drv.la
wizardpen-0.6.0.2/src/.libs/wizardpen_drv.so
wizardpen-0.6.0.2/src/.libs/wizardpen.o
wizardpen-0.6.0.2/src/.libs/wizardpen_drv.lai
mixa@ubuntu:~$ sudo aptitude install xutils libx11-dev libxext-dev build-essential xautomation xinput xserver-xorg-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 65 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done

mixa@ubuntu:~$ cd wizardpen-0.6.0.2
mixa@ubuntu:~/wizardpen-0.6.0.2$ ./configure --with-xorg-module-dir=/usr/lib/xorg/modules && make && sudo make install
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking if RANDR is defined... yes
checking if XINPUT is defined... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for XORG... yes
checking for ANSI C header files... (cached) yes
checking linux/input.h usability... yes
checking linux/input.h presence... yes
checking for linux/input.h... yes
checking sysfs/libsysfs.h usability... no
checking sysfs/libsysfs.h presence... no
checking for sysfs/libsysfs.h... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating man/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
make all-recursive
make[1]: Entering directory `/home/mixa/wizardpen-0.6.0.2'
Making all in src
make[2]: Entering directory `/home/mixa/wizardpen-0.6.0.2/src'
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -I/usr/include/xorg -I/usr/include/pixman-1 -I../src -MT wizardpen.lo -MD -MP -MF .deps/wizardpen.Tpo -c -o wizardpen.lo wizardpen.c
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -I/usr/include/xorg -I/usr/include/pixman-1 -I../src -MT wizardpen.lo -MD -MP -MF .deps/wizardpen.Tpo -c wizardpen.c -fPIC -DPIC -o .libs/wizardpen.o
wizardpen.c: In function 'DeviceInit':
wizardpen.c:648: warning: passing argument 3 of 'InitValuatorClassDeviceStruct' makes integer from pointer without a cast
wizardpen.c:648: error: too many arguments to function 'InitValuatorClassDeviceStruct'
make[2]: *** [wizardpen.lo] Error 1
make[2]: Leaving directory `/home/mixa/wizardpen-0.6.0.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mixa/wizardpen-0.6.0.2'
make: *** [all] Error 2
mixa@ubuntu:~/wizardpen-0.6.0.2$ ls /usr/lib/xorg/modules/input/wizardpen_drv.*
ls: cannot access /usr/lib/xorg/modules/input/wizardpen_drv.*: No such file or directory
mixa@ubuntu:~/wizardpen-0.6.0.2$ cat /sys/bus/usb/devices/*/product
Tablet WP8060U
EHCI Host Controller
EHCI Host Controller
UHCI Host Controller
UHCI Host Controller
UHCI Host Controller
UHCI Host Controller
UHCI Host Controller
mixa@ubuntu:~/wizardpen-0.6.0.2$
......................................

nabster said...

If, like me, you didn't compile your linux kernel properly, then you need to add in "Event interface" and the correct tablet under "Input device support". http://nabstersblog.blogspot.com/2009/05/uc-logic-wp5540-linux-kernel-drivers.html

Nynn said...

Just to report some test

=> I have tested sucessfully the compilation of sources 0.7 alpha2 on Ubuntu 8.10 and 9.04 (i386 32bits with genius slim tablet F610)

=> button on my pen are not recognize but pressure on move work very well

Great job guy thank for what you are doing for artist on linux :)

Nynn said...

Just to report some test

=> I have tested sucessfully the compilation of sources 0.7 alpha2 on Ubuntu 8.10 and 9.04 (i386 32bits with genius slim tablet F610)

=> button on my pen are not recognize but pressure on move work very well

Great job guy thank for what you are doing for artist on linux :)

yorik said...

Hi there,
If someone is running debian squeeze:

I experienced problems on debian squeeze (xorg 7.3) similar to several other people here (the pen only works in a small area on top left corner of the tablet). Actually in an area corresponding to my screen size (1280x800). The problem seems to be the HAL rule, I simply removed it and put the coordinates stuff directly in xorg.conf, now it works fine. Probably something to do with the xorg version, which is older than the one that ships with ubuntu intrepid.
Cheers

Yorik

Dick said...

Hi

I hope you don't mind i wrote a guide
for the Trust TB5300 that also works with wizardpen
as when i go-ogled its gave almost no useful results

http://dicks-os-life.blogspot.com/2009/05/trust-tb5300-slim-line-tablet.html

Souldestroyer said...

the tutorial never worked for me in intrepid ibex for amd64. and I can't download the precompiled file anymore.

Alion V. said...

Hello, I've got a little problem with my tablet, I've followed the tutorial pretty easy end it seems to work perfectly, but...
When I start GIMP or Inkscape and try to configure it to detect the pressure settings and all, it does not appear in the devices list at all.
What could have I done wrong or provably missing?

Here is the part of the log that looks to me that has something to do, I understand there's something wrong, but nothing more than that.
(II) LoadModule: "wizardpen"

(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 4.0
(EE) module ABI major version (4) doesn't match the server's version (2)
(II) UnloadModule: "wizardpen"
(II) Unloading /usr/lib/xorg/modules/input//wizardpen_drv.so
(EE) Failed to load module "wizardpen" (module requirement mismatch, 0)
(EE) No input driver matching `wizardpen'
(EE) config/hal: NewInputDeviceRequest failed

and some lines after that (provably becouse I restarted)

(II) config/hal: Adding input device WALTOP Tablet
(II) LoadModule: "wizardpen"

(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 4.0
(EE) module ABI major version (4) doesn't match the server's version (2)
(II) UnloadModule: "wizardpen"
(II) Unloading /usr/lib/xorg/modules/input//wizardpen_drv.so
(EE) Failed to load module "wizardpen" (module requirement mismatch, 0)
(EE) No input driver matching `wizardpen'
(EE) config/hal: NewInputDeviceRequest failed

I really appreciate any help you could give me, thanks.

Bruno Guedes(Toupeira Profissional) said...

Hey there, thanks for this very nice tutorial, quite direct and right to the point. Now, for the actual reason I'm posting this comment...

I tried to compile the driver, as well as use the deb package for 0.7.0-alpha2 version(currently using now), but the Tablet isn't quite working... here's some useful output for you:

lshal:
udi = '/org/freedesktop/Hal/devices/usb_device_5543_4_noserial_if0_logicaldev_input'
info.capabilities = {'input', 'input.mouse', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_5543_4_noserial_if0' (string)
info.product = 'UC-LOGIC Tablet WP5540U' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_5543_4_noserial_if0_logicaldev_input' (string)
input.device = '/dev/input/event2' (string)
input.originating_device = '/org/freedesktop/Hal/devices/usb_device_5543_4_noserial_if0' (string)
input.product = 'UC-LOGIC Tablet WP5540U' (string)
input.x11_driver = 'wizardpen' (string)
input.x11_options.BottomX = '30438' (string)
input.x11_options.BottomY = '29425' (string)
input.x11_options.MaxX = '30438' (string)
input.x11_options.MaxY = '29425' (string)
input.x11_options.SendCoreEvents = 'true' (string)
input.x11_options.TopX = '2399' (string)
input.x11_options.TopY = '3696' (string)
linux.device_file = '/dev/input/event2' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:03.0/usb1/1-1/1-1:1.0/input/input26/event2' (string)


Xorg.0.log:
(II) config/hal: Adding input device UC-LOGIC Tablet WP5540U
(**) UC-LOGIC Tablet WP5540U: always reports core events
(**) UC-LOGIC Tablet WP5540U: Device: "/dev/input/event2"
(II) UC-LOGIC Tablet WP5540U: Found x and y relative axes
(II) UC-LOGIC Tablet WP5540U: Found x and y absolute axes
(II) UC-LOGIC Tablet WP5540U: Found absolute touchpad
(II) UC-LOGIC Tablet WP5540U: Found 7 mouse buttons
(II) UC-LOGIC Tablet WP5540U: Configuring as mouse
(II) XINPUT: Adding extended input device "UC-LOGIC Tablet WP5540U" (type: MOUSE)
(**) UC-LOGIC Tablet WP5540U: YAxisMapping: buttons 4 and 5
(**) UC-LOGIC Tablet WP5540U: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(EE) UC-LOGIC Tablet WP5540U: Read error: No such device
(II) config/hal: removing device UC-LOGIC Tablet WP5540U
(II) UC-LOGIC Tablet WP5540U: Close
(II) UnloadModule: "evdev"
(II) config/hal: Adding input device UC-LOGIC Tablet WP5540U
(II) LoadModule: "wizardpen"

This is a bit strange, though, because the name in the FDI file is not "UC-LOGIC Tablet WP5540U", but "Genius MousePen 5x4 Tablet". If I set the name accordingly, I get an error message instead:

(II) Loading /usr/lib/xorg/modules/input//wizardpen_drv.so
(II) Module wizardpen: vendor="X.Org Foundation"
compiled for 1.6.0, module version = 1.0.0
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 4.0
(EE) module ABI major version (4) doesn't match the server's version (2)
(II) UnloadModule: "wizardpen"
(II) Unloading /usr/lib/xorg/modules/input//wizardpen_drv.so
(EE) Failed to load module "wizardpen" (module requirement mismatch, 0)
(EE) No input driver matching `wizardpen'
(EE) config/hal: NewInputDeviceRequest failed

Also, notice the log reports it as being "MOUSE", instead of the neat "WizardPen Tablet" name I see in the logs presented here in other comments.

In the end, when the Tablet makes it to the xinput, it reports only 2 axis and 32 buttons, but it should have 3 buttons and 3 axis... and the mouse pointer doesn't move.

So, I hope you can help me. Thanks in advance, and congrats for the neat tutorial!

Ponury said...

Hi, i try to run pentagram xxl tablet with your instruction, everything goes well, except one thing: stylus(?) works like a mouse (pentagram xxl have stylus and wireless mouse). It's mean that callibration and everything works for me, but i MUST touch tablet surface to move cursor with stylus:( i don't know how fix that, even how find solution in the net:( i read many posts, many tutorials, but i can't find anything about my problem. I eve read all post below your tutorial:( a little tech info:
OS: ubuntu 9.04 jaunty jackalope
tablet: Pentagram xxl (works as Aiptek) [08ca:0010 Aiptek International, Inc.]
[CODE](EE) Aiptek: error reading device /dev/input/event9: No such device
(II) config/hal: removing device Aiptek
(II) UnloadModule: "wizardpen"
(II) config/hal: Adding input device Aiptek
(**) Aiptek: TopX = 77
(**) Aiptek: TopY = 51
(**) Aiptek: BottomX = 5945
(**) Aiptek: BottomY = 4448
(**) Option "Device" "/dev/input/event9"
(--) Wizardpen Tablet MaxX:0 MaxY:0 MaxZ:0
(**) Aiptek is in absolute mode
(**) Option "SendCoreEvents" "true"
(**) Aiptek: always reports core events
(II) XINPUT: Adding extended input device "Aiptek" (type: WizardPen Tablet)
(II) Aiptek Increment: 1
END[/CODE] error is in the bolded line, but how fix that? my tablet is in 10, not 9 - i don't know from comes that 9:( can anyone help me with that?
sorry for my english, but i have hope that almost everything is wrote clearly - even last words:)

fabian said...

Thank You very much! I followed your instructions step by step and it's working perfectly.

I didn't even had to calibrate! Well, when I ran the calibration, it was giving an error like "unable to open the file /xxx/xxeventN" but I tested anyway on GIMP and it was working! including pressure sensitivity.

I'm using Ubuntu 9.04 Jaunty with a Genius WizardPen 4x3 pen tablet.

Again, a big thank you!

Jon said...

Hi

I can't compile the driver - I get this error after a whole bunch of warnings:

wizardpen.c:662: error: too many arguments to function 'InitValuatorClassDeviceStruct'
make[2]: *** [wizardpen.lo] Error 1

Is that something I can fix? Some missing dependency I need? Other people don't seem to have the problem, so I assume it isn't just a bug in the code.

Thanks in advance!

DGTL MKNX said...

triple thanks!

the simpliest/easiest way to install my Trust Slimline TB-6300

Congratulations ;-)

florian_cargoet said...

Thanks a lot for this great howto !
My tablet is detected, buttons are ok but i still have a calibration problem.

hal correctly reads my .fdi file :
---------------------------------
<merge key="input.x11_options.TopX" type="string">1500</merge>
<merge key="input.x11_options.TopY" type="string">2058</merge>
<merge key="input.x11_options.BottomX" type="string">31327</merge>
<merge key="input.x11_options.BottomY" type="string">30597</merge>
<merge key="input.x11_options.MaxX" type="string">31327</merge>
<merge key="input.x11_options.MaxY" type="string">30597</merge>

---------------------------------
input.x11_options.BottomX = '31327' (string)
input.x11_options.BottomY = '30597' (string)
input.x11_options.MaxX = '31327' (string)
input.x11_options.MaxY = '30597' (string)
input.x11_options.TopX = '1500' (string)
input.x11_options.TopY = '2058' (string)
---------------------------------

but the pen only works in the top left quarter of the tablet however it covers the full screen (1280*800).

the pressure calibration is strange too. xinput test shows that the full range is detected (0-511) but in gimp I can only reach 75% in opacity.

really weird... any hints ?

Configuration :
Debian Lenny
UC-LOGIC Tablet WP8060U
wizardpen-0.6.1rc2

itchy8me said...

i can confirm that this is working on the current development release of Ubuntu (karmic koala 9.10). I'm running on a 64 bit machine. For some clarification, when the calibrator asks for the opposite side it means the opposite side of the diagonal.

itchy8me said...

oh .. i forgot to say that this was for the genius g-pen m609

Miguel Carvalho said...

Thanks so much for all the work! It worked perfectly on my Ubuntu 9.04 32

itchy8me said...

i can confirm that this works on 9.10, the development version of ubuntu running on a 64 bit computer, i used alpha2 of the wizardpen driver.

for clarities sake, when asked for the opposite side in calibration, it's asking for the opposite side of the diagonal.

thanks, works great!

aardvark said...

I am trying to compile wizardpen-0.7.0-alpha1 on Ubuntu 9.04. When I run make I get:
"wizardpen.c:662: warning: passing argument 3 of 'InitValuatorClassDeviceStruct' makes integer from pointer without a cast
wizardpen.c:662: error: too many arguments to function 'InitValuatorClassDeviceStruct'"

Since it works for others, what might I be doing wrong?

Felix Leong said...

Sorry guys, Blogger failed to notify me of the comments you posted and I only get to notice it now.

Anyway, I haven't look through the whole list of comments you all posted (the Xorg.0.log output was so long it flooded my screen which I personally find it hard to scan through the page), but here's some quick answers to questions that I could answer quickly:

1. Links to specificcrap, deb packages etc. doesn't work
Thanks for informing me about it. Honestly I have yet to find a good reliable source to get these packages and I'll update the links as I find them. So for the time being you'd have to use the compile by source method :(

2. I couldn't compile the code. It gave me "wizardpen.c:662: error: too many arguments to function 'InitValuatorClassDeviceStruct'""
Please get the latest version of the code (0.7.0-alpha2) - which is on the same page. This should solve the problem.

3. My tablet was not detected!
This is a VERY common question asked and most of the readers solved it by correcting the FDI rule.

Currently there's no good DEB package that would automatically do this for you. Though the guys at https://launchpad.net/wizardpen have the ambition that would do automatic PnP with a flexible FDI rule. Until then, please bear with that ^-^||.

4. Is there a forum or sorts?
Currently, no. Probably it would be nice to have one thread setup at the Ubuntu community forums :)

juancarlospaco said...

WORKING ON KARMIC KOALA 9.10 32BIT WITH GENIUS MOUSEPEN 8X6

Felix Leong said...

I think I do need a FAQ section for this ^-^||. Anyway, future quick answers:

5. When I'm drawing in GIMP/Inkscape, the lines didn't turn out to be as smooth as in Windows.
A workaround to this problem is to set your ScreenX and ScreenY parameter to a value double your screen resolution. e.g. if you had a 1024x768 screen, set ScreenX as 2048 and ScreenY to be 1536.

Insert these two lines below the MaxX/MaxY lines:
<merge key="input.x11_options.ScreenX" type="string">2048</merge>
<merge key="input.x11_options.ScreenY" type="string">1536</merge>

6. The pressure only goes to about 75% opacity.
I'm not sure why, to be frank. But you may want to try to modify the TopZ and BottomZ values in the FDI.

KageSenshi said...

Thanks :D

Here's a little guide for Fedora.

http://blog.kagesenshi.org/2009/09/genius-g-pen-4500-and-fedora.html

Kapil Bedarkar said...

Hi,
I am trying to download the source from given link:
http://specificcrap.arbitrarycrap.com/wizardpen-0.6.0.2.tar.gz

But is is not working.
Thank you any help will be appreciated.

Kapil

radirk said...

Thanks, I got it working after removing the .deb package mentioned above. I had it installed but it gave me

(EE) Failed to load module "wizardpen" (module requirement mismatch, 0)
(EE) No input driver matching `wizardpen'
(EE) config/hal: NewInputDeviceRequest failed

It's probably a good idea to download and build wizardpen-0.7.0-alpha2.tar.gz which worked fine for me.

Samuel said...

Thanks for a great tutorial. I had previously tried with the Ubuntu "TabletSetupWizardpen" and o.6 driver but got no life out of my UC-logic 5540U. These instructions and 0.7 + calibration finally got it going on Ubuntu 9.10. Thank you very much! *

Floris said...

ok, my stupid problem is at installing it...

I downloaded the file from http://cid-43438aff38d34c29.skydrive.live.com/self.aspx/Public/wizardpen/wizardpen-0.7.0-alpha2.tar.gz

I typed in

tar -zxvf wizardpen-0.7.0-alpha2.tar.gz

in the terminal, but then i got this:

******@******-desktop:~$ tar -zxvf wizardpen-0.7.0-alpha2.tar.gz
tar: wizardpen-0.7.0-alpha2.tar.gz: Functie open() is mislukt: Bestand of map bestaat niet
tar: Fout is niet herstelbaar -- tar sluit nu af.
tar: Child returned status 2
tar: Stopt met foutstatus vanwege eerdere fouten

It's in Dutch, this is my transalation:

******@******-desktop:~$ tar -zxvf wizardpen-0.7.0-alpha2.tar.gz
tar: wizardpen-0.7.0-alpha2.tar.gz: Function open() failed: file or map doesn excist
tar: Fault is irreparable -- tar shuts down now.
tar: Child returned status 2
tar: Stops with faultstate because of earlier faults

Could you please help me, and in non-geek language, i'm no dumb ass, but i'm not form the scary terminal-language :P

thanks

Christopher Lee said...

This WORKS! I am confirming that it works with my Ubuntu 9.10. There are a few minor tweaks with calibration, but after that "molto bene!" THANK YOU VERY MUCH!

Radu said...

Hello,
First of all this is a GREAT tutorial, it helped me a LOT!
But i have a little problem: I've followed the steps, yet my tablet's cursor is stuck around the left corner of my screen. The TopX/Y BottomX/Y values from lshal | less /var/log/Xorg.0.log are:


(**) WALTOP International Corp. Slim Tablet: TopX = 5619
(**) WALTOP International Corp. Slim Tablet: TopY = 6554
(**) WALTOP International Corp. Slim Tablet: BottomX = 29405
(**) WALTOP International Corp. Slim Tablet: BottomY = 29671

exactly as the ones in /etc/hal/fdi/policy/99-x11-wizardpen.fdi

What can I do?
I've tried to calibrate and it doesn't work. Please help meee :D :D

Thanks in advance :)

alan carr said...

How does one uninstall the drivers?

Felix Leong said...

@Radu: Sorry that I couldn't help out as I had migrated over to Mac OSX and a Wacom tablet. The project is currently actively maintained at https://launchpad.net/wizardpen and I recommend that you check them out instead as there're some major changes in Xorg configuration in newer releases of Ubuntu.

@Alan: If you used the installation steps above, to uninstall it you just need to delete the FDI and .so driver file. Double check your configuration (xorg.conf) that you don't reference the Wizardpen driver

Tim Niiler said...

I wanted to add something that seems to work on Vector Linux, a Slackware derivative. It may also work on Ubuntu. As my tablet (UC-LOGIC Tablet WP8060U) aged, the USB cable went bad and started disconnecting and reconnecting to the computer. However, since hotplugging never worked for me, I would have to log out or kill X in order to get the stylus working again.

However, if you use the good old CTRL-ALT-F2 (to drop to a command line, suspending X) and then ALT-F7 to restore X, the stylus control comes back. All your programs are there along with your connectivity.

I figured this would help someone else who can't get real hotplugging to work, but must rely on the "poor-man's" alternative.