EN JA
USBDUMP(8)
USBDUMP(8) FreeBSD System Manager's Manual USBDUMP(8)

名称

usbdumpUSB ホストコントローラのトラフィックをダンプする

書式

usbdump [ -i ifname][ -r file][ -s snaplen][ -v][ -w file][ -f filter][ -b file][ -h]

解説

usbdump ユーティリティは、ホストコントローラの USB パケットをダンプする方法を提供します。

次のオプションが受け付けられます:

-b file
与えられた file にバイナリ形式の USB トレースのデータ部分を格納します。また、このオプションは、-r と -f オプションで動作します。
-i ifname
USB バスインタフェース ifname で listen します (接続を受け付けます)。
-r file
file から生のパケットを読み込みます。また、このオプションは、-f オプションで動作します。
-s snaplen
各パケットから snaplen バイトのスナップショットを行います。
-v
デバッグメッセージを有効にします。複数下位定義されると、冗長性のレベルを増加します。
-w file
file に生のパケットを書き込みます。また、このオプションは、-s と -v オプションで動作します。
-f filter
filter 引数は、1 ドットごとに分離された 1 つまたは 2 つの数値のいずれかから成ります。最初は、トレースされるべきデバイスのユニット番号を示します。オプションの 2 番目の数は、トレースされるべき終点を示します。制御終点のためにすべてのトラフィックを得るために、終点 0 のための 1 つと終点 128 のための 1 つの、2 つのフィルタが作成されるべきです。 128 が終点の番号に追加されるなら、IN 方向を意味し、そうでなければ、 OUT 方向を意味します。 -1 のデバイスユニットまたは終点の値は、このフィールドを無視することを意味します。フィルタが指定されないなら、すべてのパケットは、デフォルト -1 と -1 フィルタを使用して渡されます。複数回、このオプションを指定することができます。
-h
このオプションは、コマンド行オプションの要約を表示します。

使用例

usbus2 で USB の生のパケットを獲得します:

usbdump -i usbus2 -s 256 -v

パケットサイズの制限ないファイルに usbus2 の USB の生のパケットをダンプします:

usbdump -i usbus2 -s 0 -w /tmp/dump_pkts

usbus2 の USB の生のパケットをダンプしますが、デバイスユニット番号 3 の制御終点トラフィックだけです:

usbdump -i usbus2 -s 0 -f 3.0 -f 3.128 -w /tmp/dump_pkts

前のファイルから USB の生のパケットを読み込んで、表示します:

usbdump -r /tmp/dump_pkts -v

出力形式

usbdump の出力形式は、次の通りです:

<time> <bus>.<addr> <ep> <xfertype> <S/D> (<frames>/<length>) <...>

出力形式の要素の意味は、次の通りです:

<time>
先行するすべての出力線のタイムスタンプ。タイムスタンプは、形式 "hh:mm:ss.frac"であり、カーネルのクロックと同じくらい正確です。
<bus>
USB ホストコントローラのバスユニット番号。
<addr>
ホストコントローラドライバによって割り付けられる USB デバイスのユニークな番号。
<ep>
アドレスが OUT または IN かどうかを示す USB 終点アドレス。
<xfertype>
USB 転送タイプ。 CTRL, ISOC, BULK または INTR を指定できます。
<S/D>
`S' は、USB サブミット (submit) を示します。 `D' は、USB 転送が行われたことを示します。
<frames>
このパケットのフレームの数。これが USB サブミットであるなら、その値は、どのくらい多くのフレームが転送のために受け付けられるか、または登録できるかを意味する、 xfer->nframes です。これが USB done (行われた) であるなら、 xfer->aframes は、フレームの実際の数です。
<length>
合計のパケットサイズ。これが USB submit であるなら、その値は、 xfer->sumlen です。これが USB done (行われた) であるなら、その値は、 xfer->actlen です。
<...>
パケットが USB done から来ているなら、印刷されるエラー文字列のために使用されるオプションのフィールド。

関連項目

usbconfig(8)

作者

Weongyo Jeong <weongyo@FreeBSD.org>
April 24, 2012 FreeBSD