USB 2.0 Issues

When using USB 2.0 devices, some problems may be present. In older versions of Ubuntu this can be worked around by unloading the appropriate kernel module:

sudo rmmod ehci_hcd

Ubuntu 10.04

Recent version of Ubuntu, and Linux in general, need only a few kernel modules to support USB mass storage devices. Everything else is handled automatically by hal and udev.

When you connect a USB device you should get a message in /var/log/kern.log like this one:

[ 5762.680031] usb 1-2: new high speed USB device using ehci_hcd and address 4
[ 5763.340703] usb 1-2: configuration #1 chosen from 1 choice

However, if that device is a USB storage device (flash drive) and is not found anywhere, you may have a missing module.

Make sure the following modules are inserted:

sudo modprobe hid
sudo modprobe usbhid
sudo modprobe usb_storage

Particularly, when usb_storage is inserted, you should get a message like this one:

[  712.617279] Initializing USB Mass Storage driver...
[  712.617352] usbcore: registered new interface driver usb-storage
[  712.618240] USB Mass Storage support registered.

Now, if you insert your flash drive again, it will be assigned a SATA interface and will be mounted:

[  727.076031] usb 1-2: new high speed USB device using ehci_hcd and address 4
[  727.736450] usb 1-2: configuration #1 chosen from 1 choice
[  727.757057] scsi4 : SCSI emulation for USB Mass Storage devices
[  732.761591] scsi 4:0:0:0: Direct-Access     HP       v100w            4096 PQ: 0 ANSI: 0 CCS
[  732.763848] sd 4:0:0:0: Attached scsi generic sg2 type 0
[  732.765576] sd 4:0:0:0: [sdb] 7831552 512-byte logical blocks: (4.00 GB/3.73 GiB)
[  732.772884] sd 4:0:0:0: [sdb] Write Protect is off
[  732.776462]  sdb: sdb1
[  732.782332] sd 4:0:0:0: [sdb] Attached SCSI removable disk

Buffer I/O Errors

If you see errors related to Buffer I/O when attaching a USB Storage device, there are two ways to work around it. First, try using varying max_sectors settings, as such:

sudo sh -c "echo 120 > /sys/block/sda/queue/max_sectors_kb"

Try values of 120, 64 and 32.

If this does not resolve the issue, then you may need an unusual_dev entry for your device. It would look something like this:

UNUSUAL_DEV(0x03eb , 0x2002, 0x0100, 0x9999,
            "Generic",
            "MusicDrive",
            US_SC_DEVICE, US_PR_DEVICE, NULL,
            US_FL_IGNORE_RESIDUE),

The vendor and device ID's can be obtained from the output of "lsusb". The entry would be placed in drivers/usb/storage/unusual_devs.h. If you cannot compile your own kernel, please file a bug report, and we'll attempt to compile a test module for you.

Bug Reports

If you are filing a bug report, please include the following as attachments along with a detailed description of your problem.

  • Initiate the problem situation, then quickly get the output of dmesg

  • Output of uname -a

  • Output of lsb_release -a

  • Output of lsusb -v

  • any other data relevant to your problem

Further Help

For help with mounting external drives, see Mount/USB.

For further help in troubleshooting, ask on the Ubuntu Forums at http://ubuntuforums.org/


CategoryUsb

DebuggingUSBStorage (last edited 2010-05-28 15:25:27 by eliudcabrera)