确定设备插入了哪个USB端口

非发

我正在开发自定义的Bash脚本,用于USB闪存的大量复制和质量测试(使用f3)。

我想知道是否有可能确定Pendrive插入了哪个USB端口。

我有带有编号端口的USB集线器。如果可以识别一些静态地址,并且知道是否插入了某些静态地址,那是什么(本质上:哪个/ dev / sd *文件对应于该USB端口),我可以为用户提供很多便利知道发生了什么,并允许他们在此过程中尽早删除故障驱动器,而不必等到整个批次都处理完毕后再尝试从故障驱动器中挑选出故障驱动器(这就是我现在的做法)。

我尝试四处搜寻,但没有发现与我想要达成的目标相融合的东西,因此我决定直接在这种情况下寻求帮助。

现在,Rigth通过/ dev / sd *节点名称标识驱动器,而用户不知道那是什么。如果我可以将它们映射到集线器中的USB端口,则可以基于USB端口显示信息,并且用户可以知道端口5插入了错误的驱动器,并且他们可以在不干扰其余过程的情况下将其移除。 。

然后,我什至可以停止批量执行此操作,并使所有端口同时循环工作,用户可以一直插入和拔出驱动器,并通过HUB端口号跟踪什么是什么,这可以极大地丰富工作流程。

因此,基本问题是:如何识别这些端口中的USB端口和USB闪存?

直接

您可以udevadm用来获取某些设备设备路径这是通过检查中的符号链接来完成的/sys/,因此您也可以手动执行此操作(但使用起来更容易udevadm)。

例如,插入我系统上的外部USB集线器的USB记忆棒会产生

$ udevadm info -q path -n /dev/sdh
/devices/pci0000:00/0000:00:1d.0/usb3/3-1/3-1.1/3-1.1.3/3-1.1.3.2/3-1.1.3.2:1.0/host7/target7:0:0/7:0:0:0/block/sdh

通过与USB树进行比较可以看出,

$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 1: Dev 26, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 3: Dev 29, If 0, Class=Hub, Driver=hub/4p, 480M
                |__ Port 2: Dev 31, If 0, Class=Mass Storage, Driver=usb-storage, 480M
                |__ Port 4: Dev 30, If 0, Class=Mass Storage, Driver=usb-storage, 480M
...

3-1.1.3.2路径的一部分说,在总线3上,它经过端口1(在南桥上),再经过端口1(在主板上),端口3(仍在主板上),然后经过外部USB集线器的端口2。集线器的端口4用于SD卡读取器。

因此,根据USB集线器的连接方式,您需要执行类似的操作,并提取您感兴趣的最后一个端口。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何确定我的USB C端口是哪个USB设备?

来自分类Dev

如何确定已将设备插入USB 3端口?

来自分类Dev

如何远程确定USB3.0设备是否已插入USB3.0端口?

来自分类Dev

如何找出设备插入哪个COM端口?

来自分类Dev

Linux Debian - 识别插入了特定端口的 USB?

来自分类Dev

如何确定哪个物理USB端口属于USB 3.0总线?

来自分类Dev

从浏览器检测USB设备是否插入了Javascript

来自分类Dev

Android Maps显示空白(黑屏),并通过USB插入了设备

来自分类Dev

从浏览器检测USB设备是否插入了Javascript

来自分类Dev

无论插入USB端口如何,如何让udev识别USB设备?

来自分类Dev

如果我将两个串行设备插入到USB适配器中,并且都插入了一个USB集线器,我的计算机会看到两个不同的COM端口吗?

来自分类Dev

如何知道Android设备何时插入USB端口?

来自分类Dev

如何知道Android设备何时插入USB端口?

来自分类Dev

将USB 2.0设备插入USB 3.0端口有什么好处?

来自分类Dev

将USB 2.0设备插入USB 3.0端口后,充电速度会更快吗?

来自分类Dev

如何找出哪个USB端口是USB 3.0?

来自分类Dev

关闭设备电源并插入USB时,正在运行哪个代码?

来自分类Dev

为什么Windows 3.0在插入3.0与2.0设备时会为同一USB端口分配不同的端口号?

来自分类Dev

将设备插入另一个设备时,Windows 10 usb 3.1端口停止工作

来自分类Dev

是否可以将两个 USB-C 设备插入一个 USB-C 端口?

来自分类Dev

有没有办法确定通过Linux将驱动器插入到哪个物理端口?

来自分类Dev

我如何唯一地识别USB`集线器6-0:1.0:端口2`上的哪个设备?

来自分类Dev

确定哪个模块被HID设备绑定?

来自分类Dev

插入USB设备会使USB集线器短路

来自分类Dev

GNU Sed版本历史记录(changelog)-如何确定哪个版本引入了哪个功能?

来自分类Dev

如何禁用Android设备的USB端口

来自分类Dev

设备不支持后置USB端口

来自分类Dev

插入了16.40LT启动Win USB

来自分类Dev

如何确定已删除的USB设备的LocationID?

Related 相关文章

  1. 1

    如何确定我的USB C端口是哪个USB设备?

  2. 2

    如何确定已将设备插入USB 3端口?

  3. 3

    如何远程确定USB3.0设备是否已插入USB3.0端口?

  4. 4

    如何找出设备插入哪个COM端口?

  5. 5

    Linux Debian - 识别插入了特定端口的 USB?

  6. 6

    如何确定哪个物理USB端口属于USB 3.0总线?

  7. 7

    从浏览器检测USB设备是否插入了Javascript

  8. 8

    Android Maps显示空白(黑屏),并通过USB插入了设备

  9. 9

    从浏览器检测USB设备是否插入了Javascript

  10. 10

    无论插入USB端口如何,如何让udev识别USB设备?

  11. 11

    如果我将两个串行设备插入到USB适配器中,并且都插入了一个USB集线器,我的计算机会看到两个不同的COM端口吗?

  12. 12

    如何知道Android设备何时插入USB端口?

  13. 13

    如何知道Android设备何时插入USB端口?

  14. 14

    将USB 2.0设备插入USB 3.0端口有什么好处?

  15. 15

    将USB 2.0设备插入USB 3.0端口后,充电速度会更快吗?

  16. 16

    如何找出哪个USB端口是USB 3.0?

  17. 17

    关闭设备电源并插入USB时,正在运行哪个代码?

  18. 18

    为什么Windows 3.0在插入3.0与2.0设备时会为同一USB端口分配不同的端口号?

  19. 19

    将设备插入另一个设备时,Windows 10 usb 3.1端口停止工作

  20. 20

    是否可以将两个 USB-C 设备插入一个 USB-C 端口?

  21. 21

    有没有办法确定通过Linux将驱动器插入到哪个物理端口?

  22. 22

    我如何唯一地识别USB`集线器6-0:1.0:端口2`上的哪个设备?

  23. 23

    确定哪个模块被HID设备绑定?

  24. 24

    插入USB设备会使USB集线器短路

  25. 25

    GNU Sed版本历史记录(changelog)-如何确定哪个版本引入了哪个功能?

  26. 26

    如何禁用Android设备的USB端口

  27. 27

    设备不支持后置USB端口

  28. 28

    插入了16.40LT启动Win USB

  29. 29

    如何确定已删除的USB设备的LocationID?

热门标签

归档