web-dev-qa-db-ja.com

単一のUSB 3.0ポートを強制的にUSB 2.0として機能させる

this thread で説明されているように、左側のUSB 3.0ポートで断続的な障害が発生するDell XPS 13マシンがいくつかあります。複数の外付けHDDでサイレント破損/切断によりデータを失ってしまいました。

証拠は、USB 3.0プロトコルで動作しているときに混乱を引き起こすハードウェア設計上の欠陥(内部でポートをコントローラーに接続しているケーブルのシールドが不十分)を示しています。したがって、ソフトウェア/ファームウェアのアップデートで完全に解決される可能性は低いです。

私が探しているのは、USB 3.0対応デバイスがプラグインされている場合でも、単一のポートを強制的にダウングレードしてUSB 2.0を使用するソフトウェアソリューションです。一部の人々はUSB 2.0ハブの使用に成功したと報告していますが、私は追加のハードウェアを使用しないソリューションを探しています。

WindowsはUSBコントローラをIntel(R) USB 3.0 eXtensible Host Controllerとして報告します。両方のポートが同じルートハブを通過します。コントローラに関する詳細を提供する必要があるかどうか教えてください。

USB速度を切り替えるBIOSオプションはありません (結局のところ、ありますが、明確に提示されていません)。可能であれば、他のポートを3.0で動作させたい。

6
Xan

これはおそらく不可能、またはveryデバイス固有です。それが可能な限り、2.0/3.0互換性がシステムによってどのように処理されるかによって異なります。低レベルのハードウェアとプロトコルの検出、および送信頻度の管理は、OSではなくハードウェア/ファームウェアで処理されることを期待しています。その場合は、ドライバーで「レガシーモード」を強制するためのサポートを提供するのは、完全にハードウェアベンダーに任されます。これが一般的に行われているとしたら、私は強く疑います。

詳細については、ハードウェアの製造元のドキュメントを参照してください。

2
Iszi

これはソフトウェアソリューションではありませんが、USB 2延長ケーブルを使用する場合、プラグの5つのUSB 3ピンがホストとデバイス間でUSB 3ハンドシェイクを実行するワイヤを物理的に接続するのを防ぎます。 USB 2デバイスまたはケーブルには、4つのピンしかありません。 4つのピンのみが接続されている場合、USB 3ポートはデフォルトでUSB 2信号通信になります。 USB 2延長ケーブルは、USB 2のみの通信の4ピンを接続する4本のワイヤのみを使用します。

17
Robert Simpson

それが可能だ。 xHCIコントローラーの構成レジスターを変更する必要があるため、明らかにチップセット固有です。これがLinuxでのやり方です。私はWindowsでもそれを実行できるはずだと思いますが、どのユーティリティを使用すればよいかわかりません。

両方のポートをUSB 2.0モードに設定するには:

Sudo setpci -H1 -d 8086:1e31 d8.l = 0

右ポート3.0および左ポート2.0:

Sudo setpci -H1 -d 8086:1e31 d8.l = 1

右ポート2.0および左ポート3.0:

Sudo setpci -H1 -d 8086:1e31 d8.l = 2

D8(USB3_PSSEN)でレジスタを変更すると、ポートはUSB 2.0モードに設定されますが、それらはまだxHCIコントローラー上にあります。 EHCIに切り替えるには、d0(XUSB2PR)のレジスタも変更する必要があります。たとえば、EHCIコントローラーから両方のポートを実行するには、次のようにする必要があります。

Sudo setpci -H1 -d 8086:1e31 d8.l = 0

Sudo setpci -H1 -d 8086:1e31 d0.l = 0

レジスタは、このデータシートのセクション17.1に記載されています。

http://www.intel.com/content/www/us/en/chipsets/7-series-chipset-pch-datasheet.html

4
Erik

私の質問に対するシステム固有の回答として、Dell XPS 13には USB Debug BIOSのオプション

有効にすると、左側のUSBポートが強制的に2.0/EHCIモードになり、右側のポートは3.0のままになります。

それが元の問題を解決するかどうかはまだ分からない。 いくつかのテストの後、それは確かに問題を助けているようです。これにより、ハードウェアの設計上の問題を認識しているという理由だけで、BIOSにこのオプションが存在することを確信できます。

2
Xan