usbmonはISOパケットを連続的にダンプしません。

usbmonはISOパケットを連続的にダンプしません。

Ubuntu 18.04 では、usbmon を使用して以下を使用してバス 1 の ISO USB トラフィックを表示できます.

cat /sys/kernel/debug/usb/usbmon/1u

この行はISOパケットを示しています。

ffff8ac78a58d300 1916648463 C Zi:1:013:1 0:1:450:0 1 0:0:32 34 = 00000000 ....

デバイスからホストに送信された32バイトを表示できます。すごい! ISO パケットは USB マイクから生成されます。

ただし、USBデバイスを接続した後は、最初の3000個のパケットのうちISOパケットのみがダンプされます。 USBmonにISOパケットをダンプさせる方法はありますか?

編集:usbmonがカーネルスペースで実行されているので、私が尋ねる質問は実用的ではないかもしれません。再起動時にISOデータをダンプするためにユーザースペースイベントを使用するようにusbmonを変更できますが、これにはusbmon開発者にいくつかの変更が必要です。現在は、デバイスを再接続した後にISOパケットダンプを取得することに満足しています。

usbmonドライバファイルを読んでください。 mon_bin.cにはMON_IOCH_MFLUSHがあります。私はusbmonに慣れていません。たぶん、ユーザースペース usbmon API/ioctl() を使用して、バッファーに格納された同期パケットをフラッシュできます。私の例では、usbmonがカーネルにロードされる限り、USBパフォーマンスに影響を与えるようです。

ベストアンサー1

おすすめ記事