Udev 和 Xorg 将 Huion 平板电脑连接到适当的驱动程序

Udev 和 Xorg 将 Huion 平板电脑连接到适当的驱动程序

我正在尝试将 Huion H610 Pro (8192) 连接到我的 Arch Linux 以获取完整功能。目前它仅被 lsusb (ID 256c:006e) 识别,并且不与任何驱动程序关联。问题似乎是 libinput 无法识别该平板电脑,尽管据称受到支持,并且其他人已经成功使用它。

当按下按钮、笔在范围内或触摸工作空间时,物理设备的 LED 会亮起。sudo usbhid-dump -es -m 256c:006e使用笔在平板电脑上绘图时也会有输出,但是在平板电脑上按下按钮时转储中没有响应。输出符合预期DIGImend 故障排除网页

我尝试从 Arch Linux 官方存储库安装以下驱动程序:xf86-input-libinput、xf86-input-evdev、xf86-input-wacom 及其相应的库。

我还尝试过 Arch 非官方存储库:digimend-kernel-drivers、wizardpen。

这些都不起作用。我可能需要做的不仅仅是安装它们,例如给予一个比另一个更高的优先级,但我还没有找到任何这方面的来源。我也尝试过使用它们进行各种安装组合,尽管它们似乎并不妨碍彼此。

我曾尝试遵循这个答案在 AskUbuntu 上的步骤,并已成功设置到 hidraw 的符号链接,但是我无法让 Xorg 将此符号链接输入事件连接到 InputDevice 和相应的驱动程序。


有人知道我应该如何设置 udev 规则和 xorg conf 才能将此设备正确连接到驱动程序(最好是 libinput 或 wacom)?


详细信息/故障排除

连接后 dmesg 输出:

$ sudo dmesg
[  162.687139] usb 1-10: new full-speed USB device number 5 using xhci_hcd
[  162.828474] usb 1-10: config 1 has an invalid interface number: 1 but max is 0
[  162.828478] usb 1-10: config 1 has no interface number 0
[  162.832150] input: NUVOTON WPM USB as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10:1.1/0003:0416:A316.0006/input/input20
[  162.887749] hid-generic 0003:0416:A316.0006: input,hidraw5: USB HID v1.10 Device [NUVOTON WPM USB] on usb-0000:00:14.0-10/input1
[  166.053899] usb 1-10: USB disconnect, device number 5
[  166.377593] usb 1-10: new full-speed USB device number 6 using xhci_hcd
[  166.576102] uclogic 0003:256C:006E.0007: device parameters not found
[  166.576105] uclogic 0003:256C:006E.0007: tablet enabling failed
[  166.576170] uclogic 0003:256C:006E.0008: No inputs registered, leaving
[  166.576221] uclogic 0003:256C:006E.0008: hidraw5: USB HID v1.11 Device [HID 256c:006e] on usb-0000:00:14.0-10/input1
[  166.588904] uclogic 0003:256C:006E.0007: device parameters not found
[  166.588907] uclogic 0003:256C:006E.0007: tablet enabling failed

添加到 udev 用于创建 sysmlink 的行,如这里所述:(修改后的副本覆盖/usr/lib/share/udev/rules.d/wacom.rules)

/etc/udev/rules.d/wacom.rules

### Add support for HUION tablet here:
ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", SYMLINK+="input/tablet-huion"
# Check and repossess the device if a module other than the wacom one
# is already bound to it.
ATTRS{idVendor}=="256c", ACTION=="add", RUN+="check_driver wacom $devpath $env{ID_BUS}"

/etc/X11/xorg.conf.d/99-huion.conf

Section "InputClass"
    Identifier "Huion_on_wacom_class"
    Driver "wacom"
    #MatchIsTablet "on" # disabled because I don't think this is recognized
    #MatchProduct "HUION" # same as IsTablet
    MatchDevicePath "/dev/input/tablet-huion" # using symlink from udev
    #MatchUSBID "256c:006e" # tried this too, to no avail
EndSection

$udevadm 监视器——环境


我在 DIGImend 的 github 上提交了一个问题:此处提供更多故障排除详细信息。

答案1

部分答案:

判断从

uclogic 0003:256C:006E.0007: device parameters not found
uclogic 0003:256C:006E.0007: tablet enabling failed
uclogic 0003:256C:006E.0008: No inputs registered, leaving
uclogic 0003:256C:006E.0008: hidraw5: USB HID v1.11 Device [HID 256c:006e] on usb-0000:00:14.0-10/input1
uclogic 0003:256C:006E.0007: device parameters not found
uclogic 0003:256C:006E.0007: tablet enabling failed

驱动程序似乎hid-uclogic无法与你的平板电脑配合使用。具体来说,它不是注册内核输入设备,这就是为什么您看不到任何超过 HID 层的事件。

(提醒一下,事件链是:USB(内核)-> HID(内核)-> 输入(内核)-> xf86-input-evdev/xf86-input-libinput(X 驱动程序)-> X)。

值得尝试的事情:

  • hid-uclogic内核模块列入黑名单,并查看默认内核转换器是否至少获得一些自动转换的 HID 事件。显然需要一个特殊的驱动程序,所以它不会是完美的或者可能根本无法工作,但它可能至少部分可用。

  • 将您的内核更新到最新版本。

  • 尝试hid-uclogic使用树外更新到较新的版本内核补丁或者内核驱动程序

evtest更多调试帮助:您可以在获得内核输入层设备后使用,xev或者xinput用于 X 事件。我建议使用evdevover libinput,因为它是较旧且更稳定的方法。

相关内容