浏览器大全:是一个提供流行浏览器教程、在线学习分享的学习平台!

处理ubuntu16.04中ttyUSB设备节点不固定问题

这两天在ubuntu中开发跟串口有关程序时,发现来回拔插串口线或者插多个串口线时总是出现串口号ttyUSB*不固定的问题,给应用程序带来不少麻烦,遂找答案解决。
 
linux中设备号一般按先后顺序一次向后增大,udev规则文件可以解决这个问题。udev是一种Linux2.6内核采用的/dev 目录的管理系统(可以把它认为是windows中的设备管理器),它通过从sysfs获得的信息,可以提供对特定设备的固定的设备名。sysfs是linux 2.6内核的一种新型文件系统,它提供了当前设备的基本信息。
udev的重要功能就是为为设备提供固定的设备名,根据Wirting udev rules的详细介绍,udev有如下功能:
Rename a device node from the default name to something else
Provide an alternative/persistent name for a device node by creating a symbolic link to the default device node
Name a device node based on the output of a program
Change permissions and ownership of a device node
Launch a script when a device node is created or deleted (typically when a device is attached or unplugged)
Rename network interfaces
 
简单阅读之后创建文件/etc/udev/rules.d/10-local.rule, 内容如下
KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0777", SYMLINK+="user_uart"  
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="mcu_uart"  
 
意思就是匹配sys中内核名为ttyUSB*的设备,属性匹配依据生产商编号idVendor和产品号idProduct, 设定读写权限为0777, 符号链接名为user_uart-----PL2303串口转USB, mcu_uart----CH340串口转USB。
 
idVendor和idProduct由 lsusb  -vvv 命令查看。
保存退出后udev规则就生效了,重新拔插两个串口设备,就可以看到/dev/user_uart指向/dev/ttyUSB0,  /dev/mcu_uart指向/dev/ttyUSB1. 这样以来,我只要在程序里打开/dev/user_uart或/dev/mcu_uart就可以一直准确的打开指定的串口设备了。
 
PS:如果您的两个串口用的都是PL2303或者都是CH340/CP2102,那就真的无能为力了。
常用的匹配类型:
* BUS:匹配总路类型,比如PCI USB等  
* KERNEL:- 匹配Kernel设备名,比如hda hdb. 
* DRIVER :- 匹配Kernel的驱动程序名   
* SUBSYSTEM: - 匹配子系统名。   
* ID :- 匹配总路系统的ID (e.g. PCI bus ID)。
* PLACE :- 匹配物理位置  (对USB很有用)


相关软件

2345加速浏览器官方版

2345加速浏览器官方版 | 56.2MB

2345加速浏览器官方版

新一代2345加速浏览器采用Chromium和IE双内核,主打极速与安全特性。基于Chromium深度定制,引入网页智能预加载技术,访问网页更快速..

QQ浏览器官方正式版

QQ浏览器官方正式版 | 49.67MB

QQ浏览器官方正式版

QQ浏览器秉承TT浏览器1-4系列方便易用的特点,但技术架构不同,交互和视觉表现也重新设计,采用Chromium内核+IE双内核,让浏览快速稳定...

百度浏览器最新版下载

百度浏览器最新版下载 | 13.3MB

百度浏览器最新版下载

q百度浏览器,是一款简洁轻快、智能懂你的浏览器。依靠百度强大的搜索平台,在满足用户浏览网页的基础上,它整合百度体系业务优势,带给用户更方便的浏览方式功能...

UC浏览器官方正式版

UC浏览器官方正式版 | 44.2MB

UC浏览器官方正式版

UC浏览器(UC Browser)是UC Mobile Limited在2004年8月开发的一款软件,分uc手机浏览器和uc浏览器电脑版。UC浏览器是全球使用量最大的第三方手机浏览器...

猎豹浏览器2022最新版下载

猎豹浏览器2022下载 | 45MB

猎豹浏览器2022最新版下载

猎豹安全浏览器对Chrome的Webkit内核进行了超过100项的技术优化,访问网页速度更快。其具有首创的智能切换引擎,动态选择内核匹配不同网页...

360安全浏览器官方版下载

360安全浏览器下载 | 21.4MB

360安全浏览器官方版下载

360安全浏览器拥有全国最大的恶意网址库,采用恶意网址拦截技术,可自动拦截挂马、欺诈、网银仿冒等恶意网址。独创沙箱技术,在隔离模式即使访问****也不会感染...