linux串口设备配置方法(固定ID)
硬件开发时有时候需要配置USB串口,一般配置方式有以下两种:
一、对于没有重复ID的情况
1.1、查看设备ID:
输入指令:
lsusb
例如图片中的最上面0951:1666就是对应Kingston Technology DataTraveler 100 G3/G4/SE9 G2设备的ID号,这是我自己的U盘
对于这种情况,如果我们需要锁定USB端口的话,可以通过以下指令:
1.2、新建规则文件
sudo gedit /etc/udev/rules.d/xxx.rules
这里相当于在/etc/udev/rules.d路径下新建了一个名为xxx.rules的文件,xxx.rules名称可以根据自己的需要修改
然后在该文件中输入:
KERNEL=="ttyUSB*" ,ATTRS{idVendor}=="0951" ,ATTRS{idProduct}=="1666" ,MODE:="0777" ,SYMLINK+="xxx"
注意这里的ATTRS{idVendor}与ATTRS{idProduct}中的"0951"与"1666"需要根据实际ID修改,不可照抄,最后的SYMLINK中的xxx名称根据自己的需要设置
1.3、使文件生效
在终端输入:
sudo udevadm trigger
使其生效,同时插拔设备重新连接。最后使用:
ls -l /dev/***
查看是否成功连接。其中***即为第二步中SYMLINK中所填内容
二、对于有重复ID的情况
对于某些情况下,同一台设备连接了两个相同设备的时候,它们的ID很可能会出现重复:
例如这里连接了两个RealSense™ Depth Camera 435的时候,可以看到它们的ID是一样的,这时候如果用第一种方式去固定ID就不合适了。此时我们可以通过以下方式去固定ID:
2.1、插拔设备确定设备USB端口:
首先将需要固定ID的设备断开连接,通过:
ls /dev | grep USB
查看一次端口号
然后将设备连接上,运行同样的命令再查看一次。得到结果如下:
例如这里我需要固定的设备连接的端口是USB6
2.2、确定设备KERNELS
然后我们通过下列命令确定其KERNELS:
udevadm info -a -n /dev/ttyUSB6 | grep KERNELS
这里会有很多个结果,使用的是3-7.3:1.0这个.
2.3、修改规则文件
同样的新建一个规则文件:
sudo gedit /etc/udev/rules.d/xxx.rules
在其中输入:
ACTION=="add" ,KERNELS=="3-7.3:1.0" ,SUBSYSTEMS=="usb" ,MODE:="0777" ,SYMLINK+="xxx"
2.4、使文件生效
然后通过下述命令使其生效:
service udev reload
service udev restart
然后重新运行:
ls -l /dev/***
查看设备状态,如果配置成功则应该会有如下显示:
另外如果规则文件生效成功的话在/dev路径下会有个对应文件,如果查看设备状态找不到设备的话看看该路径下文件是否存在,不存在说明规则文件没有配置成功。(有时候配置完不会立即生效,可以重启一下)
linux串口设备配置方法(固定ID)相关推荐
- linux内核串口调试,linux 串口调试方法
linux 串口调试方法 作者:syhdjf 发布于:2015-4-8 16:41 最近项目上用到linux下的串口,与下级模块的通信出了些问题,所以写了个小程序想要测试下串口,物理连接是PC端串口调 ...
- linux 添加最大串口数量方法
很多 linux 安装好后只有可以看到 4 个或 8 个串口,比如:OS 默认串口数量Red hat 9.0 4Ubuntu 9.10/10.4 4SUSE 11 8如 SUSE11 可以看到,8 个 ...
- 解决方法:Linux串口接收字节0x11,0x0d,0x13丢失
一.问题 串口发送: read 44 byte: 5a a5 07 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...
- Serial Programming HOWTO——Linux 串口编程HOWTO
转自:http://bbs.loveunix.net/viewthread.php?tid=35896 1. Introduction 简介 This is the Linux Serial Prog ...
- linux 串口驱动(二)初始化 【转】
转自:http://blog.chinaunix.net/uid-27717694-id-3493611.html 8250串口的初始化: (1)定义uart_driver.uart_ops.uart ...
- pc安装linux内核,PC/104平台嵌入式Linux系统核心定制方法
摘 要:基于PC/104平台的嵌入式Linux技术在海洋自动观测系统中具有广泛的应用前景,Linux核心定制方法的研究是嵌入式Linux系统研制的关键工作.本文结合PC/104平台嵌入式Linux系统 ...
- GPS NMEA 0183 4.10协议/GPS Linux串口驱动
NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式.现在已经成为GPS导航设备统一的RTCM(R ...
- Linux内核调试方法总结
[转]Linux内核调试方法总结 目录[-] 一 调试前的准备 二 内核中的bug 三 内核调试配置选项 1 内核配置 2 调试原子操作 四 引发bug并打印信息 1 BUG()和BUG ...
- Linux串口权限与udev理解
Linux串口权限与udev理解 本文不是很深入的探讨权限和udev问题,只是分析在日常使用中有关的一些概念.理解和解决方式. 串口的问题 在现场开发的同事反映UOS工控机没有配置串口,每次都需要su ...
最新文章
- 使用Win API创建顶级菜单(不使用资源文件)
- 写jsx_一种让小程序支持JSX语法的新思路
- AbstractQueuedSynchronizer理解之一(ReentrantLock)
- java代码如何降低重复率_影响网站跳出率的主要因素及如何降低网站跳出率?...
- HashSet 的contains方法
- 【图像处理】——Python实现几何变换(自定义+opencv库)
- Objective-C 语法
- 学习Ruby的10条理由
- python issuperset_Superset的各种疑难解答
- 从C语言到C++的进阶之C到C++的转变(篇一)
- 如何通过XMind 实践OKR 工作法
- 学习PHP的必备开发工具
- 如何用程序实现“rescan windows device manager
- 何园–中国晚清第一园
- SAAS 技术栈回顾
- 计算机课英语谐音,各科老师“谐音梗”大集合,英语课现“脏话”,数学化身段子手...
- Go Signal信号处理
- 几个不错的extjs的blog
- 评《中国赛映射出巨大市场潜力 姚明希望CBA赶超NBA》
- 解决STC8G1K08程序不能运行的问题和端口配置