Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn das System ACPI-BIOS-Änderungen erfordert, um die USB-Portkonfiguration genau widerzuspiegeln, sollten Sie beim Konfigurieren des Ports die Möglichkeit des Benutzers berücksichtigen, ein Gerät mit dem Port zu verbinden.
Wenn Sie ACPI verwenden, um die Konfiguration eines USB-Ports anzugeben, müssen Sie die Objekte USB-Portfunktionen (_UPC) und physische Standortbeschreibung (_PLD) definieren. Obwohl die ACPI 6.0-Spezifikation die Verwendung nur des _UPC-Objekts nicht ausdrücklich verbietet, gibt die Verwendung beider Objekte genauer an, dass der Benutzer Geräte mit dem Port verbinden kann. Wenn Sie nur das _UPC -Objekt verwenden , wird die Gerätecontainergruppierung möglicherweise nicht ordnungsgemäß oder wie erwartet festgelegt.
Geräte, die an den Port angeschlossen sind, können vom Hub entfernt werden, wenn das DeviceRemovable-Bit festgelegt ist. Die folgende Tabelle zeigt, wie sich die Werte der ACPI-Objekte für einen bestimmten Port auf den Wert des USB-Hub-Deskriptors DeviceRemovable auswirken, das Windows für das Gerät meldet.
USB-Anschlussstatus | Beispiel | _UPC. PortIsConnectable byte | _PLD. UserVisible Bit (Bit 64) | Resultierender DeviceRemovable Bit-Wert |
---|---|---|---|---|
Port ist sichtbar, und der Benutzer kann Geräte frei verbinden und trennen. |
Port wird auf der Vorderseite eines Bereichs auf dem Computer verfügbar gemacht, der für den Benutzer sichtbar ist. |
Festlegen (0xFF) |
Festlegen (1) |
Set |
Der Port ist ausgeblendet oder intern, und der Benutzer kann Geräte nicht frei verbinden und trennen. |
Der Anschluss wird direkt mit einem integrierten Gerät verbunden, z. B. einer Laptop-Webcam oder einem internen USB-Hub. |
Festlegen (0xFF) |
Gelöscht |
Gelöscht |
Der Port wird vom USB-Hostcontroller physisch implementiert, aber nicht verwendet. |
Port ist ein überschüssiger Port, der nicht mit einem Anschlussterminal oder einem integrierten Gerät verbunden ist. |
Gelöscht (0x00) |
Clear |
Gelöscht |
Hinweis Es ist eine ungültige Konfiguration, um einen Port als nicht verbunden, aber für den Benutzer sichtbar zu definieren.
Die folgenden Beispiele zeigen eine korrekt formatierte ACPI-Quellsprache (ACPI Source Language, ASL), die die Verwendung der _UPC - und _PLD-Objekte zum Beschreiben eines USB-Ports veranschaulicht:
Um einen port anzugeben, der intern (nicht vom Benutzer sichtbar) ist und mit einem integrierten Gerät verbunden werden kann, _UPC. PortIsConnectable byte muss auf 0xFF und die _PLD festgelegt werden . UserVisible Bit muss auf 0 festgelegt werden.
Im folgenden Beispiel wird das Gerät mit dem Gerätecontainer des Computers gruppiert.
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})
Um einen port anzugeben, der extern ist (Benutzer sichtbar) und mit einem externen Gerät verbunden werden kann, _UPC. PortIsConnectable byte muss auf 0xFF und die _PLD festgelegt werden . UserVisible Bit muss auf 1 festgelegt werden. Der _UPC. PortConnectorType-Byte muss auf den entsprechenden USB-Anschlusstyp festgelegt werden, wie in Abschnitt 9.13 der ACPI 3.0-Spezifikation angegeben.
Im folgenden Beispiel wird dem Gerät ein neuer Gerätecontainer zugewiesen und als separates physisches Gerät angezeigt.
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})
Ein USB-Typ-C-Anschluss muss in ACPI ordnungsgemäß beschrieben werden, um den Test des USB Type-C ACPI Validation Hardware Lab Kit zu bestehen.
Beispiel _UPC für einen USB-Typ-C-Anschluss:
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
Weitere Informationen zur ACPI 6.0-Schnittstelle finden Sie unter Advanced Configuration and Power Interface Specification Revision 6.0.