Linux串口ttyUSB修改别名/重映射串口名

Linux串口ttyUSB修改别名

方法一:
  1. 插入串口设备,查看/dev目录下系统自动分配的设备节点

    [root@linux ~]# ls -l /dev/ttyUSB*
    crw-rw---- 1 root dialout 188, 0 Aug 30 15:13 /dev/ttyUSB0
    

    可以看出,当前设备的节点为ttyUSB0

  2. 输入以下命令查看当前设备节点(ttyUSB0)所在的USB端口号

    udevadm info -a -n /dev/ttyUSB0 | grep KERNELS
    

    结果如下:

    KERNELS=="ttyUSB0"
    KERNELS=="1-1.1:1.0"
    KERNELS=="1-1.1"
    KERNELS=="1-1"
    KERNELS=="usb1"
    KERNELS=="0000:01:00.0"
    KERNELS=="0000:00:00.0"
    KERNELS=="pci0000:00"
    KERNELS=="fd500000.pcie"
    KERNELS=="scb"
    KERNELS=="platform"
    

    其中,第三行的值为当前设备节点ttyUSB0所在的端口号:1-1.1

  3. 输入以下指令新增udev规则文件,自定义端口别名

    sudo touch /etc/udev/rules.d/usb-serial.rules
    sudo gedit /etc/udev/rules.d/usb-serial.rules
    

    写入内容如下:

    SUBSYSTEM=="tty", KERNELS=="1-1.1", SYMLINK+="ttyUSB_A", MODE="0666"
    

    上面KERNELS的值为端口号1-1.1SYMLINK的值为我们自定义的设备节点别名ttyUSB_A,保存并退出

  4. 重新加载udev规则

    sudo udevadm control --reload-rules && sudo service udev restart && sudo udevadm trigger
    
  5. 加载完毕后,再次查看/dev下的设备节点

    [root@linux ~]# ls -l /dev/ttyUSB*
    crw-rw-rw- 1 root dialout 188, 0 Aug 30 15:38 /dev/ttyUSB0
    lrwxrwxrwx 1 root root         7 Aug 30 15:38 /dev/ttyUSB_A -> ttyUSB0
    

    可以看出,上面出现了我们自定义的设备节点ttyUSB_AttyUSB_A实际上是ttyUSB0设备节点的端口映射,之后我们就可以通过使用ttyUSB_A节点来对串口设备进行打开、关闭等操作了。

方法二:
  1. 查看自己的串口号,输入以下命令:
$ lsusb

​ 得到类似以下的信息

ros@noetic:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 021: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 003 Device 004: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 018: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 003 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 005: ID 0e0f:0008 VMware, Inc. Virtual Bluetooth Adapter
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub2

这里我以两个340串口为例

Bus 003 Device 021: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
  1. 打开终端,输入下面指令进入rules.d下
$ cd /etc/udev/rules.d
  1. 创建新的规则文件(.rules后缀)文件
$ sudo gedit usb-serial.rules
  1. 在文本中添加如下内容
    根据第一步中串口ID为1a86:7523,idVendor对应1a86, idProduct对应7523
KERNEL=="ttyUSB0", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="ttyUSBA"
  1. 刷新串口,或者插拔USB接口

    sudo service udev reload
    sudo  service udev restart
    
  2. 重新查看串口
    可以看到自己创建的名称映射到串口上

fly@ubuntu:~/Desktop$ ls -l /dev/ | grep ttyUSB
lrwxrwxrwx  1 root root           7 313 14:08 ttyUSBA -> ttyUSB0
crwxrwxrwx  1 root dialout 188,   0 313 14:08 ttyUSB0
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Super Mark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值