我有一个 wacom 竹垫,这是 wacom 项目不支持的平板电脑之一。当你第一次将它插入内核时,似乎根本无法识别它。尽管如此,我可以通过将此行添加到内核命令行参数来使其工作:
usbhid.quirks=0x056a:0x0318:0x40000000
经过进一步调查,我得出的结论是,这是为我的设备的 Linux 内核设置 NO_IGNORE 标志,正如我在以下宏声明中可以找到的那样
#define HID_QUIRK_NO_IGNORE 0x40000000
无论如何,问题是,在我的根分区更新(实际上是完全擦除/重新安装)期间,由于不相关的问题,我的 Linux 内核从 3.16 更新到 3.17,现在内核完全无法识别平板电脑。甚至不写入任何 /dev/input/ 文件。请注意,这与我在启动命令中添加 usbhid.quirks 行之前得到的行为相同。当然,我在内核参数上有这一行,它显示在 /proc/cmdline 中。删除它并没有改变什么。
我不得不说,检测平板电脑的唯一方法是 lsusb,并且它使用 usbhid 驱动程序,但不知何故,它无法到达将数据输出到 xserver 或 /dev/input 的部分...
查看软件包版本并意识到唯一相关的更改是内核后,我将其降级到 3.16.3 内核,一切都再次正常工作,所以我猜测这就是导致问题的原因。
可能发生了什么?
答案1
我已经向 Linux 内核提交了一份错误报告,并与 usb hid 驱动程序的维护者进行了交谈。
Wacom evdev 驱动程序进行了巨大的返工,最终导致我的设备无法识别。
该代码的所有者告诉我他会查看它,所以我想它很快就会得到修复(也许是下一个版本?),目前我只会在需要使用时使用旧内核我的平板电脑。