在linux下访问usb设备,经常会碰到因没有权限而是失败的问题。解决的方法有两种,一种是临时的,一种是持久的解决方法。
1)lsusb :找出设备的(临时)描述符(重新插拔会改变),
例如输出(Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub)
chmod:赋予用户访问权限
例如 sudo chmod 777 /dev/bus/usb/002/003
2)在/etc/udev/rules.d添加自定义的设备挂载规则。
lsusb:找出设备的描述符
例如输出(Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub)
udevadm:输出设备的详细信息
udevadm info --attribute-walk -name=/dev/bus/usb/002/003
gedit:编辑规则文件,属性值来自于udevadm
sudo gedit 51-my-usb.rules
输入 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e0f", ATTRS{idProduct}=="0002", OWNER="guest", MODE="0666"
规则生效(插拔)或reboot。(貌似 service udev-post reload 没用)