USB ports not working - how do I check for drivers and diagnose problem?

My USB ports used to work, but have stopped working. I would re-install ubuntu but do not want to do that until I can back up my data which I cannot until my USB ports are fixed. How do I check to see if ubuntu is seeing the USB drivers and if it is, how do I diagnose the problem?


  1. Check for dmesg logs

    dmesg | grep -i USB OR less /var/log/dmesg

    The above logs might hint at USB Mass storage device found:

    [    1.871577] Initializing USB Mass Storage driver...
    [    1.871749] scsi6 : usb-storage 3-2:1.0
    [    1.871807] usbcore: registered new interface driver usb-storage
    [    1.871808] USB Mass Storage support registered.
    
  2. Check if the USB HDD is found

    sudo fdisk -l
    
    Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x5738799d9
    Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x573879d9
    

    PARTITION TABLE OF FIRST DRIVE

    Disk /dev/sdb: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xef4535bb
    
  3. The disk might be detected but UDEV is not able to mount it as there might be issues with rules. Run the following command as you insert / remove USB drive and see if you can see similar output.

    sudo udevadm monitor
    
    UDEV  [5301.797498] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0 (scsi)
    UDEV  [5301.798939] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/scsi_disk/7:0:0:0 (scsi_disk)
    UDEV  [5301.799263] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/scsi_device/7:0:0:0 (scsi_device)
    KERNEL[5301.799286] add      /devices/virtual/bdi/8:16 (bdi)
    UDEV  [5301.799490] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/bsg/7:0:0:0 (bsg)
    UDEV  [5301.799696] add      /devices/virtual/bdi/8:16 (bdi)
    UDEV  [5301.799745] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/scsi_generic/sg2 (scsi_generic)
    KERNEL[5301.862793] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb (block)
    KERNEL[5301.862808] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1 (block)
    KERNEL[5301.862825] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb2 (block)
    KERNEL[5301.862833] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb3 (block)
    UDEV  [5302.204799] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb (block)
    UDEV  [5302.664236] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb3 (block)
    UDEV  [5302.664315] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb1 (block)
    UDEV  [5302.762447] add      /devices/pci0000:00/0000:00:1c.3/0000:03:00.0/usb3/3-2/3-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb/sdb2 (block)
    

You shouldn't need special drivers for USB ports in ubuntu - that has been part of the basic installation for years. However, you can check if your ubuntu is recognising the USB ports:

  1. open a terminal
  2. type lsusb (without the quotes)
  3. see if at least one item is listed.

The response should look something like this:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

If lsusb doesn't list anything, then it's possible that you are missing some basic packages.