Linux 绑定USB设备端口
Linux 绑定USB设备端口
- 1 根据设备ID绑定
- 2 根据电脑USB硬件端口绑定,只要插入该USB端口即为设定设备名
1 根据设备ID绑定
方法特点:按照ID绑定的话不需要固定USB接口,它是根据设备自身的ID进行绑定,但是如果有多个设备的串口使用同一款串口芯片的话,会出现紊乱
查看需要绑定的设备的idVendor
和idpProduct
,例如我要绑定一个rplidar
的激光雷达
$ lsusb
新建一个规则文件:
$ sudo gedit /etc/udev/rules.d/com_rplidar.rules
自定义打开文件写入自定义规则。这里最好新建一个文件,不要覆盖以前的文件了。如果是相同设备还需要额外的辨别参数也可以添加额外的参数。我们只取前面的数值10c4
,ea60
,,后面的描述不要。
KERNEL=="ttyUSB*" , ATTRS{idVendor}=="10c4",ATTRS{idProduct}=="ea60",MODE:="0777" ,SYMLINK+="ttyRplidar"
然后使其作用:
$ sudo udevadm trigger
查看是否成功
$ ls -l /dev/ttyRplidar
lrwxrwxrwx 1 root root 7 Nov 12 22:22 /dev/ttyRplidar -> ttyUSB0
或者
ls /dev/tty*
如图,可以看到新增了一个设备,正是我们在规则文件中设置的别名。
如果不行的话先检测规则文件的格式有没有错误,接着将USB拔了再重插。
还有其他额外的设备需要则加一行,方法一样。
2 根据电脑USB硬件端口绑定,只要插入该USB端口即为设定设备名
方法特点:按照USB硬件ID绑定的话必须固定接口对应的设备,因为它只根据电脑自身的USB硬件地址确定,但是它可以解决设备使用同一款串口芯片导致ID相同的问题
有时候我们两个串口设备使用了痛苦的USB芯片,例如激光雷达和机械臂使用了同款的USB芯片,在终端中输入
$ lsusb
会发现两者的USB端口的VID和PID是相同的(10c4:ea60),所以开启了机械臂后,激光雷达启动时会指向到机械臂的端口。
将USB设备的接入的端口进行名称绑定,拔出或关闭USB设备后,在端口中输入
$ ls /dev
再插入或打开USB设备,输入
$ ls /dev
找到USB设备的名称(确定当前各个设备的串口名字,如机械臂是ttyUSB1,激光雷达是ttyUSB0),然后输入
$ udevadm info --attribute-walk --name=/dev/ttyUSB1
可以看到
...
looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.4/1-2.4.4/1-2.4.4:1.0/ttyUSB1/tty/ttyUSB1':KERNEL=="ttyUSB1"SUBSYSTEM=="tty"DRIVER==""looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/ 1-2/1-2.4/1-2.4.4/1-2.4.4:1.0/ttyUSB1':KERNELS=="ttyUSB1"SUBSYSTEMS=="usb-serial"DRIVERS=="cp210x"ATTRS{port_number}=="0"looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/ 1-2/1-2.4/1-2.4.4/1-2.4.4:1.0':KERNELS=="1-2.4.4:1.0"SUBSYSTEMS=="usb"DRIVERS=="cp210x"ATTRS{authorized}=="1"ATTRS{bAlternateSetting}==" 0"ATTRS{bInterfaceClass}=="ff"ATTRS{bInterfaceNumber}=="00"ATTRS{bInterfaceProtocol}=="00"ATTRS{bInterfaceSubClass}=="00"ATTRS{bNumEndpoints}=="02"ATTRS{interface}=="CP2102 USB to UART Bridge Controller"ATTRS{supports_autosuspend}=="1"...
可以得知该设备现在使用的端口号为“1-2.4.4:1.0”,接下来开始编写绑定规则
$ sudo gedit /etc/udev/rules.d/ttyUSBLink.rules
在文件中添加
ACTION=="add",KERNELS=="1-2.4.4:1.0",SUBSYSTEMS=="usb",MODE:="0777", SYMLINK+="rplidar"
保存文件并重启PC,在终端中输入
$ ls -l /dev |grep ttyUSB
查看是否成功修改
注意:因为是绑定固定的端口,所以usb的接口不能随意更换位置,考虑以后在HUB上标注各个位置插的设备。
Linux 绑定USB设备端口相关推荐
- Ubuntu USB设备端口号绑定
Ubuntu USB设备端口号绑定 1. 需求和来源 2. 查看端口信息 3. 规则配置 4. 单端口情况 5. 多端口情况 6. 相同ID情况 1. 需求和来源 ROS机器人开发过程中,需要通过US ...
- Ubuntu系统 USB设备端口绑定
前言 在Ubuntu中,有时使用多个USB设备时,出现USB端口号混乱: 比如:A设备本来对应 /dev/ttyUSB0,B设备对应 /dev/ttyUSB1: 发现重启系统后,A设备本来对应 /de ...
- ubuntu绑定usb设备以及摄像头端口地址(编号)
在使用串口设备和usb摄像头时,经常会出现设备号变动的情况,特别是在多个同种设备时,设备与设备路径不是唯一对应,每次拔插的结果可能都不一样.所有需要绑定usb设备固定路径,以满足需求. 1, udev ...
- linux下usb设备节点名不固定,解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点...
解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点 2018-09-19 http://blog.sina.com.cn/s/blog_8b58097f0102wx ...
- usb设备检测linux,Linux下USB设备检测全教程(转)
Linux下USB设备检测全教程(转)[@more@] USB设备检测也是通过/proc目录下的USB文件系统进行的.为了使一个USB设备能够正常工作,必须要现在系统中插入USB桥接器模块.在检测开始 ...
- linux配置usb主从_一种Linux下USB设备主从切换的实现
龙源期刊网 http://www.qikan.com.cn 一种 Linux 下 USB 设备主从切换的实现 作者:侯景昆 来源:<电子技术与软件工程> 2013 年第 22 期 摘 要 ...
- Linux 系统USB设备检测
Linux 系统USB设备检测 Linux下查看USB设备命令: 参考链接: https://wenku.baidu.com/view/a33c0d616aeae009581b6bd97f192279 ...
- 嵌入式linux查看usb设备驱动程序,嵌入式Linux下USB驱动程序的设计
嵌入式Linux下USB驱动程序的设计 usb概念: USB(Universal Serial Bus)即通用串行总线,是一种全新的双向同步传输的支持热插拔的数据传输总线,其目的是为了提供一种兼容不 ...
- linux查看usb设备文件,linux – 确定USB设备文件路径
So which device file is used for USB? How can i indentify it? 您在/ sys /后面看到的主要是有关设备的配置/信息. / dev / b ...
最新文章
- 何为Web App,何为Hybird App
- Modular_exponentiation模幂运算
- 信息系统项目管理知识--软件工程
- 32 六角oled驱动_Alienware下半年开售55英寸OLED显示器,4K120Hz、95%DCI-P3
- Lambda架构概述
- C#easyui combotree 设置节点折叠
- ue4插件导入导出_Blender到UE4的无缝衔接
- c语言怎么产生随机字母,菜鸟求助,写一个随机输出26个英文字母的程序
- Hyperledger Fabric介绍
- Nuget没办法使用了。
- 每日算法系列【LeetCode 128】最长连续序列
- MATLAB 2015B中文安装激活破解方法图文教程
- Notepad++实现verilog语法检查
- SQL 表操作小技巧(1)
- 机器学习可解释性之shap模块的使用——基础用法(一)
- python如何提交作业_python分析作业提交情况
- 鸿蒙系统生态建设怎样了,鸿蒙系统正式发布-华为OS生态建设开始布局
- 源码奉送:宠物小精灵图鉴
- AE基础教程第一阶段——18首选项设置
- 支付宝手机网站支付实战踩坑
热门文章
- PHP编程基础与实例教程pdf
- java程序设计 计算器_java 编程一(计算器)
- [转]python各模块的学习
- Altera timing analyzer理解
- 011 索引的优点,特大型的表考虑分区技术
- Accumulation Degree题解
- HTML淘宝购物车页面的实现
- C++的灵魂核心-类
- 校外活动计算机社团策划书,大学生社团文化节策划书总方案范文
- 近年多示例论文阅读(2): Multiple instance learning: A survey of problem characteristics and applications