Linux Setup Notes

name and address
created mar 03, 2011

USB External Hard Drive Resetting Problem

Problem

When backing up data to a 1 TB Toshiba Canvio external USB hard drive, the following error messages were seen in /var/log/messages:
Mar 2 08:42:35 amnesia kernel: usb 8-2.3: reset high speed USB device using ehci_hcd and address 82
Mar 2 08:43:34 amnesia syslog-ng[2976]: last message repeated 12 times
Mar 2 08:43:35 amnesia kernel: usb 8-2.3: reset high speed USB device using ehci_hcd and address 82
Mar 2 08:44:34 amnesia syslog-ng[2976]: last message repeated 14 times

The file copying process then started to go bad, printing hundreds of error messages on the screen saying something like: cannot create regular file: read-only file system Finally the interface froze and it was necessary to unplug the USB drive before it could be umounted. After I plugged it back in and remounted it, it appeared to recover, and was fine for small backups, but when I tried to copy the /home partition, the same problem started once again.

The problem only appears after several gigabytes have already been successfully copied from the same computer. The disk eventually becomes corrupt and cannot be read, and all the data on the disk are lost.

The following had no effect:

Solution

It was found that the problem started when the disk was plugged into the USB port on the monitor. Many monitors are connected to the PC by a long USB cable. Because these these portable disks are only supplied with a one-foot cable, connecting them to the monitor's USB port allows them to be conveniently placed on the desk instead of sitting on three Kleenex boxes stacked on the floor.

After re-formatting again with ext3 ( mkfs.ext3 /dev/sdb1), and using only the USB port on the computer motherboard, copying was okay. Just to be sure, I copied another 200 GB from various computers and found no problems.

This is a long-standing flaw in the Linux USB software, which fails to adjust the transfer speed when a long cable is used and signal degradation occurs.

Another solution that a user posted on the Ubuntu site is to set inq_timeout to a higher number, such as 6.
cat /sys/module/scsi_mod/parameters/inq_timeout
5
echo 6 > /sys/module/scsi_mod/parameters/inq_timeout

Back