GNU/Linux >> Znalost Linux >  >> Linux

USB Type-C, jak se řídí směr dodávky energie?

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

  1. datová komunikace
  2. dodávka energie.

Jedná se o téměř nezávislé funkce. Celá funkčnost závisí na tom, zda

  1. oba porty jsou hostitelé USB
  2. oba porty jsou zařízení USB
  3. jeden port je Dual-role-Data a druhý ne
  4. 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".


Linux
  1. Vypnutí napájení USB portu. Nebo vypnout napájení celého subsystému USB?

  2. Jak nastavit přesměrování vzdáleného portu na portu 80 k místnímu hostiteli s pomocí Setcap?

  3. Jak kočka pozná přenosovou rychlost sériového portu?

  1. Jak zjistit, zda je Shell řízen z Ssh?

  2. Jak určit přenosovou rychlost sériového portu?

  3. Jak zaznamenat IP adresy při pokusu o připojení k portu?

  1. Jak získat klíč USB k automatickému připojení?

  2. Jak získat oprávnění k úpravám na USB?

  3. Jak můžete identifikovat čipovou sadu USB zařízení v Linuxu?