探索Linux下USB的侦测力(linuxusb检测)

随着现代计算机的普及,USB越来越成为一种重要的输入设备,而linux系统更是拥有最广泛的硬件兼容性,但在检测某个硬件是否可用时候,往往带来了一些麻烦,本文主要探究Linux 系统中,检测USB 硬件状态是否正常的方法。

创新互联公司主要从事做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务资中,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

首先,让我们查看Linux 系统中如何探测USB 的侦测力:

1. 查看 /proc 下的usb详细信息

在Linux系统中,可以通过在/proc/bus/usb下查看usb信息,我们来看一下。

以 /proc/bus/usb/001 为例:

[root@localhost ~]# ls /proc/bus/usb -l
总用量 16
dr-xr-xr-x 1 root root 0 5月 6 19:54 001

如上输出表明,系统里面有一个usb设备,所以我们可以查看其相关信息

[root@localhost ~]# cat /proc/bus/usb/001/descriptors
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptors:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 4.06
...
bNumConfigurations 1

//你可以把相关代码加入在这里

从上面可以看出,Linux系统中有一个2.0 root hub,所以我们确定USB 在Linux系统中是存在的。

2. 利用 lsusb 命令进行查看

除此之外,我们还可以利用一些命令行工具,获得更为详细的检测结果,比如lsusb 命令:

[root@localhost ~]# lsusb
Bus 002 Device 002: ID 05e3:0745 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0a5c:4502 Broadcom Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
```

从输出结果可以看出,系统里共连接了两个USB设备,一个来自BroadCom,另外一个来自Genesys Logic,一般情况下,仅检测到这两个设备,就可以确认USB设备已经正常的挂载到Linux系统上。

3. 利用 udevadm 命令

另外,如果我们想要获取更丰富的USB设备信息,我们可以利用udevadm命令来查看

[root@localhost ~]# udevadm info -a -n /dev/bus/usb/001/002

Udevadm info starts with the device specified by the devpath and then

walks up the chain of parent devices. It prints for every device

found, all possible attributes in the udev rules key format.

A rule to match, can be composed by the attributes of the device

and the attributes from one single parent device.

looking at device ‘/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2’:

KERNELS==”1-1.2″

SUBSYSTEMS==”usb”

DRIVERS==”usb”

ATTRS{speed}==”480″

ATTRS{bDeviceClass}==”09″

ATTRS{bDeviceSubClass}==”00″

ATTRS{bDeviceProtocol}==”00″

ATTRS{bNumConfigurations}==”1″

ATTRS{bConfigurationValue}==”1″

ATTRS{configuration}==””

ATTRS{bMaxPower}==”500mA”

ATTRS{authorized}==”1″

ATTRS{bmAttributes}==”80″

ATTRS{bMaxPacketSize0}==”8″

ATTRS{idVendor}==”05e3″

ATTRS{idProduct}==”0745″

ATTRS{bcdDevice}==”2458″

ATTRS{bcdUSB}==”0200″

ATTRS{manufacturer}==”GenesysLogic”

ATTRS{serial}==”000000000424″

ATTRS{speed}==”480″

ATTRS{devnum}==”12″

ATTRS{ignore_device}==”0″

ATTRS{version}==” 2.00″

ATTRS{urbnum}==”56964″

ATTRS{ltm_capable}==”no”

ATTRS{product}==”USB Storage”

ATTRS{removable}==”removable”

ATTRS{bNumInterfaces}==” 1″

ATTRS{bConfigurationValue}==”1″

ATTRS{bNumPorts}==” 2″

从上面结果可以看出,我们可以通过udevadm命令获取更为详细的USB设备相关的信息。
总的来说,Linux系统通过多种办法可以检测USB设备的状态,比如查看/proc/bus/usb信息,或者通过lsusb和udevadm命令获取更为具体的信息。虽然用起来可能有些麻烦

创新互联【028-86922220】值得信赖的成都网站建设公司。多年持续为众多企业提供成都网站建设,成都品牌网站设计,成都高端网站制作开发,SEO优化排名推广服务,全网营销让企业网站产生价值。

网站标题:探索Linux下USB的侦测力(linuxusb检测)
文章来源:http://www.shufengxianlan.com/qtweb/news21/279221.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联