问题:
每次打开串口后都需要sudo chmod 777 /dev/ttyUSB0 才可以开启串口
只需要将用户模式改为root模式即可
一:修改配置文件
在 /etc/udev/rules.d 目录下,自己再添加一个 70-usb-serial.rules文件,内容如下:
sudo gedit 20-usb-serial.rules
添加内容:
KERNEL=="ttyUSB*", OWNER="root", GROUP="root", MODE="0777"
保存
二、重启udev
/etc/init.d/udev restart
三、重启电脑,或者拔掉由串口过来的USB线,重新连接
查看权限:ls /dev/ttyUSB0 -l
四。USB dev规则
lsusb 查看当前usb 状态
Bus 002 Device 004: ID 1c4f:0026 SiGma Micro Keyboard
Bus 002 Device 003: ID 1a2c:0042 China Resource Semico Co., Ltd
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Bus 001 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
发现Bus 001 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter 为该串口识别的设备
现在开始写简单的udev规则:
sudo gedit /etc/udev/rules.d/usbtest.rules
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="usbtest"
保存重新拔插即可
测试:
skyee@skyee:~/skyCleanRobot$ ls -l /dev/ |grep ttyUSB
crwxrwxrwx 1 root dialout 188, 0 12月 1 10:36 ttyUSB0
crwxrwxrwx 1 root dialout 188, 1 12月 1 10:37 ttyUSB1
lrwxrwxrwx 1 root root 7 12月 1 10:36 usbtest -> ttyUSB1
在串口程序中注意加 "/dev/usbtest"即可
修改完成