如何检测 USB 设备?

如何检测 USB 设备?

我遇到过一种情况,在 Windows 操作系统中,只有插入软件供应商提供的 USB 设备时,软件才能工作。我试图找到存储在 USB 设备中的内容。在 Windows 操作系统中,USB 设备图标未显示在 My_Computer 中。我想,我可以在 Ubuntu 中看到内容或至少检测到 USB 设备。

同样在 ubuntu 中,无法检测到驱动器。我尝试使用“sudo fdisk -l”来了解文件系统,但毫无用处。根本无法检测到驱动器。

我想知道,为什么只有插入 USB 驱动器时软件才能工作,而未插入时软件就无法工作。他们在 USB 设备中存储了任何文件吗?无论如何,我们如何在 Ubuntu 中检测到这种设备?

答案1

要在终端中检测您的 USB 设备,您可以尝试:

  • lsusb, 例子:

    $ lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 002: ID 046d:0809 Logitech, Inc. Webcam Pro 9000
    Bus 003 Device 002: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse
    
  • 或者这个强大的工具,lsinput
    首先安装它,然后尝试它,它列出了所有输入设备,包括您的 USB 设备:

    sudo apt-get install input-utils
    lsinput
    

    例子:

    $ lsinput
    /dev/input/event0
    ...
    
    /dev/input/event1
    ...
    
    /dev/input/event2
    ...
    
    /dev/input/event3
    bustype : BUS_USB
    vendor  : 0x46d
    product : 0xc016
    version : 272
    name    : "Logitech Optical USB Mouse"
    phys    : "usb-0000:00:1d.1-2/input0"
    uniq    : ""
    bits ev : EV_SYN EV_KEY EV_REL EV_MSC
    
  • udevadm,用这个命令行的话,需要在使用命令前拔掉设备,然后插上去才能看到:

    $ udevadm monitor --udev
    monitor will print the received events for:
    UDEV - the event which udev sends out after rule processing
    UDEV  [1915.787445] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-2 (usb)
    UDEV  [1915.796226] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0 (usb)
    

但这可能行不通。就我而言,我试图让我的 Leapfrog Tag 在 Ubuntu 上运行失败

答案2

如果所讨论的设备是软件保护加密狗,则它可能不是大容量存储设备。

它可能实现的替代设备是以太网控制器;软件可以通过网络适配器与设备通信,该适配器不会显示为驱动器。或者该设备可以实现串行端口,或操作系统中包含驱动程序的其他设备。

无论如何,这不是一个适合询问如何规避 Windows 软件的复制保护的论坛,即使您尝试使用 Ubuntu 来做到这一点。

答案3

当你的 PC 硬件在处理 USB 事件时遇到困难时,运行 cronjob 也能起到很好的作用。

* * * * *    lsusb -v 2>&1 1>/dev/null

这将强制对连接的 USB 设备进行全面扫描。
每分钟都会更新情况。

答案4

我遇到了类似的问题,sudo fdisk -l没有显示它,gparted 也没有显示它。

我运行了命令dmesg并显示 /dev/sdc1 我尝试安装它但却出现了有关 exFat 的错误。

原来 ubuntu 需要特殊支持才能读取 exFat。我甚至不知道 exFat,原来 USB 有时会用 exFat 格式化,这是 MS 的东西。我在 Windows 中查看了 USB,甚至 Windows 也显示它被格式化为 exFat。这是我新买的 USB,格式化为 exFat!

您可以在 ubuntu 中安装 exFat 支持,然后重新加载 nautilus(ubuntu 的文件管理器,搜索“文件”或“nautilus”将显示 ubuntu 的文件管理器)。

相关内容