日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

利用這個 USB ID 倉庫識別更多 Linux 上的設備

 

這是一個包含了所有已知 USB 設備 ID 的開源項目。

• 來源:linux.cn • 作者:Alan Formy-duval • 譯者:geekpi •

(本文字數:6115,閱讀時長大約:7 分鐘)

 

市場上有成千上萬的 USB 設備:鍵盤、掃描儀、打印機、鼠標和其他無數的設備,都能在 Linux 上工作。它們的供應商詳情都存儲在 USB ID 倉庫中。

lsusb

Linux lsusb 命令列出了連接到系統的 USB 設備的信息,但有時信息不完整。例如,我最近注意到我的一個 USB 設備的品牌沒有被識別。設備是可以使用的,但是在列出我所連接的 USB 設備的詳情中沒有提供任何識別信息。以下是我的 lsusb 命令的輸出:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 046d:082c Logitech, Inc.
Bus 001 Device 003: ID 0951:16d2 Kingston Technology
Bus 001 Device 002: ID 18f8:1486  
Bus 001 Device 005: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

正如你在最后一欄中看到的,有一個設備沒有制造商描述。要確定這個設備是什么,我必須對我的 USB 設備樹進行更深入的檢查。幸運的是,lsusb 命令有更多的選項。其中一個選項是 -D device,來獲取每個設備的詳細信息,正如手冊頁面所解釋的那樣:

“不會掃描 /dev/bus/usb 目錄,而只顯示給定設備文件所屬設備的信息。設備文件應該是類似 /dev/bus/usb/001/001 這樣的文件。這個選項會像 v 選項一樣顯示詳細信息,但你必須是 root 用戶才行。"

我認為如何將設備路徑傳遞給 lsusb 命令并不容易,但在仔細閱讀手冊頁和初始輸出后,我能夠確定如何構造它。USB 設備駐留在 UDEV 文件系統中。它們的設備路徑始于 USB 設備目錄 /dev/bus/usb/。路徑的其余部分由設備的總線 ID 和設備 ID 組成。我的無描述設備是 Bus 001 Device 002,被翻譯成了 001/002,完成的路徑為 /dev/bus/usb/001/002。現在我可以把這個路徑傳給 lsusb。我還會用管道傳給 more,因為這里往往有很多信息:

$ lsusb -D /dev/bus/usb/001/002 |more
Device: ID 18f8:1486  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x18f8
  idProduct          0x1486
  bcdDevice            1.00
  iManufacturer           0
  iProduct                1
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0
        HID Device Descriptor:

不幸的是,這里并沒有提供我希望找到的細節。初始輸出中出現的兩個字段 idVendor 和 idProduct 都是空的。這有些幫助,因為往下看一下,就會發現 Mouse 這個詞。所以,這個設備就是我的鼠標。

USB ID 倉庫

這讓我不禁想知道如何才能填充這些字段,不僅是為了自己,也是為了其他 Linux 用戶。原來已經有了一個開源項目: USB ID 倉庫 。它是一個公共倉庫,它包含了 USB 設備中使用的所有已知 ID。它也被用于各種程序中,包括 USB Utilities ,用于顯示人類可讀的設備名稱。

利用這個 USB ID 倉庫識別更多 Linux 上的設備

 

The USB ID Repository Site

你可以從網站上或通過下載數據庫來瀏覽特定設備的倉庫。也歡迎用戶提交新的數據。我要為我的鼠標提交數據,因為它沒有在里面。

更新你的 USB ID

USB ID 數據庫存儲在一個名為 usb.ids 的文件中。這個文件的位置可能會因 Linux 發行版的不同而不同。

在 Ubuntu 18.04 中,這個文件位于 /var/lib/usbutils。要更新數據庫,使用命令 update-usbids,你需要用 root 權限或 sudo 來運行。

$ sudo update-usbids

如果有新文件,它就會被下載。當前的文件將被備份,并被替換為新文件:

$ ls -la
total 1148
drwxr-xr-x  2 root root   4096 Jan 15 00:34 .
drwxr-xr-x 85 root root   4096 Nov  7 08:05 ..
-rw-r--r--  1 root root 614379 Jan  9 15:34 usb.ids
-rw-r--r--  1 root root 551472 Jan 15 00:34 usb.ids.old

最新版本的 Fedora Linux 將數據庫文件保存在 /usr/share/hwdata 中。而且,沒有更新腳本。而是,數據庫由一個名為 hwdata 的軟件包維護。

# dnf info hwdata

Installed Packages
Name         : hwdata
Version      : 0.332
Release      : 1.fc31
Architecture : noarch
Size         : 7.5 M
Source       : hwdata-0.332-1.fc31.src.rpm
Repository   : @System
From repo    : updates
Summary      : Hardware identification and configuration data
URL          : https://github.com/vcrhonek/hwdata
License      : GPLv2+
Description  : hwdata contains various hardware identification and configuration data,
             : such as the pci.ids and usb.ids databases.

現在我的 USB 設備列表在這個之前未命名的設備旁邊顯示了一個名字。比較一下上面的輸出:

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 046d:082c Logitech, Inc. HD Webcam C615
Bus 001 Device 003: ID 0951:16d2 Kingston Technology
Bus 001 Device 014: ID 18f8:1486 [Maxxter]
Bus 001 Device 005: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

你可能會注意到,隨著倉庫定期更新新設備和現有設備的詳細信息,其他設備的描述也會發生變化。

提交新數據

提交新數據有兩種方式:使用網站或通過電子郵件發送特殊格式的補丁文件。在開始之前,我閱讀了提交指南。首先,我必須注冊一個賬戶,然后我需要使用項目的提交系統提供我鼠標的 ID 和名稱。添加任何 USB 設備的過程都是一樣的。

你使用過 USB ID 倉庫么?如果有,請在評論中分享你的反饋。


via: opensource.com

作者: Alan Formy-Duval 選題: lujun9972 譯者: geekpi 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出

分享到:
標簽:倉庫 USB ID
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定