如何允许软件访问任何 USB 设备?

Vio*_*ffe 7 permissions usb udev

我有一个基于 libusb 的程序,无法在新安装的 Ubuntu 上打开 USB 设备,因为它缺乏权限。

这个解决方案可能适合我,但它需要手动指定每个设备 - 而且我有很多设备。所以我尝试了这个(在文件中/etc/udev/rules.d/41-cvs-permissions.rules):

SUBSYSTEM=="usb", MODE:="0666"
Run Code Online (Sandbox Code Playgroud)

我省略了 VID 和 PID,希望它能简单地将规则应用于所有设备。它肯定有一些效果,但效果相当奇怪:libusb 现在只检测到 2 个,而不是检测到 5 个无法打开的设备 - 两者都是 USB 主机控制器,而不是实际设备。

如何实现我想要的?

小智 6

我处理 USB 设备的方式是授予特定组对所有这些设备的访问权限。

作为根用户:

echo 'SUBSYSTEM=="usb", MODE="0660", GROUP="plugdev"' > /etc/udev/rules.d/00-usb-permissions.rules
udevadm control --reload-rules
Run Code Online (Sandbox Code Playgroud)

本质上,它的作用是向 Plugdev 组的成员授予任何 USB 设备的读写访问权限。


Vio*_*ffe 1

以下是解锁硬件访问权限的最简单解决方案:

sudo chmod -R 777 /dev/bus/usb/