如何检测USB设备?

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

同样在ubuntu中,未检测到驱动器。 我试过“sudo fdisk -l”来了解文件系统,但它没用。 根本没有检测到驱动器。

我想知道,软件如何仅在插入USB驱动器时才能工作,而在未插入USB驱动器时则不会。 他们有没有存储在USB设备中的文件? 无论如何,我们如何才能在Ubuntu中检测到这种设备?

要在终端中检测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上运行但没有成功 。

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

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

在任何情况下,即使您尝试使用Ubuntu进行操作,这也不是一个适当的论坛来询问是否绕过Windows软件的版权保护。

当您的PC硬件遇到usb事件有困难时,运行cronjob也很有用。

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

这会强制完全扫描连接的USB设备。
每一分钟情况都会更新。