我有一个 GPS 装置,通过 USB 端口连接到 Raspberry Pi。由于为 Pi 提供支持的 Arch Linux 系统分配 /dev/ 文件名的“神秘”(对我来说)方式,我永远不知道该 USB 设备与系统上的其他 USB 设备(和软件)之间是否会发生争用。我希望能够永久地知道这个 GPS 将被称为什么,无论它何时连接(即启动前、启动后等)。是否可以通过配置实现这种确定性?
答案1
udev 规则是与设备相关的规则。除其他外,这些规则可以设置权限或重命名设备。
它们是通过目录中的文本文件构建的/etc/udev/rules.d
。
例如,采用以下规则:
ATTRS{idVendor}=="091e", ATTRS{idProduct}=="0003", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug"
idVendor 和 idProduct 是可以从 获得的 USB 设备序列号的属性lsusb
。希望其余的内容应该是不言自明的。缺少的一点是权限,可以设置为:
模式=“0666”
至于在启动时查看设备。当系统被 udev 进程和内核扫描时它仍然可以工作 - 我确信有人会过来纠正我的问题。
拔出插头时,您的规则集中应该有相应的行:
ACTION=="remove", RUN+="/lib/udev/gpsd.hotplug"
对不起,我的态度太仓促了,已经晚了……