如何授予 Lattice Diamond 3.11 打开 USB 设备的权限?

如何授予 Lattice Diamond 3.11 打开 USB 设备的权限?

运行 Lattice Diamond 3.11 时,使 USB 编程器工作的安装说明无效。

libusb couldn't open USB device /dev/bus/usb/003/023: Permission denied.
libusb requires write access to USB device nodes.

权限应该由 udev 规则设置。

该规则应该是这样的:

SUBSYSTEM=="usb",ATTRS{idVendor}=="1134",ATTRS{idProduct}=="8001",MODE="0666",SYMLINK+="lattice-%n"

但实际上并没有将其设置为 0666。lattice 的指令有什么问题?

答案1

为了修复此问题,我必须追踪正在触发的规则。

如何检查 udev 规则是否触发?

确实如此,但默认规则优先,因为 lattice 建议将规则放在 /etc/udev/rules.d/10-lattice.rules 中,其优先级低于 /usr/lib/udev/rules.d/50-udev-default.rules

它不能是 10,必须大于 50,因为有 50-udev-default.rules

所以我把它放入 51-lattice.rules 中,现在一切都运行顺利。调试它的关键命令如下:

udevadm test /devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.2

这告诉我这是最后适用的规则,不是我的!

MODE 0664 /usr/lib/udev/rules.d/50-udev-default.rules:38

它现在按预期工作,并且没有警告“权限被拒绝”。

相关内容