Linux下连接USB转串口线,软件能识别到端口,比如/dev/ttyUSB0,但是在代码中进行open操作的时候会提示权限不足。研究了一阵子,解决权限问题的方法整理如下:
1. 临时解决
缺点是串口线重新插拔或电脑重启之后就失效,需要重新赋权。
2. 永久解决
从USB设备列表中找到USB串口线对应的记录,找到vendor id(前)和product id(后)。
找到 /etc/udev/rules.d/50-myusb.rules 这个文件(如果没有就新建一个然后拷贝到该目录),
添加如下内容:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="users", MODE="0666"
填入“idVendor”和“idProduct”即可。
然后重新加载:
实测重新插拔或重启电脑,USB串口都可以直接正常打开。
参考:
How to change USB device permission permanently on Linux