Windows 8.1 と ASMedia USB 3.1 XHCI 1.1 ホスト・コントローラについて

原文(2015年3月5日投稿): Windows 8.1 and the ASMedia USB 3.1 XHCI Host Controller by Joshua Henry

私たちは、ASUS 社がついに USB 3.1 機能を搭載したマザーボードを販売開始したとのニュースを受けて、すぐにテストしてみました。私たちが購入しテスト・マシンために使用したモデルは「ASUS Z97-PRO(Wi-Fi ac)/USB 3.1」です。インテル社製 USB 3.1 コントローラはまだ販売されていないためか、ASUS 社は ASMedia 社製 ASM1142 USB 3.1 XHCI 1.1 コントローラを採用しています。ティール色(緑がかかった青色)の USB 3.1 タイプ A コネクタが 2 つついているのが、下の写真からわかると思います。

Click to enlarge

クリックして拡大

我々 Plugable 社の製品はほとんどが USB 関連機器のため、新しい USB 3.1 コントローラで発生するであろう初期の問題についてはできるだけ早くテストをしておきたいと考えています。まずこのマザーボードを使って組み立てたテスト・マシンに Windows 8.1 を新規導入し、最新の Windows Update を適用しました。すると、残念ながらこの ASM1142 USB 3.1 XHCI 1.1 コントローラに対して、「Microsoft XHCI “0110” driver(バージョン 6.3.9600.17393、10/6/2014)」ビルトイン・ドライバを使用していることがわかりました。説明によれば、このドライバは USB 3.0 にしか対応していません。

msstack

通常であれば、私たちは Windows 8.x にビルトインされた Microsoft 社製の USB ドライバ層を、他社製のドライバに入れ替えることはお勧めいたしません。しかし今回のケースでは USB 3.1 の機能テストが第一の目的のため、ASUS 社が当マザーボードのために提供している最新の「ASMedia 社 ドライバ導入ユーティリティ(バージョン 1.16.23.0、12/24/2014)」をダウンロードして、導入してみました。すると、このコントローラは USB3.1 をサポートする XHCI 1.1 として無事認識されました。(下記の画面をご参照ください。)

asm1.16.23.0

しかし残念なことに、すぐに大きな問題が発生してしまいました。弊社製の USB 3.0 7 ポートハブ、USB3-HUB7-81X(VIA社製 VL812 B2 チップセット採用)を接続してみたところ、「SYSTEM_SERVICE_EXCEPTION (asmtxhci.sys)」というエラー表示とともに即時にシステムがクラッシュしてしまいました。「asmtxhci.sys」は、先だって導入した ASMedia 社製のドライバです。

IMG_20150303_141805

何度かシステム再起動をしながら試行錯誤してみたところ、この状態では頻繁にシステム・クラッシュが発生することがわかりました。たとえば、ハブではなく単純な USB 3.0 のフラッシュ・ドライブを接続してみたり、ハブと 7 つのグラフィックス・アダプタを同時に接続してテストしてみたところ、やはりクラッシュしました。同じ USB 機器を、別のインテル社製の 9 シリーズ USB 3.0 コントローラを使用したシステムに接続した場合には、このようなことは起きません。そこで ASMedia 社製バージョン 1.16.23.0 のドライバをあきらめて、一度 Microsoft 社製ビルトインの “0110” ドライバに戻してみてテストしてみることにしました。すると、インテル社製の USB コントローラを使用したシステム同様にクラッシュは発生しなくなりましたが、当然のことながらこれでは USB 3.1 機能をテストしているとは言えません。

さらにいろいろ調べてみたところ、ASMedia 社製ドライバ・インストーラが提供する「asmtxhci.inf」というドライバがこの新しい ASM1142 USB 3.1 コントローラでも使えそうだということがわかりました。(「asmtxhci.inf」は、ASMedia 社製 USB ホスト・コントローラ全体をカバーする一般ドライバのようです。)そこでテスト用のシステムに、まず古い ASMedia 社製 ASM1042 USB 3.0 PCI-E カードを装着し、ASMedia 社製バージョン 1.16.23.0 ドライバを再導入してみました。すると下記画面に示すように、当テスト・システム上で 3.1 と 3.0 両方の ASMedia USB コントローラを実行できることがわかりました。

Click to enlarge

クリックして拡大

しかしながらこのドライバでも、マザーボード上の ASM1142 3.1 コントローラだけでなく、追加装着した PCI-E ASM1042 3.0 コントローラ両方で動作が不安定でした。これまでの検証からこの状況がハードウェアに依存するのではなく、ドライバの問題であるとわかっているため、私たちがこれまでお客様にもお勧めしてきた、最新ではないもののより安定した「asmtxhci.inf」ドライバ(バージョン 1.16.18.1、4/10/2014、WHQL 認証済み)を試してみることにしました。すると、このドライバはこれまで試してみた中では一番古いにもかかわらず、この最新の USB 3.1 コントローラにも対応していることがわかりました。

そこで、私たちはまたバージョン 1.16.23.0 のドライバをアンインストールし、両 USB コントローラ用のドライバを Microsoft 社製のビルトイン USB ドライバへ戻し(ASM1142 コントローラ用は “0110”、ASM1042 コントローラ用は “0096”)、そのあと、この古いバージョン 1.16.18.1 のドライバを再導入しました。この手順ののち、両コントローラの動作は非常に安定し、ASM1142 USB 3.1 コントローラも無事 「USB 3.1 準拠である(XHCI 1.1)」と認識されました。

Click to enlarge

クリックして拡大

私たちは現在も引き続きこの最新 ASMedia ASM1142 コントローラをテストしている段階ですが、安定したドライバを発見した後に行った初期テストの結果については上々と言えると思います。現在は下の写真にあるように、このテストマシンに Plugable USB 3.0 7 ポートハブ(USB3-HUB7-81X)を 6 台接続し、さらにそれぞれに Plugable UGA-3000 USB 3.0 グラフィックス・アダプタを合計 36 台接続していますが、クラッシュが発生することも、USB リソース制限上の問題も生じてもいません。(Windows および DisplayLink のドライバ上、1 台の PC に接続可能な外部モニタ数には制限があることにご注意ください。したがって下記のデモではアダプタを接続しただけであり、実際に 36 台の外部モニタを稼働させられるわけではありません。現実的には、私たちは過去に最大 14 台の外部モニタの接続に成功したことがあります。)

Click to enlarge

クリックして拡大

私たちはこのマザーボードでは、現時点では不安定な動作をすると思われる ASMedia 社製最新のバージョン 1.16.23.0 ドライバではなく、安定したバージョンである 1.16.18.1 のドライバ(あるいは、USB 3.1 ではなく 3.0 で構わない場合には Windows 社製のビルトインドライバ)を使用することを強くお勧めいたします。
非常に残念ですが、USB 3.1 対応の純正機器が存在しない現状では、先に推奨したドライバ・バージョンと実際の USB3.1 機器の機能についてコメントすることはできません。

安定したバージョンである ASMedia 社製 1.16.18.1 ドライバを見つけるのが比較的難しかったため、下記にダウンロード・リンクをご提供しておきます。しかしながら、Plugable 社はこのドライバを導入したことによりコンピュータで起こりうる問題について、責任を負うことはできないことをどうぞご了承の上ご利用ください。

ASMedia ASM1042 USB 3.0 XHCI / ASM1142 USB 3.1 XHCI 1.1 Driver Version 1.16.18.1 WHQL – 4/10/2014
 

Plugable Technologies
ジョシュア・ヘンリー