# Wacom Volito2, Xorg 1.8: movement works, clicking doesn't

## McLink

I have a Wacom Volito2 tablet, which mostly stopped working since I upgraded to xorg-server 1.8 (without HAL, obviously). Moving the stylus across the pad does move the cursor, but pressing it, or using the buttons (for left and middle click), has no effect whatsoever - even xev shows no events. The device does appear to be properly detected by udev; /dev/input/by-id contains usb-WACOM_CTF-420_V2.0-0-event-mouse and usb-WACOM_CTF-420_V2.0-0-mouse, and custom rules happily add /dev/input/wacom as a symlink. However, when I cat any of those nodes, no output is produced (as opposed to the expected raw binary data).

Various information:

```
# emerge --info

Portage 2.2_rc67 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.11.2-r0, 2.6.34-gentoo x86_64)

=================================================================

System uname: Linux-2.6.34-gentoo-x86_64-AMD_Phenom-tm-_9850_Quad-Core_Processor-with-gentoo-2.0.1

Timestamp of tree: Thu, 01 Jul 2010 14:45:01 +0000

ccache version 2.4 [enabled]

app-shells/bash:     4.0_p37

dev-java/java-config: 2.1.11

dev-lang/python:     2.4.6, 2.5.4-r4, 2.6.5-r2, 3.1.2-r3

dev-util/ccache:     2.4-r7

dev-util/cmake:      2.6.4-r3

sys-apps/baselayout: 2.0.1

sys-apps/openrc:     0.6.0-r1

sys-apps/sandbox:    2.2

sys-devel/autoconf:  2.13, 2.65

sys-devel/automake:  1.4_p6-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1

sys-devel/binutils:  2.20.1-r1

sys-devel/gcc:       3.4.6-r2, 4.2.4-r1, 4.3.4, 4.4.3-r2

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.6b

virtual/os-headers:  2.6.30-r1

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="*"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -march=native -pipe -ggdb"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-O2 -march=native -pipe -ggdb"

DISTDIR="/usr/portage/distfiles"

EMERGE_DEFAULT_OPTS="--keep-going"

FEATURES="assume-digests ccache distlocks fixpackages news nostrip parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unmerge-logs unmerge-orphans userfetch"

GENTOO_MIRRORS="http://ftp.heanet.ie/pub/gentoo/ http://mirror.ovh.net/gentoo-distfiles/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://de-mirror.org/distro/gentoo/ http://mirror.qubenet.net/mirror/gentoo/ http://mirror.muntinternet.net/pub/gentoo/ ftp://gentoo.tiscali.nl/pub/mirror/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.tiscali.nl/ ftp://mirror.muntinternet.net/pub/gentoo/"

LANG="en_GB.UTF-8"

LDFLAGS="-Wl,-O1"

LINGUAS="en_GB en nl de fr es it pl sv el la fi ru"

MAKEOPTS="-j5"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/crossdev-overlay /var/lib/layman/science /var/lib/layman/sunrise /var/lib/layman/pengdev /var/lib/layman/java-overlay /var/lib/layman/kde /usr/local/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="3ds 7zip X Xaw3d aac aalib accessibility acl acpi addressbook adns allegro alsa amd64 amrnb amrwb apache2 applet ares artworkextra aspell audiofile avahi bash-completion bcp bdf berkdb big-tables binfilter bjam blender-game bookmarks branding bugzilla bzip2 cairo cal3d calendar caps captury ccache cdaudio cdda cddb cdparanoia cdr cegui cg cgi chardet chipcard chroot cjk cli cpudetection cracklib crypt cscope css ctype cups curl curlwrappers cursors cvs cxx darcs dbus dedicated designer-plugin device-mapper devil dhcp directfb djvu dmi dmx double-precision dri dssi dts dv dvd dvdr dvdread dvi elf encode epydoc esd espeak examples exif expat export extensions extraengine extrafilters extras fat fax fbcon fbcondecor festival ffmpeg filter flac flash flatfile fontconfig fontforge foomaticdb force-cgi-redirect fortran freetts ftp fts3 fuse gadu gcj gcrypt gd gdbm gdm gdu gedit geoip geolocation ggi gif gimp git glib glitz glut gmail gmp gnome gnome-keyring gnuplot gnutls gold gpg gphoto2 gpm grammar graphviz groupwise gs gstreamer gtk gtkhtml gucharmap guile gzip hash hbci hddtemp hdf5 hfs howl-compat htmlhandbook i18n icons iconv icu id3tag ieee1394 ifp image imagemagick imap imlib inifile inkjar iostats ipod ipv6 jabber jai java java5 java6 javamail javascript jce jfs jikes jingle jms joystick jpeg jpeg2k json justify kde kdm kdrive kig-scripting kpathsea kqemu latex lcms libcaca libedit libnotify libsamplerate lilypond lm_sensors logitech-mouse lua lua-cairo lua-imlib lzma lzo mad mailwrapper maps math mbox md5sum mdnsresponder-compat meanwhile menubar mhash midi mikmod mjpeg mmx mng modplug modules motif mozdevelop mozdom mp3 mp3tunes mp4 mpeg mplayer msn mtp mudflap multilib multiuser musepack musicbrainz mysql mysqli nas nautilus ncurses netboot network networking new-login nextaw nfs njb nls nptl nptlonly nsplugin ntfs nvidia objc objc++ objc-gc ode odk offensive ofx ogg openal openexr opengl openmp openntpd ots overlays pam pango paste64 pch pcre pdf pdo perl phonon php player plotutils png pop posix postgres postscript povray ppds pppd prediction pyste python qq qt3 qt3support qt4 quicktime quotas quotes radio rar raw rdesktop readline reflection regex reiser4 reiserfs replytolist rpc rss ruby sametime scanner sdl seamonkey secure-delete semantic-desktop session silc skey skins slang slp smartcard smi smp sndfile snmp sockets socks5 solver sound source sox speex spell spl sql sqlite srt sse sse2 ssl stars startup-notification stream subversion svg svgz swat symlink sysfs syslog system-sqlite talkfilters tcl tcpd templates tetex tga theora thesaurus threads threadsafe thumbnail tidy tiff timezone timidity tk tokenizer toolbar tools truetype tweak-mode unicode urandom usb v4l v4l2 vcd vdr verse vim vim-pager vim-syntax vim-with-x visualization vlm vorbis wavpack wcwidth weather-metar weather-xoap webkit wma wxwidgets wxwindows x264 xattr xchatdccserver xcomposite xerces-c xfs xft xine xinerama xinetd xml xmlreader xmlrpc xmlwriter xorg xosd xpm xprint xrandr xscreensaver xsl xterm-color xulrunner xv xvid xvmc zephyr zeroconf zip zlib zsh-completion" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CAMERAS="*" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB en nl de fr es it pl sv el la fi ru" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 

Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

# eix -*IcC x11-base

[I] x11-base/xorg-drivers (1.8@26/06/10): Meta package containing deps on all xorg drivers

[I] x11-base/xorg-server (1.8.1.902@30/06/10): X.Org X servers

[I] x11-base/xorg-x11 (7.4-r1@28/05/10): An X11 implementation maintained by the X.Org Foundation (meta package)

# eix -*IcC x11-drivers

[I] x11-drivers/nvidia-drivers (256.35@27/06/10): NVIDIA X11 driver and GLX libraries

[I] x11-drivers/xf86-input-evdev (2.4.0@27/06/10): Generic Linux input driver

[I] x11-drivers/xf86-input-keyboard (1.4.0@27/06/10): Keyboard input driver

[I] x11-drivers/xf86-input-mouse (1.5.0@27/06/10): X.Org driver for mouse input devices

[I] x11-drivers/xf86-input-wacom (0.10.6@30/06/10): Driver for Wacom tablets and drawing devices

# X -version

This is a pre-release version of the X server from The X.Org Foundation.

It is not supported in any way.

Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.

Select the "xorg" product for bugs you find in this release.

Before reporting bugs in pre-release versions please check the

latest version in the X.Org Foundation git repository.

See http://wiki.x.org/wiki/GitPage for git access instructions.

X.Org X Server 1.8.1.902 (1.8.2 RC 2)

Release Date: 2010-06-21

X Protocol Version 11, Revision 0

Build Operating System: Linux 2.6.34-gentoo x86_64 Gentoo

Current Operating System: Linux gentoo 2.6.34-gentoo #2 SMP PREEMPT Sun Jun 20 17:58:14 CEST 2010 x86_64

Kernel command line: acpi=force acpi_enforce_resources=lax root=/dev/md1 video=uvesafb:1280x1024-32,mtrr:3,redraw lockd.nlm_udpport=4001 lockd.nlm_tcpport=4001 fbcon=scrollback:1024k

Build Date: 30 June 2010  09:23:32AM

 

Current version of pixman: 0.17.2

   Before reporting problems, check http://wiki.x.org

   to make sure that you have the latest version.
```

Relevant parts of xorg.conf:

```
Section "ServerLayout"

[...]

   InputDevice    "WacomStylus0" "SendCoreEvents"

   InputDevice    "WacomCursor0" "SendCoreEvents"

EndSection

[...]

Section "InputDevice"

   Identifier  "WacomStylus0"

   Driver      "wacom"

#   Option      "Device" "/dev/input/by-id/usb-WACOM_CTF-420_V2.0-0-event-mouse"

   Option      "Device" "/dev/input/wacom"

   Option      "Type" "stylus"

   Option      "USB" "on"

   Option      "Vendor" "WACOM"

   Option      "Threshold" "5"

   Option      "Suppress" "0"

   Option      "PressCurve" "75,0,100,25"

   Option      "RawSample" "4"

EndSection

Section "InputDevice"

   Identifier  "WacomCursor0"

   Driver      "wacom"

#   Option      "Device" "/dev/input/by-id/usb-WACOM_CTF-420_V2.0-0-event-mouse"

   Option      "Device" "/dev/input/wacom"

   Option      "Type" "cursor"

   Option      "USB" "on"

   Option      "Vendor" "WACOM"

EndSection
```

/proc/config.gz available at http://users.penguindevelopment.org/Link/wacom-debug/config.gz

Needless to say, any help is very much appreciated!

Thanks in advance.

----------

## VoidMage

Does Xorg log confirm that you use wacom driver ?

----------

## McLink

It confirms that the wacom module is loaded and that the wacom stylus and cursor are added;

```
[  6523.827] (II) LoadModule: "wacom"

[  6523.827] (II) Loading /usr/lib64/xorg/modules/input/wacom_drv.so

[  6523.827] (II) Module wacom: vendor="X.Org Foundation"

[  6523.827]    compiled for 1.8.1.902, module version = 0.10.6

[  6523.827]    Module class: X.Org XInput Driver

[  6523.827]    ABI class: X.Org XInput driver, version 9.0

[...]

[  6525.896] (**) Option "Device" "/dev/input/wacom"

[  6525.899] (**) Option "SendCoreEvents"

[  6525.899] (**) WacomStylus0: always reports core events

[  6525.899] (**) Option "Suppress" "0"

[  6525.899] (**) Option "PressCurve" "75,0,100,25"

[  6525.899] (**) Option "Threshold" "5"

[  6525.905] (II) XINPUT: Adding extended input device "WacomStylus0" (type: STYLUS)

[  6525.913] (--) WacomStylus0: Wacom USB Volito2 tablet speed=38400 maxX=5104 maxY=3712 maxZ=511 resX=1016 resY=1016  tilt=disabled

[  6525.913] (--) WacomStylus0: top X=0 top Y=0 bottom X=5104 bottom Y=3712 resol X=1016 resol Y=1016

[  6525.913] (**) Option "Device" "/dev/input/wacom"

[  6525.915] (**) Option "SendCoreEvents"

[  6525.915] (**) WacomCursor0: always reports core events

[  6525.917] (II) XINPUT: Adding extended input device "WacomCursor0" (type: CURSOR)

[  6525.917] (--) WacomCursor0: top X=0 top Y=0 bottom X=5104 bottom Y=3712 resol X=1016 resol Y=1016
```

Although it doesn't explicitly state the driver it's using, considering it throws no warnings or errors, I'd call it confirmed.

----------

## McLink

How very quaint: it works when I use automatic configuration, but doesn't when I disable it. Since in my case autoconfig usually does more harm than good, I'd like for this to work in manual mode, but I haven't been able to replicate the results. Is there any way to either (1) see the effective configuration when it has been automatically generated, or (2) enable autoconfig only for a certain device type (such as Wacom tablets, in my case)?

----------

