How to detect an USB device?

I got a scenario, where a software works only when you insert the USB device provided by the software vendor in windows operating system. Im trying to find the content stored in the USB device. In windows operating system, the USB device icon is not shown in My_Computer. I thought, I can see the content or atleast detect the USB device in Ubuntu.

Also in ubuntu, the drive is not detected. I tried "sudo fdisk -l" to know the file system, but its not useful. The drive is not detected at all.

I wanted to know, how the software works only when the USB drive is inserted and it wont when it is not inserted. Do they have any files stored in the USB device? In any case, how can we detect such kind of device in Ubuntu?


Solution 1:

To detect your USB device, in a terminal, you can try:

  • lsusb , example:

    $ 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
    
  • or this powerful tool, lsinput ,
    1st install it, and then try it, it lists all input devices including your USB device :

    sudo apt-get install input-utils
    lsinput
    

    example:

    $ 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 , with this command line, you need to unplug the device before using the command and then plug it to see it:

    $ 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)
    

But it might not work. In my case I m trying to make my Leapfrog Tag run on Ubuntu without success.

Solution 2:

If the device in question is a software protection dongle, it may not be a mass storage device.

A likely alternate device for it to implement would be an ethernet controller ; the software can communicate with the device via the network adapter, which won't appear as a drive. Or the device could implement a serial port, or another device for which the drivers are included with the operating system.

In any case, this is not an appropriate forum to ask about circumventing the copy protection on Windows software, even if you are trying to do it using Ubuntu.

Solution 3:

What also works nice when your PC hardware has difficulties with usb events is running a cronjob.

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

This forces a complete scan of the connected USB devices.
Each minute the situation is updated.