USB デバイスが接続されると、dmesg には何も表示されず、ポートは無効になります。

USB デバイスが接続されると、dmesg には何も表示されず、ポートは無効になります。

組み込みLinuxがあります。USBホスト一部のUSBデバイスの検出を拒否します。ホストシステムがUbutun 20.04LTSを実行しています。

検出に失敗すると、dmesgには何も表示されず、ホストが再起動されるまで、すべてのUSBデバイスにUSBポートを使用することはできません。

ホストは、大容量ストレージデバイスやWebカメラ(画像やオーディオインターフェイスを含む)を含む複数のデバイスを検出します。故障したデバイスには、Zoom H1nレコーダー、USBシリアルアダプタケーブル、この端末。私のWindowsノートブック、Ubuntuデスクトップ、およびWindowsラップトップが失敗したすべてのデバイスを正常に検出します。Debian を実行する別の sama5d27 ベースの組み込み Linux SBC

私が理解したのは、認識されていないかサポートされていないデバイスがまだdmesgに報告されなければならないため、これはカーネルモジュールの欠落の問題ではありません。

usbmonのインストールとデバイスの接続中にこのトレースをキャプチャしました。これはpcap表現です。

c24a4900 803906549 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c24a4900 803906679 C Ci:1:001:0 0 4 = 00010000
c24a4900 803906728 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4900 803906760 C Ci:1:001:0 0 4 = 01050100
c24a4900 803906792 S Co:1:001:0 s 23 01 0010 0002 0000 0
c24a4900 803906822 C Co:1:001:0 0 0
c24a4900 803906849 S Ci:1:001:0 s a3 00 0000 0003 0004 4 <
c24a4900 803906874 C Ci:1:001:0 0 4 = 00010000
c1e14580 804020108 S Ii:1:001:1 -115:2048 4 <
c24a4900 804020218 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4900 804020293 C Ci:1:001:0 0 4 = 01050000
c24a4900 804020409 S Co:1:001:0 s 23 03 0004 0002 0000 0
c24a4900 804020472 C Co:1:001:0 0 0
c24a4400 804100105 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c1e14580 804100183 C Ii:1:001:1 0:2048 1 = 04
c1e14580 804100209 S Ii:1:001:1 -115:2048 4 <
c24a4400 804100749 C Ci:1:001:0 0 4 = 01051000
c24a4400 804100826 S Co:1:001:0 s 23 03 0004 0002 0000 0
c24a4400 804100875 C Co:1:001:0 0 0
c24a4400 804320164 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 804320239 C Ci:1:001:0 0 4 = 00010100
c24a4400 804540102 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 804540175 C Ci:1:001:0 0 4 = 00010100
c24a4400 804760112 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 804760185 C Ci:1:001:0 0 4 = 00010100
c24a4400 804980144 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 804980220 C Ci:1:001:0 0 4 = 00010100
c24a4400 804980262 S Co:1:001:0 s 23 01 0014 0002 0000 0
c24a4400 804980294 C Co:1:001:0 0 0
c24a4400 804980329 S Co:1:001:0 s 23 01 0001 0002 0000 0
c24a4400 804980359 C Co:1:001:0 0 0
c24a4400 804980413 S Co:1:001:0 s 23 01 0001 0002 0000 0
c24a4400 804980447 C Co:1:001:0 0 0
c24a4400 804980517 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 804980556 C Ci:1:001:0 0 4 = 00010100
c24a4400 804980586 S Co:1:001:0 s 23 01 0010 0002 0000 0
c24a4400 804980616 C Co:1:001:0 0 0
c24a4400 804980648 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 804980678 C Ci:1:001:0 0 4 = 00010000
c24a4400 805030147 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 805030221 C Ci:1:001:0 0 4 = 00010000
c24a4400 805080107 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 805080176 C Ci:1:001:0 0 4 = 00010000
c24a4400 805130098 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 805130167 C Ci:1:001:0 0 4 = 00010000
c24a4400 805180127 S Ci:1:001:0 s a3 00 0000 0002 0004 4 <
c24a4400 805180195 C Ci:1:001:0 0 4 = 00010000
c1e14580 805180329 C Ii:1:001:1 -2:2048 0

最後の行はエラー状態-2 ENOENTを示します。これは、「指定されたインターフェイスまたはエンドポイントが存在しないかアクティブでない」を意味し、デバイスからホストに送信されます。どういう意味ですか?

ホストがデバイスを検出できないのはなぜですか?

ベストアンサー1

これは、製造元が提供するデバイスツリーにEHCIが含まれているがOHCIは含まれていないためであることがわかりました。したがって、高速USBデバイスのみが検出され、最高速度デバイスは検出されません。

おすすめ記事