Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Mar 2017 11:57:44 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-x11@FreeBSD.org
Subject:   [Bug 196678] x11-servers/xorg-server: make config/devd recognize /dev/input/eventX from multimedia/webcamd
Message-ID:  <bug-196678-8047-FeMsNwGvJm@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-196678-8047@https.bugs.freebsd.org/bugzilla/>
References:  <bug-196678-8047@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D196678

--- Comment #69 from Matthew Rezny <rezny@freebsd.org> ---
(In reply to Vladimir Kondratyev from comment #66)

Your reply confirms the problem is as I suspected. Thank you for pointing o=
ut
those patches to evdev and wacom. I had a look at the webcam and wacom code=
 and
determined the problem is in the the patch in xf86-input-wacom.

if (priv->isParent && errno =3D=3D EINVAL) {
    WacomDevicePtr other;
    for (other =3D common->wcmDevices; other; other =3D other->next) {
        xf86Msg(X_INFO, "%s: removing automatically added device.\n",
other->pInfo->name);
        DeleteInputDeviceRequest(other->pInfo->dev);
    }
} else
/* for all other errors, hope that the hotplugging code will
* remove the device */
    if (errno !=3D EAGAIN && errno !=3D EINTR)
    LogMessageVerbSigSafe(X_ERROR, 0, "%s: Error reading wacom device : %s\=
n",
pInfo->name, strerror(errno));

I should have pasted the exact error message before as it makes it clear
webcamd is not the culprit. Since the log message was "Error reading wacom
device: Invalid argument", the value of errno must already be EINVAL (it is
translated correctly by webcamd), so to be getting the log spam the problem
must be that priv->isParent is false. I removed that so it's just "if (errn=
o =3D=3D
EINVAL)" and now the hot plugging works correctly.

[497841.487] (II) Wacom Graphire3 6x8 Pen cursor: removing automatically ad=
ded
device.
[497841.487] (II) UnloadModule: "wacom"
[497841.487] (II) Wacom Graphire3 6x8 Pen eraser: removing automatically ad=
ded
device.
[497841.488] (II) UnloadModule: "wacom"
[497841.488] (II) Wacom Graphire3 6x8 Pen stylus: removing automatically ad=
ded
device.
[497841.489] (II) config/devd: removing input device /dev/input/event0
[497841.489] (II) UnloadModule: "wacom"

Those log messages suggest that is the child devices (stylus, eraser, and
cursor) which get culled by this condition, then devd send a removal notice=
 for
/dev/input/event0 and the config code commands the device removal. Maybe th=
at
was supposed to have been "if (!priv->isParent && errno =3D=3D EINVAL)".

Jan: As you are the maintainer of the wacom DDX, do you have any input on t=
he
wacom situation? What is the correct condition to call
DeleteInputDeviceRequest?

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-196678-8047-FeMsNwGvJm>