2013年04月13日一覧

USB 3.0 Kernel Debugging のための準備

Windows8 で カーネルデバッグを行うのに USB 3.0 が使えます。
ただしこのUSB 3.0で接続をするには、PCとPCを USBケーブルで接続しないといけません。
そして、PCは基本的にホスト側であることを想定されているため、タイプA形状のコネクタを持っています。
つまり、A-Aのケーブルが必要になります。

今までの USB 2.0 の場合は、特殊な機器を購入してそこに2台からのUSBケーブルを差し込む形になっていたようです。

さて、この接続するためのケーブルについてが特殊なので今回のネタとなっています。
WinDbgのヘルプには、こうあります。
「A USB 3.0 debug cable. This is an A-A crossover cable that has only the USB 3.0 lines and no Vbus」

これを読み解くと、USB3のラインだけ接続されたクロスオーバーのデバッグケーブルで、接続するとなります。
また、色々と調べてみてわかったのですが Universal Serial Bus Specification を紐解くとターゲットOSのデバッグ用の接続についても考慮された仕様が決められていました。
これらの情報から、デバッグケーブルを自作してみました。

デバッグケーブルを自作する

ケーブルの一部を切り開いて加工し、最後に一応シールド用としてアルミを当ててそっとケーブルを閉じてみました。

こうやって作成したケーブルで試したところ、先日のWindows8をターゲットとしてWindows Kernel Debugができた、というわけです。

簡単にケーブルを作成していますが、この状況にもっていくまでに何本かは失敗しています。
シールドの問題や、加工のしやすさ(&慣れ)、といった部分から失敗前提でチャレンジが必要かもしれません。
自作にチャレンジされる方は、パーツ数に余裕を持っておいたほうがよいとおもいます。

使用したもの

加工に向いたケーブルがなかなか見つかりませんでした。上記のものは amazon で購入した以下のケーブルを使っています