在哪里指定了默认设备名称(例如 /dev/ttyUSBx)?

Pae*_*els 5 debian udev python devices

我正在通过 udev 调查动态设备名称映射。

目标:

在多用户系统上,每个用户都可以分配和释放 USB 串行转换器或 PCIe 卡 (FPGA) 等设备。如果用户分配了设备,/dev/<user>/<device>则应使用动态名称和分配用户的权限创建节点。如果用户释放设备,则需要删除/重命名 devfs 节点并撤销权限。

现在的情况:

我正在试验/dev/ttyUSB1- 一个 USB 串行转换器。我编写了一个 Python 脚本,该脚本在创建 dev-node 时从 udev 调用。它需要 USB 设备的 VendorID、ProductID 和 SerialNo,并返回 devfs 节点名称:例如paebbels/ttyUSB。这适用于符号链接,因此原始 devfs 节点ttyUSB1仍然存在。

如何使用我的脚本更改原始 devfs 名称?

我试图在我的 udev 规则中使用 NAME 命令,但它不起作用。文档指出:NAME 只能使用一次。udev 中是否有默认规则在我的规则之前使用 NAME? /etc/udev/...不包含这样的规则。

在后面的阶段,我的脚本还将返回 devfs 节点的用户名、组和权限。

次要问题:

我应该按计划在/dev/<user>/<device>或 中创建设备文件~/fpga1/<device>吗?

t-8*_*8ch 2

1.问题:

我不确定,但看看/lib/udev/rules.d/60-persistent-serial.rules

2.问题:

如果 udev 本身分配设备名称,我会将它们全部放在/dev. 如果不在/run/$UID/devices.