如何使用udev规则识别断开连接的USB设备?

Jea*_*ach 6 udev

我有两个使用Xorg的xinerama功能的LCD.每个LCD屏幕都有一个触摸屏,它们连接到各自的USB线.

查看'/ var/log/messages'文件,我看到以下内容:

kernel: input: Analog Resistive as /class/input/input0
kernel: input: USB HID v1.01 Mouse [Analog Resistive] on usb-0000:00:1d.3-1
kernel: input: Analog Resistive as /class/input/input1
kernel: input: USB HID v1.01 Mouse [Analog Resistive] on usb-0000:00:1d.3-2
Run Code Online (Sandbox Code Playgroud)

出于某种原因,在某个时间点,USB总线似乎重置(或奇怪的东西),我的两个触摸屏反转(按左侧LCD,鼠标右移,如果我按下右侧LCD,鼠标移动到剩下).

为了尝试调试问题,我尝试编写一个udev规则来记录我的设备何时重置/断开连接(或其他).但似乎udev会在连接时在设备上报告完整的详细信息(产品,制造商,idProduct,idVendor等),但在删除时只提供一些总线号码.为什么是这样?

当我得到一个ACTION =="删除",KERNEL =="输入*"规则时,我无法知道它是哪个设备!有没有人知道这方面的方法?

小智 0

我在 Linux 中也遇到了同样的问题。删除时发送的信息很少,不能用于唯一标识被删除的设备。我曾经使用过PHYDEVPATH(对于给定的机器和 USB 端口,它在插入和拔出时是唯一的),但非常不幸的是,它在更高版本的udev.