USB error -71 (EPROTO) with a Gamepad

I have a couple of game-pads with a USB interface, The game-pads are RockFire QF-501UV, When connecting them to the USB port I get the following message:

Feb 27 22:32:55 localhost kernel: [97408.112022] usb 5-1: new low-speed USB device number 28 using uhci_hcd
Feb 27 22:32:55 localhost kernel: [97408.232024] usb 5-1: device descriptor read/64, error -71
Feb 27 22:32:55 localhost kernel: [97408.456033] usb 5-1: device descriptor read/64, error -71
Feb 27 22:32:55 localhost kernel: [97408.672024] usb 5-1: new low-speed USB device number 29 using uhci_hcd
Feb 27 22:32:56 localhost kernel: [97408.792020] usb 5-1: device descriptor read/64, error -71
Feb 27 22:32:56 localhost kernel: [97409.016018] usb 5-1: device descriptor read/64, error -71
Feb 27 22:32:56 localhost kernel: [97409.232039] usb 5-1: new low-speed USB device number 30 using uhci_hcd
Feb 27 22:32:56 localhost kernel: [97409.640020] usb 5-1: device not accepting address 30, error -71
Feb 27 22:32:57 localhost kernel: [97409.752024] usb 5-1: new low-speed USB device number 31 using uhci_hcd
Feb 27 22:32:57 localhost kernel: [97410.160020] usb 5-1: device not accepting address 31, error -71
Feb 27 22:32:57 localhost kernel: [97410.160038] hub 5-0:1.0: unable to enumerate USB device on port 1

Googling I've found some people had similar (but not the same) issues with USB devices, some suggested solutions which did not work for me. I've tried the followings and it didn't work (same messages):

echo -1 > /sys/module/usbcore/parameters/autosuspend
echo Y > /sys/module/usbcore/parameters/use_both_schemes
echo -n 0000\:00\:1d.7 > /sys/bus/pci/drivers/ehci_hcd/unbind

where (before executing the last command):

# ls /sys/bus/pci/drivers/ehci_hcd
0000:00:1d.7  bind  module  new_id  remove_id  uevent  unbind

all as root and after every command I've checked to see if there is any difference.

Linux doesn't even recognize the USB which attached

# lsusb
Bus 005 Device 023: ID 046d:c52e Logitech, Inc. 
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

Linux 3.5.0-25-generic #38-Ubuntu SMP i686 i686 i686 GNU/Linux


Gratefully, the issue was solved for me. The solution: change to using a USB data cable, instead of using a USB charging-only cable, although they look the same.

Similar to you, I have issues with my Sansa Clip+ 4GB MP3 player that worked with Ubuntu 12.04 before but not anymore, with the similar

device not accepting address 31, error -71
hub 5-0:1.0: unable to enumerate USB device on port n

Error messages in dmesg output. I spent hours trying it on Windows Vista, Windows 7, Ubuntu 12.04, a CentOS live DVD, a Fedora live DVD, laptop, desktop, all to no avail.

Finally, I tried a different USB cable, and it immediately worked on both Windows and Ubuntu 12.04. I then realized that I have multiple USB chargers at home, and I carelessly used one of their cables to connect, and the currently working cable is likely the one that came with the Sansa Clip+ MP3 player, a USB data cable. Researching on the web, I found 2 references regarding the difference between a USB data cable and a USB charging-only cable. The charging-only cable only uses 2 pins to provide power (electricity), and do not put any signal on the 2 data pins, so when they are used, the USB devices have issues connecting to the OS, regardless of the OS type: Windows or Linux.

The 2 references are:

  1. Wikipedia: Universal Serial Bus, "Connector Types" section

    "To reliably enable a charge-only feature, modern USB accessory peripherals now include charging cables that provide power connections to the host port but no data connections, and both home and vehicle charging docks are available that supply power from a converter device and do not include a host device and data pins, allowing any capable USB device to charge or operate from a standard USB cable."

  2. Differences between a USB charge only cable and a data charge cable

Anyway, I'm grateful that eventually it was solved and hope your issue will be solved soon too.