USB-C Connector System Software Interface (UCSI)-Treiber - Windows drivers (2024)

  • Artikel

Microsoft stellt einen USB Type-C-Connector® system software interface (UCSI) spezifikationskonformen Treiber für den ACPI-Transport bereit. Wenn Ihr Entwurf einen eingebetteten Controller mit ACPI-Transport enthält, implementieren Sie UCSI im BIOS/EC Ihres Systems, und laden Sie den integrierten UCSI-Treiber (UcmUcsiCx.sys und UcmUcsiAcpiClient.sys).

Wenn Ihre UCSI-konforme Hardware einen anderen Transport als ACPI verwendet, müssen Sie einen UCSI-Clienttreiber schreiben.

Treiber für die Unterstützung von USB-Typ-C-Komponenten für Systeme mit eingebetteten Controllern

Hier sehen Sie ein Beispiel für ein System mit einem eingebetteten Controller.

USB-C Connector System Software Interface (UCSI)-Treiber - Windows drivers (1)

Im vorherigen Beispiel wird der USB-Rollenwechsel in der Firmware des Systems durchgeführt, und der USB-Rollenwechseltreiberstapel wird nicht geladen. In einem anderen System wird der Treiberstapel möglicherweise nicht geladen, da die duale Rolle nicht unterstützt wird.

In der obigen Abbildung

  • GERÄTESEITIGE USB-Treiber

    Die geräteseitigen USB-Treiber bedienen die Funktion/das Gerät/Peripheriegerät. Die Erweiterung der USB-Funktionscontrollerklasse unterstützt MTP (Media Transfer Protocol) und das Laden mit BC 1.2-Ladegeräten. Microsoft bietet im Lieferumfang enthaltene Clienttreiber für Synopsys USB 3.0- und ChipIdea USB 2.0-Controller. Sie können einen benutzerdefinierten Clienttreiber für Ihren Funktionscontroller schreiben, indem Sie die Programmierschnittstellen des USB-Funktionscontroller-Clienttreibers verwenden. Weitere Informationen finden Sie unter Entwickeln von Windows-Treibern für USB-Funktionscontroller.

    Der SoC-Anbieter stellt Ihnen möglicherweise den USB-Funktionsuntergrenzer-Filtertreiber für die Ladegeräterkennung zur Verfügung. Sie können Einen eigenen Filtertreiber implementieren, wenn Sie den mitgelieferten Synopsys USB 3.0- oder ChipIdea USB 2.0-Clienttreiber verwenden.

  • USB-hostseitige Treiber

    Die hostseitigen USB-Treiber sind eine Reihe von Treibern, die mit EHCI- oder XHCI-kompatiblen USB-Hostcontrollern funktionieren. Die Treiber werden geladen, wenn der Rollenwechseltreiber die Hostrolle aufzählt. Wenn Ihr Hostcontroller nicht spezifikationskonform ist, können Sie mithilfe der UCX-Programmierschnittstelle (USB Host Controller Extension) einen benutzerdefinierten Treiber schreiben. Weitere Informationen finden Sie unter Entwickeln von Windows-Treibern für USB-Hostcontroller.

    Nicht alle USB-Geräteklassen werden auf Windows 10 Mobile unterstützt.

  • USB-Connector-Manager

    Microsoft stellt einen UCSI-In-Box-Treiber mit Windows (UcmUcsiCx.sys) bereit, der die in der Usb Type-C Connector System Software Interface Specification definierten Features implementiert. Die Spezifikation beschreibt die Funktionen von UCSI und erläutert die Register und Datenstrukturen für Entwickler von Hardwarekomponenten, Systementwicklern und Gerätetreibern.

    Dieser Treiber ist für Systeme mit eingebetteten Controllern vorgesehen. Dieser Treiber ist ein Client für den von Microsoft bereitgestellten USB-Connector-Manager-Klassenerweiterungstreiber (Ucmcx.sys). Der Treiber verarbeitet Aufgaben, z. B. das Initiieren einer Anforderung an die Firmware, um die Daten oder Energierollen zu ändern, und das Abrufen von Informationen, die zum Bereitstellen von Problembehandlungsmeldungen für den Benutzer erforderlich sind.

UCSI-Befehle, die für Windows erforderlich sind

Informationen zu Befehlen, die in allen UCSI-Implementierungen erforderlich sind, finden Sie in der UCSI-Spezifikation.

Zusätzlich zu den als Erforderlich markierten Befehlen erfordert Windows die folgenden Befehle:

  • GET_ALTERNATE_MODES
  • GET_CAM_SUPPORTED
  • GET_PDOS
  • SET_NOTIFICATION_ENABLE: Das System oder der Controller muss die folgenden Benachrichtigungen in SET_NOTIFICATION_ENABLE unterstützen:
    • Änderung der unterstützten Anbieterfunktionen
    • Ausgehandelte Energieebenenänderung
  • GET_CONNECTOR_STATUS: Das System oder der Controller muss diese status Änderungen in GET_CONNECTOR_STATUS unterstützen:
    • Änderung der unterstützten Anbieterfunktionen
    • Ausgehandelte Energieebenenänderung

Informationen zu den Aufgaben, die für die Implementierung von UCSI im BIOS erforderlich sind, finden Sie unter Intel BIOS-Implementierung von UCSI.

UCM-UCSI ACPI-Gerät für UCSI 2.0 und höher

Ab Windows 11 Version 22H2 September Update unterstützen die Windows UCM-UCSI ACPI-Gerätetreiber die UCSI-Spezifikationsversionen 2.0 und 2.1. Die UCSI-Spezifikation 2.0 weist breaking changes in der Speicherzuordnung ihrer Datenstrukturen auf, wie in der UCSI-Spezifikation Tabelle 3-1-Datenstrukturen definiert. Um die Abwärtskompatibilität aufrechtzuerhalten, benötigt Windows das UCSI PPM der Spezifikationsversion 2.0 oder höher, um die folgende _DSM-Funktion unter dem UCM-UCSI ACPI-Gerät in der ACPI-Firmware zu implementieren und einen Wert ungleich null zurückzugeben, um anzugeben, dass UCSI OPM der gemeldeten UCSI-Spezifikationsversion folgen sollte.

  • Arg0: UUID = 6F8398C2-7CA4-11E4-AD36-631042B5008F
  • Arg1: Revisions-ID = 0
  • Arg2: Funktionsindex = 5
  • Arg3: Leeres Paket (nicht verwendet)

Rückgabewert

ElementObjekttypBESCHREIBUNG
UsePpmReportedUcsiVersionGanze Zahl (32 Bit)0x00000000 (Standard): Wenn die VERSION Struktur, wie in UCSI-Spezifikationstabelle 3-1-Datenstrukturen definiert, den Wert 2,0 oder höher aufweist, folgt UCSI OPM weiterhin der UCSI-Spezifikation 1.2. Andernfalls folgt UCSI OPM der UCSI-Spezifikation gemäß dem Wert in der VERSION -Struktur.

Hinweis

Für UCM-UCSI ACPI-Geräte ist dies eine neue Funktion in einer vorhandenen _DSM-Methode. Andere Funktionen dieser _DSM-Methode sollten gemäß dem Intel BIOS-Implementierungsdokument des UCSI implementiert worden sein. Funktion 0, die eine Bitmaske aller unterstützten Funktionen zurückgibt, sollte entsprechend aktualisiert werden.

Beispielflow für UCSI

In den Beispielen in diesem Abschnitt wird die Interaktion zwischen USB Type-C-Hardware/-Firmware, UCSI-Treiber und Betriebssystem beschrieben.

DRP-Rollenerkennung

  1. USB Type-C Hardware/Firmware erkennt ein Device Attach-Ereignis, und das Windows 10 System-DRP-System wird zunächst zur UFP-Rolle.
    1. Die Firmware sendet eine Benachrichtigung, die eine Änderung des Connectors angibt.
    2. Der UCSI-Treiber sendet eine GET_CONNECTOR_STATUS-Anforderung.
    3. Die Firmware antwortet, dass ihr Verbindungsstatus = 1 und Connectorpartnertyp = DFP. ​
  2. Die Treiber im USB-Funktionsstapel reagieren auf die Enumeration.
  3. Die USB-Connector-Manager-Klassenerweiterung erkennt, dass der USB-Funktionsstapel geladen wurde und sich daher das System im falschen Zustand befindet. Er weist den UCSI-Treiber an, anforderungen set USB Operation Role und Set Power Direction Role an die Firmware zu senden.
  4. Usb Type-C Hardware/Firmware initiiert den Role-Swap-Vorgang mit dem DFP.

Erkennen einer Fehlerbedingung für einen Ladeladefehler

  1. USB Type-C Hardware/Firmware erkennt, dass ein Ladegerät angeschlossen ist, und handelt einen Standardstromvertrag aus. Es stellt auch fest, dass das Ladegerät nicht genügend Strom für das System bereitstellt.

  2. USB Type-C Hardware/Firmware legt das langsame Ladebit fest.

    1. Die Firmware sendet eine Benachrichtigung, die eine Änderung des Connectors angibt.
    2. Der UCSI-Treiber sendet eine GET_CONNECTOR_STATUS-Anforderung.
    3. Die Firmware antwortet mit Verbindungsstatus = 1, Connector-Partnertyp = DFP und Akkuladestatus = Langsam/Trickle.
  3. Die USB-Connector-Manager-Klassenerweiterung sendet eine Benachrichtigung an die Benutzeroberfläche, um die Meldung zur Problembehandlung für den Fehler des Ladegeräts anzuzeigen.

Testen von UCSI

Es gibt viele Möglichkeiten, Ihre UCSI-Implementierung zu testen. Verwenden Sie zum Testen einzelner Befehle in Ihrer UCSI BIOS/EC-Implementierung UCSIControl.exe, die im MUTT Software Pack bereitgestellt wird. Verwenden Sie zum Testen Ihrer vollständigen UCSI-Implementierung sowohl die UCSI-Tests, die im Windows Hardware Lab Kit (HLK) zu finden sind, als auch die Schritte in den manuellen Interop-Verfahren für Typ-C.

UCSIControl.exe

Sie können einzelne Befehle in Ihrer UCSI BIOS/EC-Implementierung testen, indem Sie UCSIControl.exe verwenden. Mit diesem Tool können Sie UCSI-Befehle über den UCSI-Treiber an die Firmware senden. Es erfordert, dass der Treiber geladen und ausgeführt wird und auch die Testschnittstelle für den Treiber aktiviert ist. Standardmäßig ist diese Schnittstelle nicht aktiviert, um zu verhindern, dass nicht autorisierte Benutzer auf einem Einzelhandelssystem darauf zugreifen können.

  1. Suchen Sie den Geräteknoten in Geräte-Manager (devmgmt.msc) mit dem Namen UCSI USB Connector Manager. Der Knoten befindet sich unter der Kategorie Universal Serial Bus-Controller .

  2. Halten Sie das Gerät gedrückt (oder klicken Sie mit der rechten Maustaste darauf), wählen Sie Eigenschaften aus, und öffnen Sie die Registerkarte Details .

  3. Wählen Sie in der Dropdownliste Geräteinstanzpfad aus, und notieren Sie sich den Eigenschaftswert.

  4. Öffnen Sie den Registrierungs-Editor (regedit.exe).

  5. Navigieren Sie unter diesem Schlüssel zum Instance Pfad des Geräts.

    <HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\device-instance-path>\Device Parameters

  6. Erstellen Sie einen DWORD-Wert mit dem Namen TestInterfaceEnabled , und legen Sie den Wert auf 0x1 fest.

  7. Starten Sie das Gerät neu, indem Sie auf dem Geräteknoten in Geräte-Manager die Option Deaktivieren auswählen und dann Aktivieren auswählen. Alternativ können Sie den PC neu starten.

Sie können die Hilfe anzeigen, indem Sie UcsiControl.exe /?ausführen.

Hier sind die allgemeinen Befehle:

UCSI-Befehlbefehl UcsiControl.exe
PPM-ZurücksetzungUcsiControl.exe Senden 0 1
Zurücksetzen des ConnectorsSoft Reset: UcsiControl.exe Send 0 10003

Hard Reset: UcsiControl.exe Send 0 810003

Festlegen der Aktivierung von BenachrichtigungenAlle Benachrichtigungen: UcsiControl.exe Send 0 ffff0005

Nur Befehlsabschluss: UcsiControl.exe Send 0 00010005

Keine Benachrichtigung: UcsiControl.exe Send 0 00000005

Abrufen der FunktionUcsiControl.exe Senden 0 6
Abrufen der ConnectorfunktionUcsiControl.exe Senden 0 10007
Festlegen von UOMDFP: UcsiControl.exe Send 0 810008

UFP: UcsiControl.exe Senden von 0 1010008

DRP: UcsiControl.exe Send 0 2010008

Festlegen von UORDFP: UcsiControl.exe Send 0 810009

UFP: UcsiControl.exe Send 0 1010009

Akzeptieren: UcsiControl.exe Senden von 0 2010009

Festlegen von PDRAnbieter: UcsiControl.exe Send 0 81000B

Consumer: UcsiControl.exe Send 0 101000B

Annehmen: UcsiControl.exe Senden 0 201000B

Abrufen von PDOsLokale Quelle: UcsiControl.exe Senden von 7 00010010

Lokale Senke: UcsiControl.exe Senden von 3 00010010

Remotequelle: UcsiControl.exe Send 7 00810010

Remotesenke: UcsiControl.exe Send 3 00810010

Abrufen des ConnectorstatusUcsiControl.exe Send 0 010012
Abrufen des FehlerstatusUcsiControl.exe Senden 0 13
USB-C Connector System Software Interface (UCSI)-Treiber - Windows drivers (2024)

FAQs

Do you need drivers for USB-C? ›

A USB Connector Manager Driver is required for Windows to manage the USB Type-C ports on a system.

How to install USB-C drivers in Windows 10? ›

Follow these steps to download and update the USB Type-C driver manually.
  1. Hold down Windows+R to open the Run window and type devmgmt.
  2. Double-click Universal Serial Bus controllers and expand it.
  3. Locate the USB-C device, right-click, and select the Update Driver.
Jul 20, 2023

What is UCSI in BIOS? ›

Microsoft provides a USB Type-C® connector system software interface (UCSI) specification-compliant driver for ACPI transport. If your design includes an embedded controller with ACPI transport, implement UCSI in your system's BIOS/EC and load the in-box UCSI driver (UcmUcsiCx.

Does Windows 10 support USB-C? ›

USB-C overview

With a USB-C connection, you can charge your Windows 10 PC, and you can also connect to other USB Type-C devices such as mobile phones, docking stations, display adapters, and other devices that have a USB-C port.

What is a USB-C driver? ›

It is designed to allow users to connect their devices to their computers using USB-C technology, which provides faster data transfer speeds and higher power delivery capabilities. The NVIDIA USBC Driver supports a variety of devices, including smartphones, tablets, and other peripherals that have USB-C connections.

Why do you need USB-C on PC? ›

USB-C is more compact than its predecessors, reversible in connectivity (vertical orientation doesn't matter for a USB-C connection), and compatible with a number of connection types like USB-A, HDMI, Thunderbolt™ 3, etc.

How to check if a USB-C port is working? ›

The easiest way to check it will be to connect the device via the usb port and open device manager by right clicking on the start button. The device should be shown under usb devices. Test another device on the same port too using a different cable.

Why is my laptop not recognizing my monitor through USB-C? ›

If the USB Type-C device is still not detected and not working well either, then the USB Type-C device may be faulty. We suggest you contact the device manufacturer. If you are using the USB device via a USB Type-C docking (USB hub), try connecting the USB device to the computer directly.

How do I manually install USB drivers on Windows? ›

Open Device Manager and locate the device. Select and hold (or right-click) the device and select Update driver software... from the context menu. In the wizard, select Browse my computer for driver software. Select Let me pick from a list of device drivers on my computer.

What is USB-C UCSI? ›

Describes the specifications and capabilities of the USB Type-C Connector System software Interface (UCSI), and explains the registers and data structures, for hardware component designers, system builders, and device driver developers.

How to fix ucm ucsi ACPI device error? ›

Expand the "System devices" category, right-click on "UCSI ACPI Device" and select "Update driver". Reset the UCSI driver: In the Device Manager, right-click on "UCSI ACPI Device" and select "Uninstall device". Then restart your computer. Windows should automatically reinstall the driver.

What is ACPI configuration? ›

(Advanced Configuration and Power Interface) A power management specification developed by Intel, Toshiba and Microsoft that makes hardware status information available to the operating system. ACPI enables a PC to turn its peripherals on and off for improved power management, especially in portables.

Why is my USB-C adapter not working? ›

If you experience this problem, try connecting the USB-C to USB Adapter and USB device through a USB hub. If there is insufficient power, please use a self-powered USB hub. Also, the computer may recognize the device if you connect it to a different Thunderbolt port or reverse the sides of the Thunderbolt connector.

How to reinstall USB drivers? ›

Disconnect your device and restart your computer. Reconnect your device and wait for Windows to detect and install the driver automatically. Alternatively, you can also download the driver from the device manufacturer's website and install it manually.

Why is my USB-C socket not working? ›

Check if the USB-C port is clean and free of debris. Use a soft-bristled brush or compressed air to clean it. Sometimes, dust or debris can accumulate in the port and cause connectivity issues. Try using a different USB-C cable or device to see if the issue is with the cable or device.

Do USB-C monitors need drivers? ›

No need to install the driver, just connect the cable. **Plug-and-play only supports "Video function" on the USB Type C port of the computer and the monitor device**. (It is recommended that the portable monitor be connected to the power source).

Do USB-C docks need drivers? ›

While USB-C and Thunderbolt work out of the box, DisplayLink requires a software driver. Without it, it will function as a generic USB-C dock.

What are the requirements for USB-C? ›

All USB-C cables must be able to carry a minimum of 3 A current (at 5 V, for 15 W) but some can carry 5 A current (at 20 V, for 100 W). USB-C to USB-C cables supporting 5 A current must contain e-marker chips (also marketed as E-Mark chips) programmed to identify the cable and its current capabilities.

Does USB-C to HDMI need a driver? ›

Do I need to download any software or drivers before using this cable? No.

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Ms. Lucile Johns

Last Updated:

Views: 5267

Rating: 4 / 5 (61 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Ms. Lucile Johns

Birthday: 1999-11-16

Address: Suite 237 56046 Walsh Coves, West Enid, VT 46557

Phone: +59115435987187

Job: Education Supervisor

Hobby: Genealogy, Stone skipping, Skydiving, Nordic skating, Couponing, Coloring, Gardening

Introduction: My name is Ms. Lucile Johns, I am a successful, friendly, friendly, homely, adventurous, handsome, delightful person who loves writing and wants to share my knowledge and understanding with you.