共用方式為


使用 ACPI 在電腦上設定 USB 埠

如果系統需要 ACPI BIOS 變更才能正確反映 USB 埠設定,您應該考慮使用者在設定埠時將裝置連線到埠的能力。

如果您使用 ACPI 來指定 USB 埠的設定,您必須定義 USB 埠功能 (_UPC) 和實體位置描述 (_PLD) 物件。 雖然 ACPI 6.0 規格並未特別禁止只使用 _UPC 物件,但使用這兩個物件更精確地表示使用者能夠將裝置連線到埠。 僅使用 _UPC 物件可能不會正確或如預期般設定裝置容器群組。

如果已設定 DeviceRemovable 位,則連結至埠的裝置會從中樞卸載。 下表顯示指定埠的 ACPI 物件值如何影響 Windows 針對裝置報告之 USB 中樞描述元 DeviceRemovable 位的值。

USB 埠狀態 範例 _Upc。PortIsConnectable byte _Pld。UserVisible 位 (位 64) 產生的 DeviceRemovable 位值

可看見埠,而且使用者可以自由連線和中斷裝置連線。

埠會在使用者看得見的電腦上面板的臉部上公開。

設定 (0xFF)

設定 (1)

集合

埠已隱藏或內部,且使用者無法自由連線和中斷連線裝置。

埠直接連線到整合式裝置,例如膝上型電腦網路攝影機或內部 USB 中樞。

設定 (0xFF)

已清除

已清除

埠是由 USB 主機控制器實際實作,但不會使用。

埠是未連線到埠外掛程式終端機或整合式裝置的過多埠。

已清除 (0x00)

清除

已清除

注意 將埠定義為無法連線但使用者看得見的組態無效。

下列範例示範正確構成的 ACPI 來來源語言 (ASL) ,示範如何使用 _UPC_PLD 物件來描述 USB 埠:

  • 若要指定內部 (不是使用者可見) 且可連線到整合式裝置的埠, _UPC。PortIsConnectable 位元組必須設定為 0xFF 和 _PLD。UserVisible 位必須設定為 0。

    在下列範例中,裝置會與電腦的裝置容器分組。

    Name(_UPC, Package(){
        0xFF,         // Port is connectable
        0xFF,         // Connector type (N/A for non-visible ports)
        0x00000000,   // Reserved 0, must be zero
        0x00000000})  // Reserved 1, must be zero
    
    Name(_PLD, Buffer(0x10){
        0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})
    
  • 若要指定外部 (使用者可見) 且可連線到外部裝置的埠, _UPC。PortIsConnectable 位元組必須設定為 0xFF 和 _PLD。UserVisible 位必須設定為 1。 _JSONPortConnectorType 位元組必須設定為 ACPI 3.0 規格第 9.13 節中指定的適當 USB 連接器類型。

    在下列範例中,裝置會指派新的裝置容器,並顯示為個別的實體裝置。

    Name(_UPC, Package(){
        0xFF,         // Port is connectable
        0x00,         // Connector type, Type 'A' in this case
        0x00000000,   // Reserved 0, must be zero
        0x00000000})  // Reserved 1, must be zero
    
    Name(_PLD, Buffer(0x10){
        0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
        0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})
    

ACPI 中必須正確描述 USB Type-C 連接器,才能通過 USB Type-C ACPI 驗證 硬體實驗室套件測試。

USB Type-C 連接器的範例_UPC:

      Name(_UPC, Package(4){
        0x01,                       // Port is connectable
        0x09,                       // Connector type: Type C connector - USB2 and SS with Switch
        0x00000000,                 // Reserved0 – must be zero
        0x00000000})                // Reserved1 – must be zero

如需 ACPI 6.0 介面的詳細資訊,請參閱 進階設定和電源介面規格修訂 6.0