【问题标题】:How to detect USB driver enable/disable如何检测 USB 驱动程序启用/禁用
【发布时间】:2019-08-29 19:11:34
【问题描述】:

我们在 FPGA 上有 USB 设备,我们可以通过设置一个位来启用和禁用它。一旦我们启用设备,将需要一些时间(不到 1 秒)来检测 USB 是否启用。因此,在启用该位并检查/dev/ 路径后立即找不到我的设备。当 USB 驱动程序成功加载并且 USB 准备好服务时,有什么方法可以获得事件?

以下是启用端口时我得到的控制台输出。

[  101.285945] usb 1-1.1: new high-speed USB device number 5 using ci_hdrc
[  101.386462] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[  101.395559] scsi host0: usb-storage 1-1.1:1.0
[  102.470375] scsi 0:0:0:0: Direct-Access SanDisk Cruzer Blade 8.02 PQ: 0 ANSI: 0 CCS
[  102.502029] sd 0:0:0:0: [sda] 7856127 512-byte logical blocks: (4.02 GB/3.75 GiB)
[  102.503125] sd 0:0:0:0: [sda] Write Protect is off
[  102.504547] sd 0:0:0:0: [sda] No Caching mode page found
[  102.504555] sd 0:0:0:0: [sda] Assuming drive cache: write through

我想监控以上事件,有什么方法可以监控USB驱动状态吗?

【问题讨论】:

    标签: c++ c linux usb


    【解决方案1】:

    您可以使用 udevdm 实用程序来监控事件,如下所示

    udevadm monitor --subsystem-match=usb
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      • 2015-11-21
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多