Linux下获取插入USB的3.0U盘工作模式是2.0还是3.0
先放一条命令:
cat /sys/kernel/debug/usb/devices | grep "`cat /sys/kernel/debug/usb/devices | grep Manufacturer | grep -vE 'Linux|Љ'`" -B4 | grep Ver| cut -b 10
(插入u盘时返回1个字符是正确的,没插时,因为grep非系统设备为空,cat信息不过滤全部显示,后面在grep Ver和cut以列表的形式返回所有设备信息)
参考资料:USB检测过程及lsusb内容详解(转)
Linux下查看USB设备命令:
cat /sys/kernel/debug/usb/devices
# cat /sys/kernel/debug/usb/devices T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0001 Rev= 3.18
S: Manufacturer=Linux 3.18.16_s5 ohci_hcd
S: Product=Generic Platform OHCI controller
S: SerialNumber=f9880000.ohci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255msT: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 3.18
S: Manufacturer=Linux 3.18.16_s5 ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=f9890000.ehci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256msT: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=148f ProdID=7601 Rev= 0.01
S: Manufacturer=Љ
S: Product=Љ
S: SerialNumber=Љ
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=160mA
I:* If#= 0 Alt= 0 #EPs= 8 Cls=ff(vend.) Sub=ff Prot=ff Driver=rt2870
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=0msT: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 1
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev= 3.18
S: Manufacturer=Linux 3.18.16_s5 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=f9870000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256msT: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 11 Spd=5000 MxCh= 0
D: Ver= 3.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
P: Vendor=0951 ProdID=1666 Rev= 1.10
S: Manufacturer=Kingston
S: Product=DataTraveler 3.0
S: SerialNumber=E0D55E6CE79AE371979A26C9
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=504mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0msT: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 3.18
S: Manufacturer=Linux 3.18.16_s5 xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=f9870000.xhci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms#
根据制造商筛选
cat /sys/kernel/debug/usb/devices | grep Manufacturer
# cat /sys/kernel/debug/usb/devices | grep Manufacturer
S: Manufacturer=Linux 3.18.16_s5 ohci_hcd
S: Manufacturer=Linux 3.18.16_s5 ehci_hcd
S: Manufacturer=Љ
S: Manufacturer=Linux 3.18.16_s5 xhci-hcd
S: Manufacturer=Kingston
S: Manufacturer=Linux 3.18.16_s5 xhci-hcd
过滤掉系统自带的usb设备
cat /sys/kernel/debug/usb/devices | grep Manufacturer | grep -vE 'Linux|Љ'
# cat /sys/kernel/debug/usb/devices | grep Manufacturer | grep -vE 'Linux|Љ'
S: Manufacturer=Kingston
如果直接读取上述U盘:Manufacturer=Kingston的信息,对设备信息上面取4行,下面取7行,提取如下
cat /sys/kernel/debug/usb/devices | grep Manufacturer=Kingston -B4 -A7
# cat /sys/kernel/debug/usb/devices | grep Manufacturer=Kingston -B4 -A7
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 11 Spd=5000 MxCh= 0
D: Ver= 3.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
P: Vendor=0951 ProdID=1666 Rev= 1.10
S: Manufacturer=Kingston
S: Product=DataTraveler 3.0
S: SerialNumber=E0D55E6CE79AE371979A26C9
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=504mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
当这个USB3.0的U盘插入到板卡USB3.0口时,显示Ver= 3.10,当它被插入到板卡USB2.0时,输出Ver= 2.10,
所以,在当前设备信息,插找Ver字符串并提取该行,然后用cut命令直接提取此行第10个位置的字符即可
cat /sys/kernel/debug/usb/dvices | grep Manufacturer=Kingston -B4 -A7 | grep Ver | cut -b 10
# cat /sys/kernel/debug/usb/devices | grep Manufacturer=Kingston -B4 -A7
T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0951 ProdID=1666 Rev= 1.10
S: Manufacturer=Kingston
S: Product=DataTraveler 3.0
S: SerialNumber=E0D55E6CE79AE371979A26C9
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=300mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
#
#
# cat /sys/kernel/debug/usb/devices | grep Manufacturer=Kingston -B4 -A7 | grep Ver
D: Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
#
# cat /sys/kernel/debug/usb/dvices | grep Manufacturer=Kingston -B4 -A7 | grep Ver | cut -b 10
2
Linux下获取插入USB的3.0U盘工作模式是2.0还是3.0相关推荐
- u盘linux需要多大内存,linux下获取硬盘、内存、U盘大小及使用大小
/* * 获取硬盘大小;内存大小;usb大小 */ #ifndef SYSINFOGET_H #define SYSINFOGET_H #include //磁盘信息 #include #includ ...
- linux cpu 使用10个进程,linux下获取占用CPU资源最多的10个进程
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...
- linux用的usb无线网卡,linux下几款usb无线网卡的使用
linux下几款usb无线网卡的使用 我最近要在龙芯福龙的盒子上使用无线网卡,盒子的接口很少,可以用的只有usb接口.市面上的usb无线网卡很多,下面只是几个简单的例子: 1:TP-LINK TL-W ...
- Linux :: 时间日历指令【1】:date 指令:格式化显示时间信息、Linux 下获取时间
前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit. 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习 ...
- linux怎么获取当前路径,linux 下获取当前工作路径的实例
获取工作路径这里介绍两种方法: 1.使用getcwd()函数. 头文件:#include 定义函数:char * getcwd(char * buf, size_t size); 函数说明:getcw ...
- linux下获取某文件的总行数
为什么80%的码农都做不了架构师?>>> 需求: linux下获取某文件的总行数 实现: 方案一: echo cat logfile.txt | wc -l 方案二: more ...
- Linux下获取毫秒级时间差
Linux下获取毫秒级时间差 使用Linux的gettimeofday函数可以达到这个目的 其中t1=t_start.tv_sec是公元1970年至今的时间(换算为秒) t2=t_start.tv ...
- Linux下MySql插入汉字报错解决(/etc/my.cnf不存在)
2019独角兽企业重金招聘Python工程师标准>>> Linux下MySql插入汉字报错解决(/etc/my.cnf不存在) 看了很多帖子,大多数是说修改my.cnf,如 http ...
- linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...
最新文章
- PyTorch 笔记(05)— Tensor 基本运算(torch.abs、torch.add、torch.clamp、torch.div、torch.mul、torch.pow等)
- 每日算法练习之李白喝酒问题
- vim中搭建与sourceinsight类似功能
- [uoj24]缩紧优化
- 0_0 SimpleFactoryMode 简单工厂模式
- 直播连麦贾扬清,谈谈他所理解的四大 AI 落地问题 | 攻“疫”技术公开课
- 蜜蜂性别调控又有新机制?
- 懒人模式Singleton模式Meyers版本号
- python2 urllib2_python2.7 urllib和urllib2
- Xshell不能链接虚拟机(可ping通)--解决方案
- ASP.NET基于donetCHARTING的自动报表
- 7个相同小球4个不同盒子_不会解公考行测的“排列组合题”?掌握这7招,轻松搞定...
- 淘宝客系统教学系列_2.应用登录接口对接
- 大学本科基于html5毕业设计题目50例
- html5建站模板怎么用,怎么用模板建网站
- html 防网页假死,html5 WebWorkers 防止浏览器假死
- /etc/hosts 详解
- d3d9.dll丢失怎么办
- 8个优秀的预训练模型,帮助您开始使用自然语言处理(NLP)
- yxc_第一章 基础算法(二)_高精度
热门文章
- c语言中 null 和NULL的区别 %p和%x的区别 在dvc++运行
- 鸿蒙多屏互动打通万物交互壁垒,手把手带你打造鸿蒙式4K投屏互动
- java 接口开发时间_这35个接口,用Java开发,一般要多少天?一天可以完成多少个...
- sftp连接失败修复
- 〖编程初学者的自我修养 - 优质简历篇②〗- 面试官所青睐的优秀简历是什么样的?
- 仿ASSISTIVETOUCH效果的浮动层小球
- 好妈妈【第二章】把学习做成轻松的事,父母如何提升孩子的学习成绩
- 衍射极限、MTF与相机分辨率(1)
- 解决Vant组件库tabs标签页选中状态与当前页面不匹配
- 跳板机,堡垒机都是什么东西?