国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

linux 下查看 USB 設(shè)備

這篇具有很好參考價(jià)值的文章主要介紹了linux 下查看 USB 設(shè)備。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

在 sysfs 文件系統(tǒng)下,查看 USB 設(shè)備,看到一些亂七八糟的設(shè)備顯示,它們都是什么呢?今天來(lái)介紹一下。

root@ATK-IMX6U:~# ls /sys/bus/usb/devices/
1-0:1.0  1-1  1-1.1  1-1:1.0  1-1.1:1.0  1-1.1:1.1  1-1.3  1-1.3:1.0  1-1.3:1.1  usb1

目錄內(nèi)容詳解

usb1

usb1 表示該 SOC 上接了 1 條 USB 總線,即 1 個(gè) USB Controller。
PS:如果有多個(gè) USB Controller,將會(huì)是 usb1、usb2、usb3。。。

1-0:1.0

而 1-0:1.0 表示什么呢?

  • 1:表示 1 號(hào)總線,或者說(shuō) 1 號(hào) Root Hub
  • 0:表示端口號(hào)
  • 1:表示配置號(hào)
  • 0:表示接口號(hào)

命名規(guī)則:Root Hub-port:configuration.interface

1-1.1:1.0

  • 1:表示 1 號(hào)總線,或者說(shuō) 1 號(hào) Root Hub
  • 1:表示 Hub 連在 Root Hub 上的端口號(hào)
  • 1:表示設(shè)備連在 Hub 上的端口號(hào)
  • 1:表示配置號(hào)
  • 0:表示接口號(hào)

結(jié)構(gòu)圖

linux查看usb設(shè)備,嵌入式,# 硬件,Linux,linux,服務(wù)器,運(yùn)維

root@ATK-IMX6U:~# ls /sys/bus/usb/devices/
1-0:1.0??// root-hub:1,port:0,config:1,interface:0

1-1?????// root-hub:1,hub:1
1-1:1.0??// root-hub:1,hub:1,port:1,config:1,interface:0

1-1.1????// root-hub:1,hub:1,port:1
1-1.1:1.0 // root-hub:1,hub:1,port:1,config:1,interface:0
1-1.1:1.1 // root-hub:1,hub:1,port:1,config:1,interface:1

1-1.3????// root-hub:1,hub:1,port:3
1-1.3:1.0 // root-hub:1,hub:1,port:3,config:1,interface:0
1-1.3:1.1 // root-hub:1,hub:1,port:3,config:1,interface:1

usb1

設(shè)備信息

在每個(gè) USB 設(shè)備目錄下都有一些參數(shù)來(lái)展示該設(shè)備的屬性信息

root@ATK-IMX6U:~# ls /sys/bus/usb/devices/1-1/
1-1.1       avoid_reset_quirk    bDeviceProtocol  bMaxPower           configuration  devpath    idVendor     power      remove     urbnum
1-1:1.0     bcdDevice            bDeviceSubClass  bNumConfigurations  descriptors    driver     ltm_capable  product    speed      version
1-1.3       bConfigurationValue  bmAttributes     bNumInterfaces      dev            ep_00      maxchild     quirks     subsystem
authorized  bDeviceClass         bMaxPacketSize0  busnum              devnum         idProduct  port         removable  uevent

bDeviceClass

表示設(shè)備種類

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/bDeviceClass
09

09 表示該設(shè)備是一個(gè) Hub,詳細(xì)類型參考如下

/*
 * Device and/or Interface Class codes
 * as found in bDeviceClass or bInterfaceClass
 * and defined by www.usb.org documents
 */
#define USB_CLASS_PER_INTERFACE		0	/* for DeviceClass */
#define USB_CLASS_AUDIO			1
#define USB_CLASS_COMM			2
#define USB_CLASS_HID			3
#define USB_CLASS_PHYSICAL		5
#define USB_CLASS_STILL_IMAGE		6
#define USB_CLASS_PRINTER		7
#define USB_CLASS_MASS_STORAGE		8
#define USB_CLASS_HUB			9
#define USB_CLASS_CDC_DATA		0x0a
#define USB_CLASS_CSCID			0x0b	/* chip+ smart card */
#define USB_CLASS_CONTENT_SEC		0x0d	/* content security */
#define USB_CLASS_VIDEO			0x0e
#define USB_CLASS_WIRELESS_CONTROLLER	0xe0
#define USB_CLASS_MISC			0xef
#define USB_CLASS_APP_SPEC		0xfe
#define USB_CLASS_VENDOR_SPEC		0xff

一個(gè) USB Device 的類型為 0

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/bDeviceClass // 鼠標(biāo)
00

version

USB 協(xié)議版本

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/version // USB2.0 的 Hub
 2.00
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/version // USB2.0 的設(shè)備(鼠標(biāo))
 2.00

busnum & devnum

總線號(hào) & 設(shè)備號(hào)

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/busnum
1
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/busnum
1

Hub 及其下掛的鼠標(biāo)設(shè)備,總線號(hào)都是 1

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/devnum
2
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/devnum
3

Hub 的設(shè)備號(hào)為 2,鼠標(biāo)的設(shè)備號(hào)為 3

dev

主設(shè)備號(hào):次設(shè)備號(hào)

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/dev
189:1
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/dev
189:2

和 /dev/bus/usb/ 下設(shè)備一致

root@ATK-IMX6U:~# ls /dev/bus/usb/001/ -lh
total 0
crw-rw-r-- 1 root root 189, 0 Jun  5 10:08 001
crw-rw-r-- 1 root root 189, 1 Jun  5 10:08 002
crw-rw-r-- 1 root root 189, 2 Jun  5 10:08 003
crw-rw-r-- 1 root root 189, 3 Jun  5 10:08 004

bMaxPower

設(shè)備最大電流


root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/bMaxPower
100mA
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/bMaxPower
300mA

idVendor & idProduct

廠商 ID & 產(chǎn)品 ID

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/idVendor
05e3
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/idProduct
0608

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/idVendor
046d
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/idProduct
c084

這和 lsusb 顯示一致

root@ATK-IMX6U:~# lsusb
Bus 001 Device 004: ID 258a:1006 // 鍵盤(pán)
Bus 001 Device 003: ID 046d:c084 // 鼠標(biāo)
Bus 001 Device 002: ID 05e3:0608 // Hub
Bus 001 Device 001: ID 1d6b:0002

product

產(chǎn)品名稱

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/product // USB2.0 Hub
USB2.0 Hub
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/product // 羅技 G102 鼠標(biāo)
G102 Prodigy Gaming Mouse

manufacturer

廠商

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/manufacturer
Logitech

bcdDevice

固件版本號(hào)
同一個(gè)產(chǎn)品,升級(jí)之后(比如固件修改,新增功能),可以通過(guò)修改固件版本號(hào)來(lái)進(jìn)行區(qū)別。

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/bcdDevice
8536
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/bcdDevice
0703

speed

速率

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/speed
480
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/speed
12

uevent

sysfs usb 設(shè)備的 uevent 是一個(gè)事件通知機(jī)制,表示當(dāng)該 usb 設(shè)備在系統(tǒng)上被插入或拔出時(shí),內(nèi)核會(huì)發(fā)送一個(gè)事件通知給用戶空間的系統(tǒng)進(jìn)程,告知設(shè)備的狀態(tài)變化。這個(gè)事件通知會(huì)包含一些關(guān)于設(shè)備的屬性信息,例如設(shè)的廠商ID、產(chǎn)品ID、序列號(hào)等等,方便用戶空間的應(yīng)用程序進(jìn)行設(shè)備管理和配置。

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/uevent
MAJOR=189	// 主設(shè)備號(hào)
MINOR=1		// 次設(shè)備號(hào)
DEVNAME=bus/usb/001/002 // bus usb 總線號(hào)001 設(shè)備號(hào)002,和 lsusb 顯示一致
DEVTYPE=usb_device		// USB 設(shè)備
DRIVER=usb				// 設(shè)備使用的驅(qū)動(dòng)程序
PRODUCT=5e3/608/8536	// 廠商ID/產(chǎn)品ID/固件版本號(hào)
TYPE=9/0/1 
BUSNUM=001				// 總線號(hào)
DEVNUM=002				// 設(shè)備號(hào)

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/uevent
MAJOR=189
MINOR=2
DEVNAME=bus/usb/001/003
DEVTYPE=usb_device
DRIVER=usb
PRODUCT=46d/c084/703
TYPE=0/0/0
BUSNUM=001
DEVNUM=003

bmAttributes

大小為一字節(jié),不同的位,表示不同的特性。

  • bit7 是保留的,必須為1。
  • bit6 表示供電方式:1 設(shè)備自供電;0 設(shè)備是總線供電的。
  • bit5 表示是否支持遠(yuǎn)程喚醒:1 支持遠(yuǎn)程喚醒;0 不支持遠(yuǎn)程喚醒。
  • bit0~4 是保留的,默認(rèn)為0。
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/bmAttributes // 1110 0000,設(shè)備自供電,支持遠(yuǎn)程喚醒
e0
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/bmAttributes // 1010 0000,設(shè)備是由總線供電的,支持遠(yuǎn)程喚醒
a0

drivers_autoprobe

drivers_autoprobe 是一個(gè) sysfs 屬性,用于在新插入 USB 設(shè)備時(shí)觸發(fā)自動(dòng)探測(cè) USB 驅(qū)動(dòng)程序。當(dāng)將此屬性設(shè)置為 1 時(shí),內(nèi)核將嘗試自動(dòng)加載適當(dāng)?shù)尿?qū)動(dòng)程序,以便為任何新連接的 USB 設(shè)備進(jìn)行配置。這可以節(jié)省手動(dòng) USB 設(shè)備所需的時(shí)間和精力。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-762806.html

root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1/subsystem/drivers_autoprobe
1
root@ATK-IMX6U:~# cat /sys/bus/usb/devices/1-1.1/subsystem/drivers_autoprobe
1

到了這里,關(guān)于linux 下查看 USB 設(shè)備的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • linux 下查看 USB 設(shè)備

    linux 下查看 USB 設(shè)備

    在 sysfs 文件系統(tǒng)下,查看 USB 設(shè)備,看到一些亂七八糟的設(shè)備顯示,它們都是什么呢?今天來(lái)介紹一下。 usb1 usb1 表示該 SOC 上接了 1 條 USB 總線,即 1 個(gè) USB Controller。 PS:如果有多個(gè) USB Controller,將會(huì)是 usb1、usb2、usb3。。。 1-0:1.0 而 1-0:1.0 表示什么呢? 1:表示 1 號(hào)總線,或

    2024年02月04日
    瀏覽(14)
  • Linux上查看外接USB設(shè)備類型

    Linux上查看外接USB設(shè)備類型

    最近遇到一個(gè)問(wèn)題,需要在shell腳本中識(shí)別當(dāng)前顯示器的USB觸屏線是否插入,并讀取顯示器名稱,以確定是否是想要的。 解決思路: lsusb命令可以列出所有的外接USB設(shè)備: 其中 “Atmel Corp. Atmel maXTouch Digitizer” 即為插入的顯示器,如果換成其他的顯示器,這里則顯示不同的名

    2024年02月12日
    瀏覽(23)
  • Linux學(xué)習(xí)(嵌入式硬件知識(shí))

    ? ? ? ?GPU(Graphics Processing Unit,圖形處理單元)和 CPU(Central Processing Unit,中央處理單元)是計(jì)算機(jī)中兩種不同的處理器。它們?cè)诠δ堋⒃O(shè)計(jì)和用途上有所不同。 CPU(中央處理單元): CPU 是計(jì)算機(jī)中的主要處理器,負(fù)責(zé)執(zhí)行計(jì)算機(jī)程序中的指令。 CPU 主要用于執(zhí)行通用計(jì)算

    2024年04月27日
    瀏覽(22)
  • 實(shí)時(shí)嵌入式Linux設(shè)備基準(zhǔn)測(cè)試快速入門(mén)3實(shí)時(shí)嵌入式Linux

    實(shí)時(shí)嵌入式Linux設(shè)備基準(zhǔn)測(cè)試快速入門(mén)3實(shí)時(shí)嵌入式Linux

    計(jì)算機(jī)系統(tǒng)與環(huán)境之間的交互通常是實(shí)時(shí)發(fā)生的,因此,對(duì)于作為計(jì)算機(jī)系統(tǒng)一部分的嵌入式設(shè)備來(lái)說(shuō),有關(guān)實(shí)時(shí)操作系統(tǒng)的討論也是一個(gè)重要話題。 本章將討論實(shí)時(shí)系統(tǒng)的特點(diǎn),介紹在Linux嵌入式設(shè)備上實(shí)現(xiàn)實(shí)時(shí)性的主要方法。具體來(lái)說(shuō),本章將重點(diǎn)分析PREEMPT_RT內(nèi)核補(bǔ)丁,

    2024年02月15日
    瀏覽(25)
  • 嵌入式linux設(shè)備網(wǎng)口帶寬-測(cè)試方法

    嵌入式linux設(shè)備網(wǎng)口帶寬-測(cè)試方法

    iperf是一個(gè)基于Client/Server的網(wǎng)絡(luò)性能測(cè)試工具,可以測(cè)試TCP、UDP和SCTP帶寬質(zhì)量,能夠提供網(wǎng)絡(luò)吞吐率信息,以及震動(dòng)、丟包率,最大段和最大傳輸單元大小等統(tǒng)計(jì)信息,幫助我們測(cè)試網(wǎng)絡(luò)性能,定位網(wǎng)絡(luò)瓶頸。其中抖動(dòng)和丟包率適應(yīng)于UDP測(cè)試,二帶寬測(cè)試適應(yīng)于TCP和UDP。 一

    2024年02月10日
    瀏覽(23)
  • 嵌入式Linux(8):字符設(shè)備驅(qū)動(dòng)--注冊(cè)字符類設(shè)備

    雜項(xiàng)設(shè)備 注冊(cè)雜項(xiàng)設(shè)備: 注銷雜項(xiàng)設(shè)備: 字符類設(shè)備 文件:include/linux/cdev.h 步驟流程: 定義一個(gè)cdev結(jié)構(gòu)體。 使用cdev_init函數(shù)初始化cdev結(jié)構(gòu)體成員變量。 參數(shù): 第一個(gè):要初始化的cdev結(jié)構(gòu)體 第二個(gè):文件操作集: cdev-ops = fops;//實(shí)際就是把文件操作集寫(xiě)ops 使用cdev_add函數(shù)

    2023年04月22日
    瀏覽(24)
  • 嵌入式linux驅(qū)動(dòng)開(kāi)發(fā)篇之設(shè)備樹(shù)

    嵌入式linux驅(qū)動(dòng)開(kāi)發(fā)篇之設(shè)備樹(shù)

    設(shè)備樹(shù)(Device Tree)是一種用于描述嵌入式系統(tǒng)硬件組件及其連接關(guān)系的數(shù)據(jù)結(jié)構(gòu)。它被廣泛用于嵌入式 Linux 系統(tǒng),尤其是針對(duì)使用多種不同架構(gòu)和平臺(tái)的嵌入式系統(tǒng)。它是一種與硬件描述相關(guān)的中間表示形式,將硬件信息抽象成一種可移植的格式,使得操作系統(tǒng)和引導(dǎo)加載

    2024年02月22日
    瀏覽(25)
  • 正點(diǎn)原子嵌入式linux驅(qū)動(dòng)開(kāi)發(fā)——Linux 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)

    正點(diǎn)原子嵌入式linux驅(qū)動(dòng)開(kāi)發(fā)——Linux 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)

    網(wǎng)絡(luò)驅(qū)動(dòng)是linux里面驅(qū)動(dòng)三巨頭之一 ,linux下的網(wǎng)絡(luò)功能非常強(qiáng)大,嵌入式linux中也常常用到網(wǎng)絡(luò)功能。前面已經(jīng)講過(guò)了字符設(shè)備驅(qū)動(dòng)和塊設(shè)備驅(qū)動(dòng),本章就來(lái)學(xué)習(xí)一下linux里面的 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng) 。 本次筆記中討論的都是有線網(wǎng)絡(luò)! 提起網(wǎng)絡(luò),一般想到的硬件就是“網(wǎng)卡”。在

    2024年01月17日
    瀏覽(25)
  • 實(shí)時(shí)嵌入式Linux設(shè)備基準(zhǔn)測(cè)試快速入門(mén)1介紹

    實(shí)時(shí)嵌入式Linux設(shè)備基準(zhǔn)測(cè)試快速入門(mén)1介紹

    工業(yè)4.0已經(jīng)到來(lái),生產(chǎn)線需要新技術(shù)來(lái)應(yīng)對(duì)客戶日益增長(zhǎng)的新功能需求,使用配備嵌入式 Linux 的單板計(jì)算機(jī)來(lái)處理所需的許多功能是大勢(shì)所趨。這樣大多數(shù)工業(yè)控制系統(tǒng)都需要實(shí)時(shí)性能,開(kāi)發(fā)人員不得不面對(duì)這樣一個(gè)事實(shí):Linux原本并不適用于實(shí)時(shí)環(huán)境。不過(guò)多年來(lái)很多人都

    2024年02月15日
    瀏覽(16)
  • 實(shí)時(shí)嵌入式Linux設(shè)備基準(zhǔn)測(cè)試快速入門(mén)4測(cè)試和測(cè)量

    實(shí)時(shí)嵌入式Linux設(shè)備基準(zhǔn)測(cè)試快速入門(mén)4測(cè)試和測(cè)量

    本章將介紹主要測(cè)試方案及其具體配置和結(jié)果。在介紹實(shí)際測(cè)量結(jié)果之前,將盡可能總結(jié)被測(cè)設(shè)備的特性。最后,將對(duì)結(jié)果進(jìn)行分析,并概述由于高速緩存一致性問(wèn)題造成的延遲方面的主要瓶頸,提出減少延遲的解決方案,并解釋用于發(fā)現(xiàn)和緩解問(wèn)題的方法。 用于智能設(shè)備的

    2024年02月15日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包