Serial Tablet PCs not supported in lucid

Bug #522318 reported by Tom Jaeger
70
This bug affects 10 people
Affects Status Importance Assigned to Milestone
xf86-input-wacom (Ubuntu)
Fix Released
Medium
Unassigned
xorg-server (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Fixing this requires two things:

(1) An xserver patch. This is now upstream:
http://cgit.freedesktop.org/xorg/xserver/commit/?id=84905007702da2c05a4f7446b3fc5ff52be49655

(2) Additional udev rules need to be added to the xf86-input-wacom rules file.

ACTION=="add|change", SUBSYSTEM=="pnp", ATTR{id}=="WACf*", ENV{NAME}="Serial Wacom Tablet"
ACTION=="add|change", SUBSYSTEM=="pnp", ATTR{id}=="FUJ*", ENV{NAME}="Serial Wacom Tablet"
ACTION=="add|change", SUBSYSTEMS=="pnp", ATTRS{id}=="WACf*", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{x11_driver}="wacom"
ACTION=="add|change", SUBSYSTEMS=="pnp", ATTRS{id}=="FUJ*", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{x11_driver}="wacom"

I would strongly suggest not waiting for debian on this (I contacted Ron about this three weeks ago), as I think it's important that testing Tablet PCs be possible at this point in the release cycle.

Revision history for this message
Malcolm Scott (malcscott) wrote :

For the record, my HP 2710p (which worked (almost*) perfectly in Karmic) seems to be affected by this bug -- the pen is ignored in Lucid. This machine has a Wacom digitiser on ttyS0.

* (I say "almost" because Karmic treated the pen's right mouse button as a middle mouse button by default, which is presumably unrelated; I'll file another bug for that if it's still present when the digitiser is recognised again.)

Revision history for this message
Karl Hegbloom (karl.hegbloom) wrote :

I will have patches for this ready by the end of the day tested on a Thinkpad X61 Tablet.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Thanks, I've pushed the xserver patch to git.

Changed in xorg-server (Ubuntu):
status: New → Fix Committed
Timo Aaltonen (tjaalton)
Changed in xorg-server (Ubuntu):
importance: Undecided → Medium
Changed in xf86-input-wacom (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Michael Hüttemann (michael-huettemann) wrote :

On my Motion LE1700 tablet pc with a serial wacom digitizer on /dev/ttyS0 the current patch does not help. It does not matter if the additional udev rules are applied to /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules or not. /var/log/Xorg.0.log does not show any entries including "wacom", "stylus" or anything resembling pen input.

  sudo wacdump /dev/ttyS0

shows activity like

(...)
17:46:46.088 WARN: Discarding 05
17:46:46.088 WARN: Discarding 17
17:46:46.088 WARN: Discarding 10
17:46:46.088 WARN: Discarding D0
17:46:46.089 WARN: Discarding FF
WacomOpenTablet: Connection timed out

The timeout happens after a few seconds without activity with the pen. After the timeout message wacdump exits.

This is on lucid/amd64

Revision history for this message
Tom Jaeger (thjaeger) wrote : Re: [Bug 522318] Re: Serial Tablet PCs not supported in lucid

Are you sure you're running a patched X server? The status of the bug
is still 'fix committed', so the package currently in lucid does not
contain the patch. What is the output of

cat /sys/class/tty/ttyS0/device/id

on your system?

On 03/01/2010 12:10 PM, michael.huettemann wrote:
> On my Motion LE1700 tablet pc with a serial wacom digitizer on
> /dev/ttyS0 the current patch does not help. It does not matter if the
> additional udev rules are applied to /lib/udev/rules.d/69-xserver-xorg-
> input-wacom.rules or not. /var/log/Xorg.0.log does not show any entries
> including "wacom", "stylus" or anything resembling pen input.
>
> sudo wacdump /dev/ttyS0
>
> shows activity like
>
> (...)
> 17:46:46.088 WARN: Discarding 05
> 17:46:46.088 WARN: Discarding 17
> 17:46:46.088 WARN: Discarding 10
> 17:46:46.088 WARN: Discarding D0
> 17:46:46.089 WARN: Discarding FF
> WacomOpenTablet: Connection timed out
>
> The timeout happens after a few seconds without activity with the pen.
> After the timeout message wacdump exits.

Revision history for this message
Michael Hüttemann (michael-huettemann) wrote :

@Tom Jaeger
Er, no, not sure. I was waiting for the patches to arrive and received the xorg (1:7.5+1ubuntu9) update a couple of days ago. The changelog said (among other things) "debian/x11-common.links: Add xf86-input-evtouch and -wacom" which made me believe the patch were included. Sorry if my impatience paired with inexperience made me jump the gun here.

cat /sys/class/tty/ttyS0/device/id
WACf004

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xorg-server - 2:1.7.5-1ubuntu2

---------------
xorg-server (2:1.7.5-1ubuntu2) lucid; urgency=low

  [ Bryce Harrington ]
  [Timo Aaltonen]
  * Add 107_dont_filter_input_subsys.diff so for instance serial wacom
    devices are initialized by the udev backend (LP: #522318)

  [Bryce Harrington]
  * Add 108_reenable_record_ext.patch: Upstream patch to make the
    record callback work with the new internal core/Xi events mechanism
    instead of xEvents. With this fix, the record extension can be
    re-enabled.
    (LP: #315456)
 -- Timo Aaltonen <email address hidden> Tue, 02 Mar 2010 17:09:33 +0200

Changed in xorg-server (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

I've got a lenovo X61 tablet, and 'udevadm info --export-db' shows WAC only for some acpi device. 'cat /sys/class/tty/ttyS1/device/id' shows WACf004 though, but since udev doesn't seem to know about the device, it isn't initialized though I have the new server and edited rules.

Revision history for this message
Tom Jaeger (thjaeger) wrote :

On 03/02/2010 11:04 AM, Timo Aaltonen wrote:
> I've got a lenovo X61 tablet, and 'udevadm info --export-db' shows WAC
> only for some acpi device. 'cat /sys/class/tty/ttyS1/device/id' shows
> WACf004 though, but since udev doesn't seem to know about the device, it
> isn't initialized though I have the new server and edited rules.
>

I have the same tablet and it works fine for me. 'udevadm info
--export-db' doesn't seem to include attributes, but if they are present
in sysfs, you should be able to match against them.

Can you attach your rules file?

Revision history for this message
Zaki Manian (zmanian) wrote :

I have an X200. Didn't work for me out of the box. Where can i find out more
about this "rules" file?

On Tue, Mar 2, 2010 at 9:44 AM, Tom Jaeger <email address hidden> wrote:

> On 03/02/2010 11:04 AM, Timo Aaltonen wrote:
> > I've got a lenovo X61 tablet, and 'udevadm info --export-db' shows WAC
> > only for some acpi device. 'cat /sys/class/tty/ttyS1/device/id' shows
> > WACf004 though, but since udev doesn't seem to know about the device, it
> > isn't initialized though I have the new server and edited rules.
> >
>
> I have the same tablet and it works fine for me. 'udevadm info
> --export-db' doesn't seem to include attributes, but if they are present
> in sysfs, you should be able to match against them.
>
> Can you attach your rules file?
>
> --
> Serial Tablet PCs not supported in lucid
> https://bugs.launchpad.net/bugs/522318
> You received this bug notification because you are a direct subscriber
> of a duplicate bug.
>

Revision history for this message
Michael Hüttemann (michael-huettemann) wrote :

After the update, now that the committed patch has arrived, it still does not work. The situation appears to be similar to what is described in comment #8.

I am still unable to find any reference in the log files related to "[Ww]acom" or "stylus". The only bit of information is in /var/log/udev:
(...)
UDEV [1267601669.679437] add /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:14/PNP0A05:00/WACF004:00 (acpi)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:14/PNP0A05:00/WACF004:00
SUBSYSTEM=acpi
MODALIAS=acpi:WACF004:
SEQNUM=1171
(...)

which matches

udevadm info --export-db
(...)
P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:14/PNP0A05:00/WACF004:00
E: UDEV_LOG=3
E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:14/PNP0A05:00/WACF004:00
E: MODALIAS=acpi:WACF004:
E: SUBSYSTEM=acpi
(...)

Is there anything I could do to further investigate?

Revision history for this message
Tom Jaeger (thjaeger) wrote :

Can you run

udevadm info --path=/sys/class/tty/ttyS0/ --attribute-walk

? I'll also attach my /etc/udev/rules.d/65-xorg-wacom.rules file for
reference.

On 03/03/2010 03:05 AM, michael.huettemann wrote:
> After the update, now that the committed patch has arrived, it still
> does not work. The situation appears to be similar to what is described
> in comment #8.
>
> Is there anything I could do to further investigate?
>

Revision history for this message
Michael Hüttemann (michael-huettemann) wrote :

@Tom Jaeger
Bingo! Your /etc/udev/rules.d/65-xorg-wacom.rules file did the trick! I seriously wonder, though, why it hadn't worked before. The situation was that I had added the udev rules directly into /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules.

When having it configured that way 'udevadm info --path=/sys/class/tty/ttyS0/ --attribute-walk' gives

  looking at device '/devices/pnp0/00:08/tty/ttyS0':
    KERNEL=="ttyS0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pnp0/00:08':
    KERNELS=="00:08"
    SUBSYSTEMS=="pnp"
    DRIVERS=="serial"
    ATTRS{id}=="WACf004"

  looking at parent device '/devices/pnp0':
    KERNELS=="pnp0"
    SUBSYSTEMS==""
    DRIVERS==""

After cleaning up /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules to its original state and installing /etc/udev/rules.d/65-xorg-wacom.rules from comment #12 the digitizer appears to be fully working. The mouse cursor follows the digitizer. Mouseclicks work with both ends of the pen. A brief test with xournal shows pressure sensitivity working as well as the button on the pen. This is great. Thanks for the effort.

In case this is helpful to anyone -- this is how the logs look on my Motion Computing LE1700, now that it's working:

/var/log/udev:
(...)
UDEV [1267608189.360156] add /devices/pnp0/00:08 (pnp)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pnp0/00:08
SUBSYSTEM=pnp
DRIVER=serial
SEQNUM=1316
NAME=Serial Wacom Tablet
ID_INPUT=1
ID_INPUT_TABLET=1
x11_driver=wacom
(...)

/var/log/Xorg.0.log:
(...)
(II) config/udev: Adding input device Serial Wacom Tablet (/dev/ttyS0)
(II) LoadModule: "wacom"
(II) Loading /usr/lib/xorg/modules/input/wacom_drv.so
(II) Module wacom: vendor="X.Org Foundation"
        compiled for 1.7.3.902, module version = 0.10.3
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 7.0
(**) Option "Device" "/dev/ttyS0"
(II) Serial Wacom Tablet: type not specified, assuming 'stylus'.
(II) Serial Wacom Tablet: other types will be automatically added.
(**) Serial Wacom Tablet: always reports core events
(II) Serial Wacom Tablet: hotplugging dependent devices.
(**) Option "Device" "/dev/ttyS0"
(**) Serial Wacom Tablet eraser: always reports core events
(II) XINPUT: Adding extended input device "Serial Wacom Tablet eraser" (type: ERASER)
(**) Option "StopBits" "1"
(**) Option "DataBits" "8"
(**) Option "Parity" "None"
(**) Option "Vmin" "1"
(**) Option "Vtime" "10"
(**) Option "FlowControl" "Xoff"
(WW) Serial Wacom Tablet eraser: unable to read ISDV4 % data after 3 tries at (38400)
(--) Serial Wacom Tablet eraser: using pressure threshold of 15 for button 1
(--) Serial Wacom Tablet eraser: Wacom General ISDV4 tablet speed=38400 maxX=24576 maxY=18432 maxZ=255 resX=2540 resY=2540 tilt=disabled
(--) Serial Wacom Tablet eraser: top X=0 top Y=0 bottom X=24576 bottom Y=18432 resol X=2540 resol Y=2540
(II) Serial Wacom Tablet: hotplugging completed.
(II) XINPUT: Adding extended input device "Serial Wacom Tablet" (type: STYLUS)
(--) Serial Wacom Tablet: top X=0 top Y=0 bottom X=24576 bottom Y=18432 resol X=2540 resol Y=2540
(...)

Revision history for this message
Espen Arnesen (espen77) wrote :

the rules is the only thing missing now for getting stylus working on a X200t. Is it possible to define Eraser and button(s) in the udev rules to?

Revision history for this message
Wouter Deconinck (wdconinc) wrote :

Thanks! On a Thinkpad X60 tablet this works now too, after adding the additional udev rules (as a separate file 65-xorg-wacom.rules, not at the end of 69-xserver-xorg-input-wacom.rules for some reason, I am not a udev expert). The output of xsetwacom is
  Serial Wacom Tablet eraser ERASER
  Serial Wacom Tablet touch TOUCH
  Serial Wacom Tablet STYLUS

There are still other issues, though, which I will file as a separate bug after these rules are officially released: spurious events at the bottom right corner of the screen when using the stylus, associated with the following log output:
  /var/log/Xorg.0.log:
    (WW) wcmSerialValidate: bad magic at 4 v=a4 l=5
    (WW) wcmSerialValidate: bad magic at 4 v=80 l=5
    .... repeated many times
Could this be caused by the multitouch events from this particular tablet (although the touch capability is recognized and works without those spurious events)... I remember something similar from before multitouch support was added to the wacom drivers two+ years back.

Revision history for this message
Tom Jaeger (thjaeger) wrote :

The only thing I can think of is that the new rules need to be added
before the KERNEL!="event[0-9]*" or after the LABEL="wacom_end" line,
since you only get an event device for USB tablets.

On 03/03/2010 04:46 AM, michael.huettemann wrote:
> @Tom Jaeger
> Bingo! Your /etc/udev/rules.d/65-xorg-wacom.rules file did the trick! I seriously wonder, though, why it hadn't worked before. The situation was that I had added the udev rules directly into /lib/udev/rules.d/69-xserver-xorg-input-wacom.rules.

Revision history for this message
Michael Hüttemann (michael-huettemann) wrote :

@Tom Jaeger
Thanks again, that explains it. I did put the rules a few lines above LABEL="wacom_end".

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Still nothing, even after adding your rules file.

  looking at device '/devices/pnp0/00:0c/tty/ttyS1':
    KERNEL=="ttyS1"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pnp0/00:0c':
    KERNELS=="00:0c"
    SUBSYSTEMS=="pnp"
    DRIVERS=="serial"
    ATTRS{id}=="WACf004"

  looking at parent device '/devices/pnp0':
    KERNELS=="pnp0"
    SUBSYSTEMS==""
    DRIVERS==""

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hah! Had to reboot the laptop for the rules to take effect, restarting udev & gdm was not enough.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xf86-input-wacom - 1:0.10.3+20100109-1ubuntu2

---------------
xf86-input-wacom (1:0.10.3+20100109-1ubuntu2) lucid; urgency=low

  * Add support for serial wacoms to the udev rules, thanks Tom Jaeger!
    (LP: #522318)
 -- Timo Aaltonen <email address hidden> Fri, 05 Mar 2010 10:52:11 +0200

Changed in xf86-input-wacom (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Wouter Deconinck (wdconinc) wrote :

Fix confirmed working on thinkpad X60 tablet with xserver-xorg-input-wacom 1:0.10.3+20100109-1ubuntu2. Stylus is working with some glitches (will file a different bug), multi-touch is working well.

Revision history for this message
John D Lamb (j-d-lamb) wrote :
Download full text (4.1 KiB)

I’ve been trying to configure an antique Wacom serial tablet I got in the lower oölitic silurian. This one gets its power from the PS/2 mouse or keyboard socket and transfers data through the serial port. First:

$ udevadm info --path=/sys/class/tty/ttyS0/ --attribute-walk

Udevadm info starts with the device specified by the devpath and then

walks up the chain of parent devices. It prints for every device

found, all possible attributes in the udev rules key format.

A rule to match, can be composed by the attributes of the device

and the attributes from one single parent device.

  looking at device '/devices/pnp0/00:07/tty/ttyS0':

    KERNEL=="ttyS0"

    SUBSYSTEM=="tty"

    DRIVER==""

  looking at parent device '/devices/pnp0/00:07':

    KERNELS=="00:07"

    SUBSYSTEMS=="pnp"

    DRIVERS=="serial"

    ATTRS{id}=="PNP0501"

  looking at parent device '/devices/pnp0':

    KERNELS=="pnp0"

    SUBSYSTEMS==""

    DRIVERS==""

The only identifying attribute is PNP0501. So I adjust /etc/udev/rules.d/65-xorg-wacom.rules:
ACTION=="add|change", SUBSYSTEM=="pnp", ATTR{id}=="WACf*", ENV{NAME}="Serial Wacom Tablet"

ACTION=="add|change", SUBSYSTEM=="pnp", ATTR{id}=="FUJ*", ENV{NAME}="Serial Wacom Tablet"

ACTION=="add|change", SUBSYSTEM=="pnp", ATTR{id}=="PNP0501", ENV{NAME}="Serial Wacom Tablet"

ACTION=="add|change", SUBSYSTEMS=="pnp", ATTRS{id}=="WACf*", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{x11_driver}="wacom"

ACTION=="add|change", SUBSYSTEMS=="pnp", ATTRS{id}=="FUJ*", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{x11_driver}="wacom"

ACTION=="add|change", SUBSYSTEMS=="pnp", ATTRS{id}=="PNP0501", ENV{ID_INPUT}="1", ENV{ID_INPUT_TABLET}="1", ENV{x11_driver}="wacom"

Now test:
$ udevadm test /class/tty/ttyS0


parse_file: reading '/etc/udev/rules.d/65-xorg-wacom.rules' as rules file


parse_file: reading '/lib/udev/rules.d/69-xserver-xorg-input-wacom.rules' as rules file


udev_rules_new: can not read '/etc/udev/rules.d/z80_user.rules'

udev_rules_new: rules use 215040 bytes tokens (17920 * 12 bytes), 35059 bytes buffer

udev_rules_new: temporary index used 57380 bytes (2869 * 20 bytes)

udev_device_new_from_syspath: device 0x217b1800 has devpath '/devices/pnp0/00:07/tty/ttyS0'

udev_device_new_from_syspath: device 0x217bab70 has devpath '/devices/pnp0/00:07/tty/ttyS0'

udev_device_read_db: device 0x217bab70 filled with db file data

udev_device_new_from_syspath: device 0x217bac80 has devpath '/devices/pnp0/00:07'

udev_device_new_from_syspath: device 0x217baf48 has devpath '/devices/pnp0'

udev_rules_apply_to_event: LINK 'char/4:64' /lib/udev/rules.d/50-udev-default.rules:4

udev_rules_apply_to_event: GROUP 20 /lib/udev/rules.d/50-udev-default.rules:15

udev_rules_apply_to_event: RUN 'socket:@/org/freedesktop/hal/udev_event' /lib/udev/rules.d/90-hal.rules:2

udev_event_execute_rules: no node name set, will use kernel supplied name 'ttyS0'

udev_device_update_db: created db file for '/devices/pnp0/00:07/tty/ttyS0' in '/dev/.udev/db/tty:ttyS0'

udev_node_add: creating device node '/dev/ttyS0', devnum=4:64, mode=0660, uid=0, gid=20

udev_node_mknod: preserve file '/dev/ttyS0', because it has correct dev_t

nod...

Read more...

Revision history for this message
Tom Jaeger (thjaeger) wrote :

On 05/09/2010 01:17 PM, John D Lamb wrote:
> I’ve been trying to configure an antique Wacom serial tablet I got in
> the lower oölitic silurian. This one gets its power from the PS/2 mouse
> or keyboard socket and transfers data through the serial port. First:
>
> Now /var/log/Xorg.0.log gives (for example):
> (WW) Serial Wacom Tablet: Waited too long for answer (failed after 3 tries).
>
> (WW) Serial Wacom Tablet: Waited too long for answer (failed after 3
> tries).
>
> (WW) Serial Wacom Tablet: Waited too long for answer (failed after 3
> tries).
>
> (II) Serial Wacom Tablet: serial tablet id 0x90.
>
> (EE) Couldn't init device "Serial Wacom Tablet"
>
> (II) Serial Wacom Tablet: removing automatically added devices.
>
> (II) UnloadModule: "wacom"
>
>
> Not surprisingly the tablet doesn’t work.
>

Support for old serial tablets was removed from the xf86-input-wacom
driver a while ago because none of the developers has access to such a
device, so it was likely going to break anyway. There has been some
effort by people who own such a device to re-add support to the wacom
driver, but I don't know what the status of this is.

Revision history for this message
Favux (favux-is) wrote :

Legacy serial tablet support is available for Lucid and Maverick using a patch set to add a modified linuxwacom serial driver to xf86-input-wacom-0.10.6. See "HOW TO Set Up a Wacom Serial Tablet in Ubuntu": http://ubuntuforums.org/showthread.php?t=1780154

Additionally a new wacom_serial.ko (protocol 4) by tokenrove and wacom_serial5.ko (protocol 5; Intuous and Intuos2) by roaldfre are being developed. They are currently in a working testable form. These will provide support for legacy serial tablets in Natty and later in conjunction with inputattach. Links in the above HOW TO.

Candidate udev rules are available.

The current udev rules for ISDV4 serial Wacom tablets (serial tablet PCs) are available on the mediawiki: http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Fixed_device_files_with_udev From this linuxwacom-devel thread: http://sourceforge.net/mailarchive/forum.php?thread_name=20110721012226.GA11292%40barra.bne.redhat.com&forum_name=linuxwacom-devel See last post.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.