Unter Linux können Sie die Stromrichtung an einem bestimmten Port steuern, indem Sie „source“ oder „sink“ in das entsprechende sysfs-Steuerelement schreiben, z. B.:
# echo source >/sys/class/typec/port0/power_role
# cat /sys/class/typec/port0/power_role
[source] sink
Der Begriff in Klammern gibt an, wie der Strom gerade fließt. Siehe Kernel-Dokumentation siehe:https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-typec
All das funktioniert natürlich nur, wenn das am USB Type-C Port angeschlossene Gerät Power Delivery unterstützt. Es funktioniert also nicht mit einem typischen Typ-C-Netzteil oder den meisten tragbaren Typ-C-Batterien, da sie PD ab 2019 nur selten unterstützen.
USB Typ C miteinander verbunden, wie wird dann entschieden, was welche lädt?
Das ist alles bisher unverständlich verworren. Typ-C-Konnektor hat zwei Rollen
- Datenübertragung
- Leistungsabgabe.
Dies sind nahezu unabhängige Funktionen. Die gesamte Funktionalität hängt davon ab, ob
- beide Ports sind USB-Hosts
- beide Ports sind USB-Geräte
- Ein Port ist Dual-Role-Data und ein anderer nicht
- Ein Port ist Dual-Role-Power
...
n. beide Ports sind DRD und DRP,
Ich habe hier alle Permutationen verloren. Die UCSI ist ein Versuch von Microsoft, diese enorme Permutivität in den API-Standard zu zähmen. Wichtige Ideen finden Sie in dieser Präsentation und vielen weiteren Veröffentlichungen zum Thema "UCSI-Schnittstelle".