ports/175860: multimedia/webcamd: expose Wacom via HAL for hotplugging
Jan Beich
jbeich at tormail.org
Tue Feb 5 12:00:01 UTC 2013
>Number: 175860
>Category: ports
>Synopsis: multimedia/webcamd: expose Wacom via HAL for hotplugging
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Feb 05 12:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: Jan Beich
>Release: FreeBSD 10.0-CURRENT amd64
>Organization:
>Environment:
$ lshal # from ubuntu
udi = '/org/freedesktop/Hal/devices/usb_device_56a_de_noserial_if1_logicaldev_input'
info.capabilities = {'input', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_56a_de_noserial_if1' (string)
info.product = 'Wacom Bamboo 16FG 4x5 Finger' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_56a_de_noserial_if1_logicaldev_input' (string)
input.device = '/dev/input/event16' (string)
input.originating_device = '/org/freedesktop/Hal/devices/usb_device_56a_de_noserial_if1' (string)
input.product = 'Wacom Bamboo 16FG 4x5 Finger' (string)
linux.device_file = '/dev/input/event16' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.1/input/input16/event16' (string)
udi = '/org/freedesktop/Hal/devices/usb_device_56a_de_noserial_if0_logicaldev_input'
info.capabilities = {'input', 'input.tablet'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/usb_device_56a_de_noserial_if0' (string)
info.product = 'Wacom Bamboo 16FG 4x5 Pen' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/usb_device_56a_de_noserial_if0_logicaldev_input' (string)
input.device = '/dev/input/event15' (string)
input.originating_device = '/org/freedesktop/Hal/devices/usb_device_56a_de_noserial_if0' (string)
input.product = 'Wacom Bamboo 16FG 4x5 Pen' (string)
linux.device_file = '/dev/input/event15' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input15/event15' (string)
>Description:
ports/166012 improved configuration by automatically attaching webcamd
to every usb interface a Wacom tablet has. This leads to two issues with
static Xserver configuration (xorg.conf).
- depending on the order of initialization /dev/input/eventN may be
assigned to different interface(s) after re-attaching the tablet
- running Xserver prevents webcamd (cuse) from reclaiming old
/dev/input/eventN filenames while not picking up new ones
when the tablet is re-attached
HAL solves both of them by providing enough information to assign the
right device type(s) for X11 driver (stylus, cursor, etc) and making
Xserver open/close device file(s) on attach/detach.
Note, the first issue cannot be worked around with devd symlinks because
cuse events are too scarce to distinguish different interfaces on
different devices, etc.
!system=DEVFS subsystem=CDEV type=CREATE cdev=input/event0
!system=DEVFS subsystem=CDEV type=CREATE cdev=input/event1
>How-To-Repeat:
1. create xorg.conf for a tablet
2. startx, xdm, etc
3. detach the tablet
4. attach the tablet
5. notice input from the tablet no longer works
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list