diff --git a/translated/tech/20200824 Recognize more devices on Linux with this USB ID Repository.md b/published/20200824 Recognize more devices on Linux with this USB ID Repository.md similarity index 76% rename from translated/tech/20200824 Recognize more devices on Linux with this USB ID Repository.md rename to published/20200824 Recognize more devices on Linux with this USB ID Repository.md index 0857c71e62..ecd9d71005 100644 --- a/translated/tech/20200824 Recognize more devices on Linux with this USB ID Repository.md +++ b/published/20200824 Recognize more devices on Linux with this USB ID Repository.md @@ -1,24 +1,25 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: reviewer: (wxy) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-12612-1.html) [#]: subject: (Recognize more devices on Linux with this USB ID Repository) [#]: via: (https://opensource.com/article/20/8/usb-id-repository) [#]: author: (Alan Formy-Duval https://opensource.com/users/alanfdoss) 利用这个 USB ID 仓库识别更多 Linux 上的设备 ====== -一个包含了所有已知 USB 设备 ID 的开源项目。 -![Multiple USB plugs in different colors][1] -市场上有成千上万的 USB 设备:键盘、扫描仪、打印机、鼠标和其他无数的设备都能在 Linux 上工作。它们的供应商详情都存储在 USB ID 仓库中。 +> 这是一个包含了所有已知 USB 设备 ID 的开源项目。 + +![](https://img.linux.net.cn/data/attachment/album/202009/13/225426zpfbfopxhjxomuxf.jpg) + +市场上有成千上万的 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 @@ -29,12 +30,11 @@ Bus 001 Device 005: ID 051d:0002 American Power Conversion Uninterruptible Power Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ``` -正如你在最后一栏中看到的,有一个设备没有制造商描述。要确定这个设备是什么,我必须对我的 USB 设备树进行更深入的检查。幸运的是,`lsusb` 命令有更多的选项。其中一个选项是 `-D device`,来获取每个设备的详细信息,正如手册页面所解释的那样。 +正如你在最后一栏中看到的,有一个设备没有制造商描述。要确定这个设备是什么,我必须对我的 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`,因为这里往往有很多信息: +> “不会扫描 `/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 @@ -78,17 +78,15 @@ Device Descriptor:         HID Device Descriptor: ``` -不幸的是,这里并没有提供我希望找到的细节。初始输出中出现的两个字段 `idVendor` 和 `idProduct` 都是空的。这里有些帮助,因为往下扫描一下,就会发现 **Mouse** 这个词。所以,这个设备就是我的鼠标。 +不幸的是,这里并没有提供我希望找到的细节。初始输出中出现的两个字段 `idVendor` 和 `idProduct` 都是空的。这有些帮助,因为往下看一下,就会发现 `Mouse` 这个词。所以,这个设备就是我的鼠标。 -## USB ID 仓库 +### USB ID 仓库 -这让我不禁想知道如何才能填充这些字段,不仅是为了自己,也是为了其他 Linux 用户。原来已经有了一个开源项目:[USB ID Repository][2]。它是一个公共仓库,它包含了 USB 设备中使用的所有已知 ID。它也被用于各种程序中,包括 [USB Utilities][3],用于显示人类可读的设备名称。 +这让我不禁想知道如何才能填充这些字段,不仅是为了自己,也是为了其他 Linux 用户。原来已经有了一个开源项目:[USB ID 仓库][2]。它是一个公共仓库,它包含了 USB 设备中使用的所有已知 ID。它也被用于各种程序中,包括 [USB Utilities][3],用于显示人类可读的设备名称。 ![The USB ID Repository Site][4] -(Alan Formy-Duval, [CC BY-SA 4.0][5]) - -你可以从网站上或通过下载数据库来浏览特定设备的仓库。也欢迎用户提交新的数据。这是我为我的鼠标做的,它是没有的。 +你可以从网站上或通过下载数据库来浏览特定设备的仓库。也欢迎用户提交新的数据。我要为我的鼠标提交数据,因为它没有在里面。 ### 更新你的 USB ID @@ -96,14 +94,12 @@ USB ID 数据库存储在一个名为 `usb.ids` 的文件中。这个文件的 在 Ubuntu 18.04 中,这个文件位于 `/var/lib/usbutils`。要更新数据库,使用命令 `update-usbids`,你需要用 root 权限或 `sudo` 来运行。 - ``` -`$ sudo update-usbids` +$ sudo update-usbids ``` 如果有新文件,它就会被下载。当前的文件将被备份,并被替换为新文件: - ``` $ ls -la total 1148 @@ -113,8 +109,7 @@ drwxr-xr-x 85 root root   4096 Nov  7 08:05 .. -rw-r--r--  1 root root 551472 Jan 15 00:34 usb.ids.old ``` -最新版本的 Fedora Linux 将数据库文件保存在 `/usr/share/hwdata` 中。而且,没有更新脚本。相反,数据库被维护在一个名为 `hwdata` 的包中。 - +最新版本的 Fedora Linux 将数据库文件保存在 `/usr/share/hwdata` 中。而且,没有更新脚本。而是,数据库由一个名为 `hwdata` 的软件包维护。 ``` # dnf info hwdata @@ -129,7 +124,7 @@ Source       : hwdata-0.332-1.fc31.src.rpm Repository   : @System From repo    : updates Summary      : Hardware identification and configuration data -URL          : +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. @@ -137,7 +132,6 @@ Description  : hwdata contains various hardware identification and configuratio 现在我的 USB 设备列表在这个之前未命名的设备旁边显示了一个名字。比较一下上面的输出: - ``` $ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub @@ -162,8 +156,8 @@ via: https://opensource.com/article/20/8/usb-id-repository 作者:[Alan Formy-Duval][a] 选题:[lujun9972][b] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出