web-dev-qa-db-ja.com

USBデバイスを列挙できません-不明なデバイス:lsusbに表示されないデバイスを見つける方法は?

LCDディスプレイに信号を送信するハードウェア製品があります。ハードウェアボックス(不明なチップセット)にはUSB-Aコンセントがあり、LCDディスプレイのUSB-Bコンセントに接続します。LCDディスプレイには、1秒間隔で異なる値が表示されます。Linuxベースのマシンでハードウェアボックスから値を読み取る必要があります。USBごとに接続するRaspberryを試してみましたハードウェアボックスですが、lsusbを介してUSBデバイスを列挙しようとすると、デバイスが表示されず、キーボードとマウスのみが表示されます。

Dmesg outpoutを見ると、次のようになります。

[    2.411997] usb 1-1.3: new low-speed USB device number 6 using dwc_otg
[    2.511983] usb 1-1.3: device descriptor read/64, error -32
[    2.731995] usb 1-1.3: device descriptor read/64, error -32
[    3.192015] usb 1-1.3: new low-speed USB device number 8 using dwc_otg
[    3.292089] usb 1-1.3: device descriptor read/64, error -32
[    3.512305] usb 1-1.3: device descriptor read/64, error -32
[    4.292059] usb 1-1.3: new low-speed USB device number 9 using dwc_otg
[    4.732030] usb 1-1.3: device not accepting address 9, error -32
[    4.832062] usb 1-1.3: new low-speed USB device number 10 using dwc_otg
[    5.272043] usb 1-1.3: device not accepting address 10, error -32
[    5.272238] usb 1-1-port3: unable to enumerate USB device

Pyserialを試しましたが、どのデバイスから読み取るかわかりません。 idVendoridProductを取得できません。更新できるドライバがあるかどうかわかりません。

私は多くのドキュメントを調べてきましたが、usb-driverの速度を1に設定しました(dwc_otg.speed=1を使用した場合も同様です)。私はここですべてのものを試しました: https://www.raspberrypi.org/documentation/configuration/cmdline-txt.md しかし何も助けにはなりませんでした。 2つの質問があります。

  1. USB接続をデバッグするために他に何ができるでしょうか?
  2. lsusbにリストされていないUSBデバイスを特定し、dmesgでエラーを表示するにはどうすればよいですか?

これは私の研究にとって非常に重要ですので、どんな助けでも大歓迎です。

1
Cactus

表示されているエラーメッセージは、低レベルのUSB障害によるものであり、基本的なUSBプロトコルが完了していないため、LinuxはおそらくidVendor/idProductをまだ認識していません。これが、lsusbが表示していない理由でもあります。まだ実際には接続されていません。

ここで最初に奇妙なことに、USB Aポートがあり、通常はコンピュータ/「ホスト」側にあります(Bはデバイス/「ガジェット」にあります)。したがって、ディスプレイとの使用方法は、コンピュータのような「ハードウェア製品」の機能であり、ディスプレイを制御しているように聞こえます。 2つのUSB Aポートを一緒に接続しようとしているようですが、これは機能しない(または物理的に可能ではない)はずです。

Piをディスプレイのように動作させたい場合は、ディスプレイとして表示するために多くの作業を行う必要があります。それはUSBガジェットモードと呼ばれます。それを実現するためのプログラムを書くことは、スタックオーバーフローで尋ねるべきものです。それは間違いなくソフトウェア開発です。

ハードウェアデバイスがコンピューターにも接続することになっている場合は、両方のモード(しばしばUSB On-The-Goと呼ばれます)を実装します。その場合は、Piと通信できるはずですが、機能しません。最初のデバッグ手順は、それがPCでも、Windowsでも機能するかどうかを確認することです。そうでない場合は、ベンダーに連絡する以外にやるべきことはたくさんあると思います。その場合、Piが十分な電力を供給できない可能性があります。 Piでgood USB電源を使用していることを確認してください。

ところで:2つのデバイスがどのように通信するかを調査するために頭に浮かぶもう1つのことは、ディスプレイをPiまたはコンピューターに接続することです。通常のUSBケーブルを使用できるもの;デバイスの種類を確認します。モニターとして表示された場合(シリアルポートとは言えません)...頑張ってください!

1
derobert