I recently obtained an external USB hard disk, and have been irritated by it ever since I got it. Or rather, I’ve been irritated by the way Ubuntu Hardy interacts with the disk. Half of the time when I connected the hard disk to my computer, I would get the following error messages:

	[ 4159.607574] usb 1-1: new full speed USB device using uhci_hcd and address 4
	[ 2079.875502] usb 1-1: device descriptor read/64, error -71
	[ 2080.099379] usb 1-1: device descriptor read/64, error -71
	[ 2080.319263] usb 1-1: new full speed USB device using uhci_hcd and address 5
	[ 2080.443858] usb 1-1: device descriptor read/64, error -71
	[ 4161.322029] usb 1-1: device descriptor read/64, error -71
	[ 4161.537896] usb 1-1: new full speed USB device using uhci_hcd and address 6
	[ 4161.945615] usb 1-1: device not accepting address 6, error -71
	[ 4162.057577] usb 1-1: new full speed USB device using uhci_hcd and address 7
	[ 4162.465330] usb 1-1: device not accepting address 7, error -71

Other than this error message, the device was totally unrecognised. The USB port worked fine, and there were no problems with the hard disk, which I could use without any problems on other computers. Ubuntu’s behaviour was very unpredictable: I could detect no pattern why it sometimes recognised the disk, and why at other times it would ignore it.

An internet search indicated this is not an uncommon problem, and usbcore, which is compiled as a module in Hardy’s kernel, seems to be the culprit. Plenty of suggestions were offered online (including recompiling the kernel) but most of them did not help me at all.

Finally, I found something on an old mailing list that solved the problem. All I needed to do was add the following line to /etc/modprobe.d/options:

	options usbcore use_both_schemes=y

(If you are curious as to why this solved the problem, please read this clear explanation.)

After a reboot, my external USB drive is now recognised without any difficulties every time I plug it in.