Ошибка USB -71 (EPROTO) с геймпадом

Ошибка USB -71 (EPROTO) с геймпадом

У меня есть пара геймпадов с USB-интерфейсом. Это RockFire QF-501UV. При подключении их к USB-порту я получаю следующее сообщение:

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

Погуглив, я обнаружил, что у некоторых людей были похожие (но не такие же) проблемы с USB-устройствами, некоторые предлагали решения, которые мне не помогли. Я попробовал следующее, и это не сработало (те же сообщения):

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

где (перед выполнением последней команды):

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

все как root и после каждой команды я проверял, есть ли разница.

Linux даже не распознает подключенный USB-накопитель.

# 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

решение1

К счастью, эта проблема была решена. Решение: вместо кабеля USB, предназначенного только для зарядки, используйте кабель USB для передачи данных, хотя они выглядят одинаково.

У меня, как и у вас, возникли проблемы с моим MP3-плеером Sansa Clip+ 4 ГБ, который раньше работал с Ubuntu 12.04, а теперь нет, с похожими

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

Сообщения об ошибках в dmesgвыводе. Я потратил часы, пытаясь запустить его на Windows Vista, Windows 7, Ubuntu 12.04, CentOS live DVD, Fedora live DVD, ноутбуке, настольном компьютере, но все безрезультатно.

Наконец, я попробовал другой USB-кабель, и он сразу же заработал как на Windows, так и на Ubuntu 12.04. Затем я понял, что у меня дома есть несколько USB-зарядных устройств, и я неосторожно использовал один из их кабелей для подключения, а текущий рабочий кабель, скорее всего, тот, который идет в комплекте с MP3-плеером Sansa Clip+, USB-кабель для передачи данных. Исследуя интернет, я нашел 2 ссылки относительно разницы между USB-кабелем для передачи данных и USB-кабелем только для зарядки. Кабель только для зарядки использует только 2 контакта для подачи питания (электричества) и не подает никакого сигнала на 2 контакта данных, поэтому при их использовании у USB-устройств возникают проблемы с подключением к ОС, независимо от типа ОС: Windows или Linux.

Две ссылки:

  1. Википедия:Универсальная последовательная шина, раздел «Типы разъемов»

    «Чтобы надежно реализовать функцию только зарядки, современные периферийные USB-аксессуары теперь включают зарядные кабели, которые обеспечивают подключение питания к порту хоста, но не подключение для передачи данных, а также доступны как домашние, так и автомобильные зарядные док-станции, которые подают питание от преобразователя и не включают в себя хост-устройство и контакты данных, что позволяет любому совместимому USB-устройству заряжаться или работать от стандартного USB-кабеля».

  2. Различия между USB-кабелем, предназначенным только для зарядки, и кабелем для передачи данных

В любом случае, я благодарен, что в конце концов эта проблема была решена, и надеюсь, что ваша проблема тоже скоро будет решена.

решение2

Может быть, у вашего USB-устройства есть защита от перегрузки по току? Попробуйте инструкцию отследующая страницаи дайте нам знать, помогли ли они вам.

USB имеет защиту от перегрузки по току, которая срабатывает, когда потребление энергии портом слишком велико.

Отключите все USB-устройства от ПК, выключите питание и подождите минуту или две. Подключите все обратно и загрузите Linux.

Связанный контент