AMI UEFIファームウェアの機能

以前の出版物 [1]の1つで、「USB 3.0でUSBフラッシュドライブが動作することを確認する方法」という一見明らかな質問を提起しました。それから、まるで彼ら自身のエゴを怖がらせるかのように、私たちの意識からこの考えを消しました。



しかし、この考えはすでに実験者の脆弱な心を傷つけました。 オペレーティングシステムが起動する前の起動段階(UEFIシェルなど)で、接続されたデバイスのUSB 3.0の可用性を確認したいという要望がありました。 最初に、小さなユーティリティCheckUSBが作成されました(ただし、これは、これまでのところ、Intelチップセットの第8バージョンの一部の実装でのみ動作するように設計されています)。



画像

図1ASUS T300LAラップトップでCheckUSBユーティリティを使用した実験



モバイルプラットフォームに近づくと、場合によっては、再起動時にラップトップのUEFIファームウェアがUSBサブシステムを完全に初期化せず、オペレーティングシステムの一部が動作しないことが判明しました。



 xHCI Pre-Boot Mode   UEFI firmware

図2ASUS T300LAラップトップのUEFIファームウェア設定のXHCI Pre-Boot Modeオプション



たとえば、xHCI Pre-Boot Modeオプションの初期状態がCMOSセットアップで無効に設定されている場合、Smart Autoに置き換え、オペレーティングシステムをロードせずにCheckUSBユーティリティを実行すると、xHCIコントローラーに接続されているデバイスのリストが空であることがわかります。 これは、EHCIコントローラーが接続されたUSBデバイスのサービスに使用されることを意味します。

USB Routing to EHCI

図3Windowsが起動する前にUSBデバイスをASUS N750JKラップトップの拡張ホストコントローラーインターフェイスに接続する



そのため、Windowsを起動せずにUEFIへのブートをオンに切り替えた直後に、次の結果が得られます。



同時に、マスク値は、オペレーティングシステムがxHCIサービスへの接続を切り替える権利を持っていることを示します。



xHCIレジスタのみを表示し、RMHを使用してデバイスがEHCIサービスに切り替えられるため、デバイスのリストは空です。 ビットフィールドの説明は、記事「診断ユーティリティCheckUSB」[2]、[3]に記載されています。



オペレーティングシステムの再起動後に再起動すると、すべてのデバイスがxHCIコントローラーに正しく接続されます。

USB Routing to xHCI

図4Windows後の起動時にUSBデバイスをASUS N750JKラップトップのeXtensible Host Controller Interfaceに接続する



ポートアクセス制御ロジックは、再起動前に発生した状態を「記憶」します。



検討中のASUS N750JKプラットフォームの外部USB3ポートの数は4であることを思い出してください。



参照資料



  1. USBフラッシュドライブがUSB 3.0で機能することを確認する方法は?
  2. 診断ユーティリティCheckUSB
  3. USB3モードを確認する方法は?



All Articles