我有一个相机设备,它的输入设备列在/dev/input
下面。我想将输入设备添加到组plugdev
中。
当我插上相机时:
[ 704.406837] input: See3CAM_CU51 as /devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/input/input21
[ 705.157657] hid-generic 0003:2560:C152.0007: hiddev0,hidraw4: USB HID v1.11 Device [e-con Systems See3CAM_CU51] on usb-0000:00:1
它现在在/dev/input/by-id
下是符号链接的
0 lrwxrwxrwx 1 root root 10 Aug 31 10:50 usb-e-con_Systems_See3CAM_CU51_172A0202-event-if00 -> ../event20
但是,event20具有以下权限:
0 crw-rw---- 1 root input 13, 84 Aug 31 10:50 event20
我已经成功地为隐藏设备本身编写了udev规则,但是由于某些原因,我无法为输入设备找到正确的规则。以下是我尝试过的:
KERNEL=="input", ATTR{name}=="See3CAM_CU51", MODE="0666" GROUP="plugdev"
但这似乎行不通。没有太多的例子可以改变输入设备的所有权(至少我已经发现了)。
更新:
当我将udev规则更改为
KERNEL=="input", MODE="0666" GROUP="plugdev"
也就是说,我省略了设备名称,我在/dev/ out中的所有输入设备都具有正确的权限。
因此,基本上,我是说“每个输入设备都被设置为模式0666,并且属于plugdev组”,这是可行的。但是,添加ATTR{name}==会破坏它。
以下是udevadm信息的输出:
udevadm info -a -p /devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/input/input21
looking at device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/input/input21':
KERNEL=="input21"
SUBSYSTEM=="input"
DRIVER==""
ATTR{name}=="See3CAM_CU51"
ATTR{phys}=="usb-0000:00:14.0-2/button"
ATTR{properties}=="0"
ATTR{uniq}==""
它应该在工作,我有正确的名称为设备,我犯了什么愚蠢的错误?
发布于 2021-11-20 23:31:23
udev规则支持字符串匹配,您可能需要:
ACTION=="...", KERNEL=="input[0-9]*", SUBSYSTEM=="input", ...
若要匹配任何inputN
设备的特定操作,则可以添加ATTR
筛选器以选择特定设备。
https://stackoverflow.com/questions/45987478
复制相似问题