ubuntu系统中给usb设备设置别名udev规则,解决每次启动设备的时候就得给设备ttyUSB0赋权限或着插拔的现象。

udevadm info --query=all --name=/dev/ttyUSB1

查看usb对应得设备信息

我输入以上命令后,我的终端出现以下内容

a@ubuntu:~$ udevadm info --query=all --name=/dev/ttyUSB1
P: /devices/platform/3610000.xhci/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/ttyUSB1/tty/ttyUSB1
N: ttyUSB1
L: 0
S: serial/by-path/platform-3610000.xhci-usb-0:1.4.1:1.0-port0
S: serial/by-id/usb-1a86_USB_Serial-if00-port0
E: DEVPATH=/devices/platform/3610000.xhci/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0/ttyUSB1/tty/ttyUSB1
E: DEVNAME=/dev/ttyUSB1
E: MAJOR=188
E: MINOR=1
E: SUBSYSTEM=tty
E: USEC_INITIALIZED=13754570
E: ID_VENDOR=1a86
E: ID_VENDOR_ENC=1a86
E: ID_VENDOR_ID=1a86
E: ID_MODEL=USB_Serial
E: ID_MODEL_ENC=USB\x20Serial
E: ID_MODEL_ID=7523
E: ID_REVISION=0264
E: ID_SERIAL=1a86_USB_Serial
E: ID_TYPE=generic
E: ID_BUS=usb
E: ID_USB_INTERFACES=:ff0102:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=ch341
E: ID_USB_CLASS_FROM_DATABASE=Vendor Specific Class
E: ID_VENDOR_FROM_DATABASE=QinHeng Electronics
E: ID_MODEL_FROM_DATABASE=HL-340 USB-Serial adapter
E: ID_PATH=platform-3610000.xhci-usb-0:1.4.1:1.0
E: ID_PATH_TAG=platform-3610000_xhci-usb-0_1_4_1_1_0
E: ID_MM_CANDIDATE=1
E: DEVLINKS=/dev/serial/by-path/platform-3610000.xhci-usb-0:1.4.1:1.0-port0 /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
E: TAGS=:systemd:

可以在此路径下  /etc/udev/rules.d/ 创建一个.rules 文件根据以上内容可以添加以下内容

SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="yuntai_usb", MODE="0666"

其中以上输出的 ID_VENDOR_ID=1a86   ID_MODEL_ID=7523  分别对应ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523"   yuntai_usb就是自定义的设备名MODE="0666":设置设备节点的权限,这里表示所有用户都有读写权限。根据需要调整权限。

保存之后  输入以下两条命令重新加载udev规则

sudo udevadm control --reload-rules

sudo udevadm trigger

然后输入ls -l /dev/yuntai_usb 测试是否成功

a@ubuntu:~$ ls -l /dev/yuntai_usb 
lrwxrwxrwx 1 root root 7 1月   7 11:55 /dev/yuntai_usb -> ttyUSB1
也可以终端输入  ll /dev  进行查看   会输出以下片段

crw-rw----+  1 root video    81,   1 1月   7 11:55 video1
crw-------   1 root root     10, 130 1月   7 11:55 watchdog
crw-------   1 root root    241,   0 1月   7 11:55 watchdog0
lrwxrwxrwx   1 root root           7 1月   7 11:55 yuntai_usb -> ttyUSB1
crw-rw-rw-   1 root root      1,   5 1月   7 11:55 zero
brw-rw----   1 root disk    251,   0 1月   7 11:55 zram0
brw-rw----   1 root disk    251,   1 1月   7 11:55 zram1
问题解决!

也可以在.rules文件中加入KERNEL(不过我没有加入)

KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="0003", MODE:="0777", GROUP:="dialout", SYMLINK+="fdilink_ahrs"

KERNEL=="ttyUSB*":这一部分指定了规则应适用于所有以ttyUSB开头的设备节点。*是一个通配符,表示任何后续字符都可以匹配。因此,这条规则会匹配如/dev/ttyUSB0、/dev/ttyUSB1等设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值