Aiptek tablet driver for linux is confusing

I’ve downloaded the Linux version from here -
http://www.aiptek.eu/index.php?option=com_product&task=view&productid=184&Itemid=542

I found a Readme file, because there is no clear place to start in the midst of all these strange folders… the instructions are thus (with edited-out gaps):

0 USB HID ------------ 0.1 Fedora

0.1.1 Copy hid-xxxx.c to kernel source code directory

For kernel 2.6.21:

#cp drv/2.6.21/hid-core.c /usr/src/kernels/‘uname -r’/drivers/usb/input

For kernel 2.6.23:

#cp drv/2.6.23/hid-quirks.c /usr/src/kernels/‘uname -r’/drivers/hid/usbhid

0.1.2 Rebuild Linux Kernel

0.1.3 Reboot Linux

0.2 Ubuntu

0.2.1 Copy hid-xxx.c to kernel source code directory

Consult 0.1.1

0.2.2 Rebuild (usb)hid.ko

#make

0.2.3 Install (usb)hid.ko

#make install

#make modules_install

Or Copy (usb)hid.ko to kernel module directory

0.2.4 Reboot Linux

1 Compile


#make

2 Install Waltop Linux Driver (waltoptablet.ko)


Linux Kernel version 2.6.21:

#cp .\waltoptablet.ko /lib/modules/$(shell uname -r)/kernel/drivers/input

Linux Kernel version 2.6.23 and above:

#cp .\waltoptablet.ko /lib/modules/$(shell uname -r)/kernel/drivers/input/tablet

3 Register Linux kernel driver


#cd /lib/modules/‘uname -r’/drivers/input

#/sbin/insmod ./waltoptablet.ko

#/sbin/depmod -e

4 List the registered module


#/sbin/lsmod | grep waltop

5 Plug-in the tablet device

6 Test tablet controller detection (waltoptablet.ko)

#more /proc/bus/usb/devices

… Driver=waltoptablet.ko

6.1 If Driver=usbhid, add the waltop vendor id to the linux kernel

6.2 If Driver=(none), install the waltop driver

Or
#more /proc/bus/input/devices

I: Bus=xxxx Vendor=172f Product=0034 Version=1105

N: Name=“Slim Tablet”

P:

S: Sysfs=/class/input/input6

H: Handlers=mouse2 event5

B:

B:

/*****************************************************************************

** The Tablet of X11 Driver

****************************************************************************/

1 Compile


#./configure

#make

2 Install Waltop X11 driver (waltoptablet_drv.so)


#cp .libs/waltoptablet_drv.so /usr/lib/xorg/modules/input

3 Edit the Configuration file (xorg.conf)

3.0 Check Tablet device event number
The event number will be used to xorg.conf “Device” option
#more /proc/bus/input/devices
I: Bus=xxxx Vendor=172f Product=0034 Version=1105

N: Name=“Slim Tablet”

P:

S: Sysfs=/class/input/input6

H: Handlers=mouse2 event5

B:

B:
3.1 Edit the xorg.conf

3.1.0 Edit the xorg.conf

#vi /etc/X11/xorg.conf

3.1.1 Add InputDevice section

Section “InputDevice”

Identifier 	"WaltopStylus"

Driver 		"waltoptablet"

Option 		"Device"	"/dev/input/eventX"

Option		"Type"		"stylus"

Option		"Mode"		"absolute"

Option		"USB"		"on"

Option		"KeepShape"     "off"

Option		"Pressure"	"Soft"

Option		"debuglevel"    "0"	

EndSection

/*

**Attention:

** 1 Option “Device” “/dev/input/eventX”

** X is the event number, consult 3.0

**

** 2 Option “Pressure” “string”

** string value { “Soft” | “Hard” | “Linear” } .

**

** 3 Option “debuglevel” “number”

** number “0 -12”, 0 is Off.

**

*/

3.1.2 Edit ServerLayout

Add below to ServerLayout:

InputDevice “WaltopStylus” “SendCoreEvents”

Example:

Section “ServerLayout”

Identifier     "single head configuration"

Screen      0  "Screen0" 0 0

InputDevice    "Keyboard0" "CoreKeyboard"

...

InputDevice	"WaltopStylus"	"SendCoreEvents"

EndSection

4 Restart X Window


$init 3

$startx

5 GIMP and Tablet


Configure Gimp for the new devices.

Start Gimp.

Edit → Preferences

Select “Input Devices”

Select “Configure Extended Input Devices”

pad → Mode: Screen

stylus → Mode: Screen

eraser → Mode: Screen

cursor → Mode: Screen

Linux input: Wacom Graphire3 6x8 → Mode: Screen

Wacom Graphire3 6x8 → Mode: Screen

Make sure to save. Exit and restart Gimp.

Your Graphire tablet should be working with the Gimp.

Config file in the path:

GIMP - GIMP Man Page

This makes no sense to me. Where do I start? :frowning: The beginning doesn’t make sense…

I should add - I installed the Windows driver using Wine, though it doesn’t seem to have worked. The tablet DOES work, but not well enough to really use.

I’d be really grateful for any help :confused: Thanks. :slight_smile:

I wouldn’t bother with those drivers, they’re quite old and only appear to contain drivers for kernels up to 2.6.30.1

According to this:
https://help.ubuntu.com/community/AiptekTablet

The drivers for your tablet are contained in the xserver-xorg-input-aiptek package, available from the Ubuntu repositories through your package manager (Synaptic).

or can be installed with:

sudo apt-get install xserver-xorg-input-aiptek

BUT - They are in the “universe” repo, so you will have to enable that first.

Whilst enabling “universe”, you might as well enable “multiverse” and “partner” at the same time…


Instructions on how to enable the “universe”, “multiverse” and “partner” repositories -

Go to System>Administration>Synaptic Package Manager

When Synaptic opens, go to Settings>Repositories>Ubuntu Software (tab)
Put ticks in:
Community maintained Open Source software (universe)
and
Software restricted by copyright or legal issues (multiverse)

Click the “Other Software” (tab), and put ticks in:
Canonical Partners
and (if you want)
Canonical Partners (Source Code)

Click Close

Now click the “Reload” button on the toolbar.


If you REALLY want to attempt the “Ubuntu” instructions from the ReadMe, let me know.

But be aware they only contain drivers for kernels <= 2.6.30.1 YOUR kernel is 2.6.35 (in Maverick), so they probably wont build properly, if at all.

But effectively, what they want you to do is…

0.2 Ubuntu

= Instructions for Ubuntu.

0.2.1 Copy hid-xxx.c to kernel source code directory

= Copy the file(s) named hid-xxx.c [and sometimes hid-xxx.h] from the drivers /drv/ directory to [YOUR] kernel source code directory.

Consult 0.1.1

= consult section 0.1.1 on which files to copy for different kernel versions.

0.2.2 Rebuild (usb)hid.ko

#make

= run the “make” command as root.

0.2.3 Install (usb)hid.ko

#make install

#make modules_install

= run the “make install” command as root, then the “make modules_install” command as root.

Or Copy (usb)hid.ko to kernel module directory

= if you don’t want to run those last 2 commands, you can “manually” copy the newly created hid.ko file if you wish.

Does that make sense ?

I agree, it’s not the best laid out ReadMe I’ve ever seem :wink:

Hmm… well, that (the first part, not the readme instructions) did work, thanks :slight_smile: Though it doesn’t seem to have improved the tablet’s performance :-\ Do you think it might just not be very linux-compatible, or have I missed something…?

(The problem is that as I hover the pen over the tablet, it follows it on the monitor - however, after I tap it, it no longer hovers again until I lift the pen up further than that hovering point, and put it back down again… if that makes any sense :slight_smile:

[EDIT]
See next posting BEFORE doing this.
[END EDIT]

Have you followed the other instructions on the link in my last post?

!) Create a file called 69-xserver-xorg-input-aiptek.rules containing the text:

ACTION!="add|change", GOTO="xorg_aiptek_end" KERNEL!="event[0-9]*", GOTO="xorg_aiptek_end"

ATTRS{idVendor}==“08ca”, ENV{x11_driver}=“aiptek”, SYMLINK+=“input/aiptektablet”

LABEL=“xorg_aiptek_end”

Copy that file to the /lib/udev/rules.d directory.

  1. Create a file called 10-aiptek.conf containing the text:
Section "InputClass" Identifier "pen" MatchProduct "Aiptek|AIPTEK|aiptek" MatchDevicePath "/dev/input/event*" Driver "aiptek" Option "SendCoreEvents" "true" Option "USB" "on" Option "Type" "stylus" Option "Mode" "absolute" Option "zMin" "0" Option "zMax" "511" EndSection

If you are using Ubuntu 10.10 (Maverick), Copy that file to the /usr/share/X11/xorg.conf.d directory.

  1. Run:
xinput get-button-map Aiptek

it will probably return “1 2 3 4 5” then try remapping the buttons with:

xinput set-button-map Aiptek 1 3 2 4 5

or

xinput set-button-map Aiptek 2 1 3 4 5

You’ll have to work out the button mapping order yourself.

BE AWARE, the button mapping changes won’t survive a reboot, so you’ll have to script that and add the script to the startup applications.

If you don’t know how… once you get it right by manually playing with the mappings, write the command that worked best down and let me know what it is, and I’ll talk you through running it automatically at system startup.

Don’t follow the instructions in the previous posting yet.

There seems to be a newer driver for the AIPTEK Slim Tablet U600 Premium II… see here:
https://help.ubuntu.com/community/TabletSetupWizardpen

Instructions to follow.

OK, installing the newer driver…

First lets get rid of the previous driver, just in case it conflicts…

sudo apt-get purge xserver-xorg-input-aiptek

Now lets add the PPA for the correct drivers:

sudo add-apt-repository ppa:doctormo/xorg-wizardpen

Update the apt cache:

sudo apt-get update

Install the (correct) xserver-xorg-input-wizardpen driver:

sudo apt-get install xserver-xorg-input-wizardpen

Reboot your machine. It should just work.

If it doesn’t, let me know as there are also troubleshooting and calibration sections at this link.
https://help.ubuntu.com/community/TabletSetupWizardpen

OK folks… installing the xserver-xorg-input-aiptek drivers then following the configuration instructions here:
https://help.ubuntu.com/community/TabletSetupWizardpen

Caused Ubuntu 10.10 to hang at bootup, so don’t bother with them… at least in Maverick.

@Ava

At least you found out how to use a LiveCD to undo changes :slight_smile:

OK, first thing I want you to do is uninstall the xserver-xorg-input-wizardpen drivers.

sudo apt-get purge xserver-xorg-input-wizardpen

hit enter, and your password when asked… and hit Y when asked if you want to continue.

Next, let’s disable the PPA.
Go to System>Administration>Synaptic Package Manager
when synaptic opens, go to Settings>Repositories>Other Software (tab)

Look for the entry:
Index of /doctormo/xorg-wizardpen/ubuntu maverick main
and remove the tick from box at the beginning of that line.
and if it exists, also remove the tick from:
Index of /doctormo/xorg-wizardpen/ubuntu maverick main (Source Code)
when you’ve removed the ticks, click Close and if a message about “Repositories changed” pops up, Close that too.

Now, on the main Synaptic toolbar, click the Reload button… when that’s done, close Synaptic.

Ok that’s got rid of those.


Now let’s reinstall the drivers we were first trying to configure… xserver-xorg-input-aiptek… and carry on trying to configure those.

To reinstall them:

sudo apt-get install xserver-xorg-input-aiptek

Now carry on with the instructions in this posting (above)
http://linuxforums.org.uk/general-help-advice/aiptek-tablet-driver-for-linux-is-confusing/msg39252/#msg39252

Well, I got this far:

Copy that file to the /lib/udev/rules.d directory.

I get this message:
Error while copying “69-xserver-xorg-input-aiptek.rules”.
There was an error copying the file into /lib/udev/rules.d.

Error opening file ‘/lib/udev/rules.d/69-xserver-xorg-input-aiptek.rules’: Permission denied

In trying to edit the permissions of /lib/udev/rules.d/69-xserver-xorg-input-aiptek.rules it says -
You are not the owner, so you cannot change these permissions

Apparantly the owner is ‘root’… I thought that was me?

Edit - just figured out how to access it, so this shouldn’t be a problem now

Edit 2 - err… the udev folder is now empty. :confused: At least through root…

Edit 3 - Ok, never mind this, sorted it out now

Run:

Code: [Select]
xinput get-button-map Aiptek

This comes up:
unable to find device Aiptek

Section “InputClass”
Identifier “wizardpen”
MatchDevicePath “/dev/input/event3”
MatchProduct “WALTOP|Tablet”
Driver “wizardpen”
EndSection

Just that… no more.

OK, yet another set of instructions… (if unsure about any of this, look for me in chat)

We’re got 2 options here

  1. retry the aiptek drivers but with 10-aiptek.conf renamed to 50-aiptek.conf

Remove wizardpen drivers:

sudo apt-get purge xserver-xorg-input-wizardpen

then install aiptek drivers:

sudo apt-get install xserver-xorg-input-aiptek

Now download these 2 files from my dropbox -
http://dl.dropbox.com/u/11876059/50-aiptek.conf
http://dl.dropbox.com/u/11876059/69-xserver-xorg-input-aiptek.rules

now open nautilus as root:

sudo nautilus

navigate to /usr/share/X11/xorg.conf.d and if 10-aiptek.conf exists, delete it.
now copy the 50-aiptek.conf you just downloaded to that same directory (ie. /usr/share/X11/xorg.conf.d)

now navigate to /lib/udev/rules.d
now copy the 69-xserver-xorg-input-aiptek.rules you just downloaded to that same directory (ie. /lib/udev/rules.d)… overwriting the existing file if there is one.

Ok, now reboot and try your tablet.

If your PC won’t boot…
remember the pci=nomsi boot parameter
and the Places>Home Folder>xxxGB FileSystem… sudo nautilus
tricks, then delete:
/usr/share/X11/xorg.conf.d/50-aiptek.conf
and
/lib/udev/rules.d/69-xserver-xorg-input-aiptek.rules

the renaming of 10-aiptek.conf to 50-aiptek.conf fix can be found here:
http://www.control-alt-deleted.net/genius-g-pen-560-and-ubuntu-1010
and
https://help.ubuntu.com/community/AiptekTablet
and a lot of other places.


  1. According to this:
    [all variants] HOW TO set up a Waltop tablet in Lucid & Maverick

The “Wacom” drivers now work in Ubuntu 10.10… your tablet is actually a rebadged wacom, so worth a go.

First make sure you have all the latest updates on your system as they only work with the latest kernel:

sudo apt-get update && sudo apt-get upgrade

if asked say yes to continue, and wait for it to finish.

now remove the aiptek driver:

sudo apt-get purge xserver-xorg-input-aiptek

Now open Synaptic and see if the xserver-xorg-input-wacom drivers are already installed (ie. green box)

if not, install them… either through Synaptic or with
sudo apt-get install xserver-xorg-input-wacom

open the /usr/share/X11/xorg.conf.d/50-wacom.conf file (as root) in gedit:

sudo gedit /usr/share/X11/xorg.conf.d/50-wacom.conf

Find the (top section that reads

Section "InputClass" Identifier "Wacom class" # WALTOP needs a patched kernel driver, that isn't in mainline lk yet, # so for now just let it fall through and be picked up by evdev instead. # MatchProduct "Wacom|WALTOP|WACOM" MatchProduct "Wacom|WACOM|Hanwang" MatchDevicePath "/dev/input/event*" Driver "wacom" EndSection

and change it to read:

Section "InputClass" Identifier "Wacom class" # WALTOP needs a patched kernel driver, that isn't in mainline lk yet, # so for now just let it fall through and be picked up by evdev instead. MatchProduct "Wacom|WALTOP|WACOM" # MatchProduct "Wacom|WACOM|Hanwang" MatchDevicePath "/dev/input/event*" Driver "wacom" EndSection

Leave the other section as they are.

so the whole file now reads (click the Spoiler button below to view)

[spoiler]

Section “InputClass”
Identifier “Wacom class”

WALTOP needs a patched kernel driver, that isn’t in mainline lk yet,

so for now just let it fall through and be picked up by evdev instead.

MatchProduct "Wacom|WALTOP|WACOM"

MatchProduct “Wacom|WACOM|Hanwang”

MatchDevicePath "/dev/input/event*"
Driver "wacom"

EndSection

Section “InputClass”
Identifier “Wacom serial class”
MatchProduct “Serial Wacom Tablet”
Driver “wacom”
EndSection

Section “InputClass”
Identifier “Wacom serial class identifiers”
MatchProduct “WACf|FUJ02e5|FUJ02e7”
Driver “wacom”
EndSection

N-Trig Duosense Electromagnetic Digitizer

Section “InputClass”
Identifier “Wacom N-Trig class”
MatchProduct “HID 1b96:0001|N-Trig Pen”
MatchDevicePath “/dev/input/event*”
Driver “wacom”
Option “Button2” “3”
EndSection

[/spoiler]

Now reboot, and test the tablet.

Worst case scenario… reboot to the LiveCD, and delete the:
/usr/share/X11/xorg.conf.d/50-wacom.conf
file.

Unfortunately the first didn’t change it, and with the second I had to delete the file to get the computer working again, so that didn’t work either :confused:

For future readers, this problem was solved in chat…

These instructions are for 10.10 (Maverick) ONLY… if you are using 10.04 (Lucid) you will have to compile the latest wacom.ko, and update the xorg-macros to version 1.8… see the links at the bottom…

Eventually we settled on the xserver-xorg-input-wacom drivers which are already installed in Ubuntu 10.10 by default.

But we had to edit the:
MatchProduct
line in
/usr/share/X11/xorg.conf.d/50-wacom.conf

Getting the MatchProduct line wrong (on this system) caused the Xserver to stall during bootup, and the system wouldn’t boot

The original line read:

MatchProduct "Wacom|WACOM|Hanwang"

but

lsusb -v

reported the Product and Vendor ID’s as:

idVendor 0x172f [b]Waltop[/b] International Corp. idProduct 0x0034 [b]Slim[/b] Tablet

So editing the line to read:
MatchProduct “Slim|Waltop|Wacom|WACOM|Hanwang”
Would probably have worked.

But instead we decided to have the hardware matched by vendor instead… so we commented out the MatchProduct line, eg.:
# MatchProduct “Wacom|WACOM|Hanwang”

and added this MatchVendor line just beneath it:

MatchVendor "Waltop|WALTOP|waltop"

so the whole (new), 50-wacom.conf file reads:

Section "InputClass" Identifier "Wacom class" # WALTOP needs a patched kernel driver, that isn't in mainline lk yet, # so for now just let it fall through and be picked up by evdev instead. # MatchProduct "Wacom|WALTOP|WACOM" # MatchProduct "Wacom|WACOM|Hanwang" # MatchProduct "Slim|Waltop|WALTOP|WACOM|Wacom" MatchVendor "Waltop|WALTOP|waltop" MatchDevicePath "/dev/input/event*" Driver "wacom" EndSection

Section “InputClass”
Identifier “Wacom serial class”
MatchProduct “Serial Wacom Tablet”
Driver “wacom”
EndSection

Section “InputClass”
Identifier “Wacom serial class identifiers”
MatchProduct “WACf|FUJ02e5|FUJ02e7”
Driver “wacom”
EndSection

N-Trig Duosense Electromagnetic Digitizer

Section “InputClass”
Identifier “Wacom N-Trig class”
MatchProduct “HID 1b96:0001|N-Trig Pen”
MatchDevicePath “/dev/input/event*”
Driver “wacom”
Option “Button2” “3”
EndSection

then (in a terminal) entering:

lsmod

showed the wacom module wasn’t listed, so wasn’t loading automatically… so we added the line
wacom
to the /etc/modules file.

Rebooted, and Voila… a working tablet.


The important thing was to get the idVendor and/or idProduct lines -

idVendor 0x172f Waltop International Corp.
idProduct 0x0034 Slim Tablet

by running:

lsusb -v

then make sure the MatchProduct line and or MatchVendor line in 50-wacom.conf had those as the FIRST ID to look for, as in:

MatchProduct "[b]Slim[/b]|Waltop|WALTOP|WACOM|Wacom"

or
MatchVendor “Waltop|WALTOP|waltop”

(Worth noting that it DOES seem to be case sensitive… if that first Waltop read WALTOP it stalled the Xserver, because the idVendor string the tablet was using read Waltop not WALTOP… see the lsusb -v output above).

then make sure the wacom module is being loaded.


Useful links: