ゲームパッドでの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

Google で検索してみると、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-汎用 #38-Ubuntu SMP i686 i686 i686 GNU/Linux

答え1

ありがたいことに、問題は解決しました。 ソリューション: 見た目は同じですが、USB 充電専用ケーブルではなく、USB データ ケーブルを使用するように変更します。

私もあなたと同じように、以前はUbuntu 12.04で動作していたSansa Clip+ 4GB MP3プレーヤーで同様の問題が発生していますが、

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 ライブ DVD、Fedora ライブ DVD、ラップトップ、デスクトップで何時間も試しましたが、すべて無駄でした。

最後に、別の USB ケーブルを試してみたところ、Windows と Ubuntu 12.04 の両方ですぐに機能しました。その後、自宅に複数の USB 充電器があり、そのうちの 1 つのケーブルを不注意に使用して接続したことに気付きました。現在機能しているケーブルは、Sansa Clip+ MP3 プレーヤーに付属していた USB データ ケーブルである可能性があります。Web で調査したところ、USB データ ケーブルと充電専用 USB ケーブルの違いに関する参考資料が 2 つ見つかりました。充電専用ケーブルは、電力 (電気) を供給するために 2 つのピンのみを使用し、2 つのデータ ピンには信号を送信しないため、それらを使用すると、OS の種類 (Windows または Linux) に関係なく、USB デバイスは OS に接続する際に問題が発生します。

2 つの参照は次のとおりです。

  1. ウィキペディア:ユニバーサル シリアル バス、「コネクタ タイプ」セクション

    「充電のみの機能を確実に有効にするために、最新の USB アクセサリ周辺機器には、ホスト ポートへの電源接続は提供するがデータ接続は提供しない充電ケーブルが含まれています。また、コンバータ デバイスから電源を供給し、ホスト デバイスとデータ ピンを含まない家庭用および車載用の充電ドックも用意されており、対応しているすべての USB デバイスを標準の USB ケーブルで充電または操作できます。」

  2. USB充電専用ケーブルとデータ充電ケーブルの違い

いずれにせよ、最終的に問題が解決したことに感謝しており、あなたの問題もすぐに解決されることを願っています。

答え2

USBデバイスに過電流保護機能があるかもしれません。以下の手順を試してください。次のページ役に立ったかどうかお知らせください。

USB には過電流保護機能があり、ポートからの電力消費が高すぎる場合に作動します。

PC からすべての USB デバイスを取り外し、電源をオフにして 1 ~ 2 分待ちます。すべてを元に戻し、Linux を起動します。

関連情報