2011年7月30日土曜日

usb 1-1: device descriptor read/64, error -71

今までは特定のUSBのみこのエラーが発生していたように感じていたが、どうも起動時にUSBを差し込んでいるとこのエラーが発生することが多々あります。

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ar71xx-ehci ar71xx-ehci: Atheros AR91xx built-in EHCI controller
ar71xx-ehci ar71xx-ehci: new USB bus registered, assigned bus number 1
ar71xx-ehci ar71xx-ehci: irq 3, io mem 0x1b000000
ar71xx-ehci ar71xx-ehci: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
nf_conntrack version 0.5.0 (460 buckets, 1840 max)
CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use
nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or
sysctl net.netfilter.nf_conntrack_acct=1 to enable it.
usb 1-1: new high speed USB device using ar71xx-ehci and address 2
usb 1-1: device descriptor read/64, error -71
ath_hal: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
ath_hal: 2009-05-08 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425, REGOPS_FUNC, XR)
usb 1-1: device descriptor read/64, error -71
usb 1-1: new high speed USB device using ar71xx-ehci and address 3
ath_pci: trunk
wlan: trunk
wlan: mac acl policy registered
ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (trunk)
ath_rate_minstrel: look around rate set to 10%
ath_rate_minstrel: EWMA rolloff level set to 75%
ath_rate_minstrel: max segment size in the mrr set to 6000 us
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: new high speed USB device using ar71xx-ehci and address 4
usb 1-1: device descriptor read/8, error -71
usb 1-1: device descriptor read/8, error -71
usb 1-1: new high speed USB device using ar71xx-ehci and address 5
usb 1-1: device descriptor read/8, error -71
usb 1-1: device descriptor read/8, error -71
hub 1-0:1.0: unable to enumerate USB device on port 1
起動時にsleepを入れるとメッセージが変わってくるので内部電圧などが不安定なのかもしれないと感じてもいます。

上記ログは read/8 となっているところがありますが、このタイプのエラーは始めて気づきました。

この種のエラー対応として何か解決策はないかと検索してみると色々出てくるのですが
「内部USBコントローラーと接続しているUSBのコントローラーの互換性の問題
http://open-wrt.ru/dev/ticket/6779
として話を結論付け、追加するUSBを別のコントローラのものに変えるという提案で締めくくられている。
クローズされているもの自体あまり無かったが、日本語で書かれた記事でも
「原因は不明だが追加するUSBを別のものに交換したら症状は出なくなった
ということなのでやはり互換性の問題なのだろうか?
でもこのUSBは今までエラーなんて出てなかった気がするんですよねぇ…RC5に入れ替えてからだとおもうんですが…
この問題はOpenWrtだけではなく、Linux全体で発生しているようでした。

2 件のコメント:

  1. こんにちは、2017年の今、この問題で検索しやってきました。
    6年前の記事が出てくるとは思わなかったのですが、
    調べてみると皆さん結構古くから悩まされているご様子。
    「linux usb device descriptor read 64 error -32」
    が多発するようになりました。
    lubuntuでP5Qを2枚所持しているのですが、交換したら出ました。
    交換前はどちらも出ていません。
    しかも交換後片側だけ出ている…と言う不思議な状況です。
    P5Qは有名な「USBが生まれつき弱く…」とASUSが自虐ネタを展開するM/Bです。なのでUSBでエラーが出ても「持病だから」と思っていたのですが、片方だけ出るので少し調べてみようと。
    実はもっと前から出ていたのかも知れませんが、lubuntuの起動画面早くてあっという間にデスクトップになるので確認できていなかったのかも?>普段dmesg見る癖もなくて…。
    そんな懐かしい話にコメントしてみました。
    このまま通り過ぎるので「今もまだこの問題が出ているのかー」位に見てやってください。お邪魔いたしました。m(_ _)m

    返信削除
    返信
    1. raspberry pi 3bが出た当初もしかしたら出なくなることを期待したのですが結果は変わらず。
      画像を小さくしてUSBの帯域を少なくして軽くしても変わらず。
      スレッドで分けずに別のプロセスでmotionを2つ起動すると問題が発生しなくなりました。
      結論としてはドライバのスレッド間で共有している部分にバグがあるんでしょうね。

      削除