V Linuxu můžete ovládat směr napájení na daném portu zápisem „source“ nebo „sink“ do příslušného ovládacího prvku sysfs, např.:
# echo source >/sys/class/typec/port0/power_role
# cat /sys/class/typec/port0/power_role
[source] sink
Výraz v závorce označuje, jak aktuálně proudí energie. Viz dokumentaci jádra viz:https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-typec
To vše samozřejmě funguje pouze v případě, že zařízení připojené k portu USB Type-C podporuje Power Delivery. Nebude tedy fungovat s typickým napájecím adaptérem typu C ani s většinou přenosných baterií typu C, protože od roku 2019 zřídka podporují PD.
USB typu C připojené k sobě, jak se pak rozhodne, které nabíjí?
To vše je zatím zamotané nad rámec chápání. Konektor typu C má dvě role
- datová komunikace
- dodávka energie.
Jedná se o téměř nezávislé funkce. Celá funkčnost závisí na tom, zda
- oba porty jsou hostitelé USB
- oba porty jsou zařízení USB
- jeden port je Dual-role-Data a druhý ne
- jeden port je duální napájení
...
n. oba porty jsou DRD a DRP,
Tady jsem ztratil všechny permutace. UCSI je pokusem společnosti Microsoft zkrotit tuto obrovskou permutivitu do standardu API. Hlavní myšlenky najdete v této prezentaci a mnoha dalších publikacích o "rozhraní UCSI".