在ubuntu上绑定USB接口的两种方式

转载:本文原文链接:https://blog.csdn.net/u011408270/article/details/81133386

方式一、给固定的USB设备一个别名:

1.将串口设备插入USB口,通过lsusb查看端口信息。例如:
这里写图片描述
ID 1a86:7523 表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备)
1a86 usb_device_descriptor.idVendor
7523 usb_device_descriptor.idProduct
2.在/etc/udev/rules.d/下创建任意名称的规则配置文件,如:usb.rules。

# set the udev rule , make the device_port be fixed by rplidar
#
KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar"

一定要是ttyUSB*

 3.重启PC查看串口设备生成的符号链接。

4、用下面的命令就可以查看对应的映射结果了。

    yhzhao@yhzhao:~$ ls -l /dev |grep ttyUSB
    lrwxrwxrwx  1 root   root             7 Apr 14 13:18 rplidar -> ttyUSB0
    crwxrwxrwx  1 root   uucp      188,   0 Apr 14 13:18 ttyUSB0

方式二、给固定的USB端口一个别名:

但是有时候, 很多厂商由于特殊原因,在串口芯片上,写入的设备号的名字 都是一样的。


所以要用到 另外一个办法,就是通过绑定设备的硬件端口号 ,如下命令

echo  'KERNELS=="3-1.1",  MODE:="0666", GROUP:="dialout",  SYMLINK+="usb_0"' >/etc/udev/rules.d/usb.rules  

会将硬件上属于 3-1.1 的设备号映射到USB_0上 , 可以通过以下命令 查看 板子上的硬件端口的内核设备名 。

udevadm info --attribute-walk --name=/dev/ttyACM0 ;  

该条命令会将 ttyACM0所对应的硬件端口的kernel设备名 显现出来, 得到KERNEL== '1-5.5.4', 而不是之前的ttyUSB0,因为这个在linux上插拔的时候,会根据先后顺序来产生usb/acm0 ,usb/acm1 ,

所以我们 在利用该值 , 如上 在udev 添加端口设备规则进行串口的绑定,只不过绑定的是 具体的usb硬件对应的 KERNELS值。

第一步:
终端输入:sudo vi /etc/udev/rules.d/10-local.rules

 添加下面的内容
ACTION=="add", KERNELS=="1-2:1.0",SUBSYSTEMS=="usb",ATTRS{interface}=="USB Serial Converter",MODE:="0777",SYMLINK+="gps_serial0"
ACTION=="add", KERNELS=="1-3:1.0",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="my4g_serial0"
ACTION=="add", KERNELS=="1-3:1.1",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="my4g_serial1"
ACTION=="add", KERNELS=="1-3:1.2",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="my4g_serial2"
ACTION=="add", KERNELS=="1-3:1.3",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="my4g_serial3"
ACTION=="add", KERNELS=="1-3:1.4",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="my4g_serial4"

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值