[Linuxwacom-devel] udev and serial wacom devices
Peter Hutterer
peter.hutterer at who-t.net
Mon Jan 4 15:20:19 PST 2010
On Mon, Jan 04, 2010 at 06:01:09PM -0500, Thomas Jaeger wrote:
> Hi,
>
> I've been trying to get my wacom tablet PC working with the new udev
> backend. The digitizer is connected via a serial port and shows up as
> /dev/ttyS0. I tried the following udev rules (this is based on an older
> version of the udev patches that debian and ubuntu ship, I haven't fully
> comprehended yet how the driver is specified on git master)
>
> ACTION=="add|change", SUBSYSTEM=="pnp", ATTR{id}=="WACf*",
> ENV{NAME}="Serial Wacom Tablet"
>
> ACTION=="add|change", SUBSYSTEMS=="pnp", ATTRS{id}=="WACf*",
> ENV{x11_driver}="wacom"
>
> This almost works, except that the current udev code only considers
> devices whose subsystem in "input", but the subsystem of /dev/ttyS0 is
> "tty". The attached patch drops this requirement. Is this the correct
> way to re-enable support for serial input devices?
>
> Thanks,
> Tom
>
>
> >From e72ebdc6887441ccfae738001995ef686d3496f8 Mon Sep 17 00:00:00 2001
> From: Thomas Jaeger <ThJaeger at gmail.com>
> Date: Mon, 4 Jan 2010 15:00:49 -0500
> Subject: [PATCH] udev: Don't filter subsystem "input"
>
> This allows serial wacom devices to work, whose subsystem is "tty".
> ---
> config/udev.c | 6 ------
> 1 files changed, 0 insertions(+), 6 deletions(-)
>
> diff --git a/config/udev.c b/config/udev.c
> index 3ef0d7f..d73bef5 100644
> --- a/config/udev.c
> +++ b/config/udev.c
> @@ -204,7 +204,6 @@ config_udev_init(void)
> struct udev *udev;
> struct udev_enumerate *enumerate;
> struct udev_list_entry *devices, *device;
> - int rc;
>
> udev = udev_new();
> if (!udev)
> @@ -212,10 +211,6 @@ config_udev_init(void)
> udev_monitor = udev_monitor_new_from_netlink(udev, "udev");
> if (!udev_monitor)
> return 0;
> - rc = udev_monitor_filter_add_match_subsystem_devtype(udev_monitor,
> - "input", NULL);
> - if (rc < 0)
> - return 0;
>
> if (udev_monitor_enable_receiving(udev_monitor)) {
> ErrorF("config/udev: failed to bind the udev monitor\n");
> @@ -225,7 +220,6 @@ config_udev_init(void)
> enumerate = udev_enumerate_new(udev);
> if (!enumerate)
> return 0;
> - udev_enumerate_add_match_subsystem(enumerate, "input");
> udev_enumerate_scan_devices(enumerate);
> devices = udev_enumerate_get_list_entry(enumerate);
> udev_list_entry_foreach(device, devices) {
> --
> 1.6.3.3
looks correct but I wonder if it would be better to add tty to the list of
subsystems instead of parsing all of them?
Cheers,
Peter
More information about the xorg-devel
mailing list