0

Linux(私の場合はUbuntu)のすべてのUSBデバイスを一覧表示するプログラムを作成しています。私はこのチュートリアルhttp://www.signal11.us/oss/udev/に従い、サブシステムを「hidraw」から「usb」に変更しました。

デバイスは正常に一覧表示されますが、重複が含まれています。

私は明らかに私のコードで重複を削除することができますが、重複を返さない方法でデバイスの列挙を設定する方法を知っているかどうか疑問に思いました。

私のコードを確認したい場合(あまり変更していません)、https://github.com/DiogoNeves/LinuxUsbTestにあります。

ありがとう!

4

1 に答える 1

1

私のシステムでは、USB カメラが重複しているように見えますが、udev の複数のスロットを占有しているため、これは正しい動作です。するとudevadm info --attribute-walk --name=video0、USB エンドポイントのエントリと USB デバイスのエントリが表示されます。デバイスに多くのエンドポイントがある場合、間違いなく udev に複数回リストされます。「重複」を削除するには、エンドポイントではなく、親 USB デバイスにのみ存在する他の属性をフィルター処理できます。

USB デバイスをスキャンしている場合は、USB デバイスlibusb-1.0の「より良い」ビューがあるため、使用する方が理にかなっている可能性があります。

于 2012-08-05T03:12:56.887 に答える