在ubuntu上,绑定usb串口的几种方式(udev)
来源:互联网 发布:java nanotime 转换 编辑:程序博客网 时间:2024/06/13 02:27
udev 是通过内核产生设备名增加别名的方式来达到 不管设备连接的顺序而维持一个统一的设备名。内核通常会产生自定义的设备名 如sda1 sdb1等
,但是udev可以通过设备的其他信息如总线 ,生产商等不同来区分不同的硬件设备。在/etc的 目录下。
例如 :ubuntu内核中,产生sda 设备名,可以通过制定 udev规则,让udev 除了产生/dev/sda/ 设备文件外, 另外创建 一个符号链接叫 /dev/name ,这样在ros串口处理的程序中,就 可以使用 产生的新的 设备名。
通过lsusb 命令可以查看到所有外接usb的接口设备的描述列表,可以得到id product和id VENDOR的数值,来进行后续的绑定。 ls /dev 可以查看所有 外接串口设备的名字列表。
首先 ,所有制定的udev 规则最终 会在 /etc/ udev /rule.d 这个文件夹下面 。
可以一个脚本如下:
echo 'KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666", GROUP:="dialout", SYMLINK+="dashgo"' >/etc/udev/rules.d/ch34x.rules
绑定 1a86 7523 的串口设备, 会在/etc/udev/rule.d 下 产生 相应的 规则文件,ttyUSB产生新的别名即 dashgo。
但是有时候, 很多厂商由于特殊原因,在串口芯片上,写入的设备号的名字 都是一样的。
所以要用到 另外一个办法,就是通过绑定设备的硬件端口号 ,如下命令
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',在利用该值 ,如上写端口设备规则进行串口的绑定。
- 在ubuntu上,绑定usb串口的几种方式(udev)
- udev配置RAC ASM的几种方式
- udev配置RAC ASM的几种方式
- ubuntu串口的安装和使用(usb转串口)
- 在Ubuntu下配置USB转串口设备的权限
- USB启动盘制作的几种方式
- 在Ubuntu中安装R的几种方式总结
- 控件的几种绑定方式
- js事件绑定的几种方式
- Javascript事件绑定的几种方式
- Javascript事件绑定的几种方式
- Javascript事件绑定的几种方式
- Javascript事件绑定的几种方式
- Js绑定事件的几种方式
- 事件绑定的几种常见方式
- jquery的几种事件绑定方式
- 事件绑定的几种方式
- 在canvas上画多边形的几种方式
- axios的一些常见用法
- 一个项目结尾:事务
- MySQL事务
- chapter19 Future和Promise
- Angular1中数据请求$http服务的正确使用姿势
- 在ubuntu上,绑定usb串口的几种方式(udev)
- git删除远端仓库文件方法及常用指令
- 51nod 1693 水群(spfa最短路)
- 抽象类
- 关于MySQL的字段类型为timestamp的坑
- linux基本命令
- Java Web入门Demo
- hibernate缓存
- Python3程序开发指南(中文版第二版) PDF分享 百度云