我正在尝试编写一个与 Orange Pi 的 GPIO 引脚匹配的 udev 规则(GPIO 使用 gpio-sunxi 内核模块)。我的最终目标是让特定组成员的用户访问 GPIO。这是有问题的设备:
$ udevadm info -a /sys/class/gpio_sw/PA7
...
looking at device '/devices/platform/gpio_sw.11/gpio_sw/PA7':
KERNEL=="PA7"
SUBSYSTEM=="gpio_sw"
DRIVER==""
ATTR{cfg}=="0"
ATTR{drv}=="0"
ATTR{data}=="0"
ATTR{pull}=="0"
looking at parent device '/devices/platform/gpio_sw.11':
KERNELS=="gpio_sw.11"
SUBSYSTEMS=="platform"
DRIVERS=="gpio_sw"
looking at parent device '/devices/platform':
KERNELS=="platform"
SUBSYSTEMS==""
DRIVERS==""
即使没有添加任何规则,我也会收到标题中提到的错误:
$ udevadm test /sys/class/gpio_sw/PA7
...
rules contain 196608 bytes tokens (16384 * 12 bytes), 25689 bytes strings
14493 strings (120055 bytes), 12021 de-duplicated (96839 bytes), 2473 trie nodes used
no db file to read /run/udev/data/+gpio_sw:PA7: No such file or directory
no db file to read /run/udev/data/+platform:gpio_sw.11: No such file or directory
Unload module index
...
ACTION=add
DEVPATH=/devices/platform/gpio_sw.11/gpio_sw/PA7
SUBSYSTEM=gpio_sw
USEC_INITIALIZED=271329566
与此相比udevadm test /sys/block/mmcblk0
,我没有收到这些错误,而是收到了有关之前应用的操作的更多信息Unload module index
。最后,我看到了预期的结果,例如DEVLINKS=...
。PA7
无论我是否添加自己的规则,我都没有看到类似的内容。
/run/udev/data/+gpio_sw:PA7
和中应包含哪些信息/run/udev/data/+platform:gpio_sw.11
?为什么不见了?- 我可以解决需要它的问题吗?