Neobjeví se nové síťové rozhraní po spojení PC přes USB4

Chci spojit dva počítače přes USB-C4 port a vytvořit mezi nimi point to point LAN.  OS je Win 11 ročník 23.  Vletím do problematiky takhle přímo. Po spojení se mi v ncpa.cpl neobjeví nové síťové rozhraní? Zkoušel jsem thunderbolt 3 kabel a dva plnohodnotné USB-C kabely.
Je třeba něco povolit v UEFI? Nebo nainstalovat driver? Nebo musí USB port mít přímo podporu síťování? (Jako se rozlišuje obrazový výstup, vyšší napájení nad 15W) , porty obou počítačů umí i DP Alt mode. Je potřeba driver?
Architektury jsou Zen4+


Jakou uvidím linkovou rychlost a jaká rychlost bude skutečně dosažitelná přes USB4? Například v OS X thunderbolt adaptér měl 10Gbps.


RDa

  • *****
  • 2 738
    • Zobrazit profil
    • E-mail
Re:Neobjeví se nové síťové rozhraní po spojení PC přes USB4
« Odpověď #1 kdy: 24. 11. 2024, 13:48:38 »
Virtualni ethernet je imho zalezitost Intelovych cipu/driveru pro TBT, na USB4 nic takoveho ve standardu neni?

Pokud by USB4 umelo PCIe NTB, tak pak existuji reseni ktere takovou sitovku postavi nad NTB/RDMA, napr v linuxu to existuje ("NTB virtual ethernet device"):
https://events.static.linuxfound.org/sites/events/files/slides/Linux%20NTB_0.pdf

A pokud by to nemelo byt po NTB/PCIe, tak nema USB3 nejaky specialni P2P rezim, kdy se propoji dva Type-A porty krizenym kabelem? To by mohlo v TypeC jet pak rychleji.

To nebude záležitost jen intelu, vždyť virtuální USB síťovku vytváří i hotspot v telefonu, pokud se mu povolí USB tethering. Ale out-of-the-box to tam pravda asi nebude :-)

Ten telefon má USB OTG, tedy jeho USB řadič se umí přepínat mezi USB host a USB device. Jenže většina x86 čipsetů umí jen USB host (kromě např. některých Atomů, ale tady bylo zmiňované AMD). Nedovedu si představit, jak by se domluvili dva USB hosts.

Chápal bych, že by se USB-C konektor mohl přepnout do nějakého jiného ne-USB režimu, něco jak zmiňuje RDa. Ale standardní USB ethernet si bez režimu USB device na jedné straně kabelu nedovedu představit.
« Poslední změna: Dnes v 08:41:52 od redustin »

Zajímavý dotaz.
Předně je pro mě novinka (v mé noře) že USB4 už je na trhu. To bude tím, že už pár let gigahertzy nehoním.

Jak už psali ostatní, USB odpradávna striktně rozlišuje host vs. device (master vs. slave). Hostitel drží otěže. Výjimky z tohoto pravidla:

a) USB OTG = zařízení se umí tvářit podle situace/konfigurace/kabelu jako host nebo jako device.

b) na rozdíl od fyzické vrstvy USB 1.1/2.0, kde je jasně daný host/device i na úrovni linkových budičů, od trojky výš běží signál po dvou symetrických párech, každým směrem jeden. A kabel USB-C / USB-C má signálové páry prokřížené. Takže ať zapojíte kabel mezi USB hostitele a koncové zařízení, nebo mezi dva hostitele navzájem, bude sedět RX proti TX (nepůjdou dva linkové budiče proti sobě). To zní zajímavě.
Nicméně "role" na vyšších vrstvách komunikace jsou stále vcelku pevně dány.

c) na USB-C konektoru (pokud je toto podporováno čipsetem uvnitř) mohou vyvěrat alternativní funkce, např. PCI-e nebo TMDS=HDMI. A PCI-e má také symetrickou fyzickou (elektrickou) vrstvu.

Ani na USB, ani na PCI-e ale není nějak automatická funkce, že když dva "hostitele" zapojíte křížem proti sobě (což v rovině elektrické vrstvy a pinoutu asi jde a doutnat to nebude), tak že by se měli nějak navzájem "očichat" a jeden druhému se prezentovat jako "endpoint typu síťovka".

Dovedl bych si teoreticky představit externí box, který se bude tvářit vůči oběma hostitelům jako "device" - takový by mohl emulovat na obou (všech) svých "device" portech virtuální síťovky a realizovat tak např. virtuální Ethernet mezi více zařízeními.

Něco v tom smyslu jsem snad kdysi zahlédl jako vedlejší feature nějakých čipů typu "multi-root PCI-e switch" (obvykle též s podporou SR-IOV, což ale přímo nesouvisí) - které se vyskytují v backplanech některých žiletkových šasi. Jestli správně šilhám do Googlu, ta fičura se nejspíš jmenovala "non-transparent bridging", vidím to v PR materiálech tehdejší křemíkové firmy PLX (dnes patrně Microchip) kolem roku 2010. Údajně to dávalo v HPC clusterech latence o něco kratší než Infiniband. Hele: 1 2


RDa

  • *****
  • 2 738
    • Zobrazit profil
    • E-mail
Dovedl bych si teoreticky představit externí box, který se bude tvářit vůči oběma hostitelům jako "device" - takový by mohl emulovat na obou (všech) svých "device" portech virtuální síťovky a realizovat tak např. virtuální Ethernet mezi více zařízeními.

Něco v tom smyslu jsem snad kdysi zahlédl jako vedlejší feature nějakých čipů typu "multi-root PCI-e switch" (obvykle též s podporou SR-IOV, což ale přímo nesouvisí) - které se vyskytují v backplanech některých žiletkových šasi. Jestli správně šilhám do Googlu, ta fičura se nejspíš jmenovala "non-transparent bridging", vidím to v PR materiálech tehdejší křemíkové firmy PLX (dnes patrně Microchip) kolem roku 2010. Údajně to dávalo v HPC clusterech latence o něco kratší než Infiniband. Hele: 1 2

Takovy box neni treba, kdyz je ten ethernet virtualni, tak funguje ciste na softwarove bazi, treba prave nad NTB.

Ta firma Dolphin prave nabizi krome hw i svoje uzavrene sw reseni postave nad NTB (a zrejme patricne vendor locknute):
https://www.dolphinics.com/products/embedded-sisci-developers-kit.html

Prime propojovani USB3 krizenym kabelem, viz:
https://superuser.com/questions/795053/how-do-i-connect-two-computers-using-usb-3-0
hlavne odpoved s patchem - ze pak staci zapisovat do EP a objevi se magicky na druhe strane
https://lkml.org/lkml/2016/2/21/14


Prime propojovani USB3 krizenym kabelem, viz:
https://superuser.com/questions/795053/how-do-i-connect-two-computers-using-usb-3-0

hlavne odpoved s patchem - ze pak staci zapisovat do EP a objevi se magicky na druhe strane
https://lkml.org/lkml/2016/2/21/14

Pokud to dobre chapu, ten patch jenom pridava  USB-device IDs pro cip Prolific PL-27A1 do normalniho USB net driveru. IMO ten cip jsou dve rozhrani USB device propojene nejakym bridgem. Dle typu obsahuje firmware na emulaci RNDIS, CDC/ACM a WINUSB standardu https://www.prolific.com.tw/US/ShowProduct.aspx?p_id=247&pcid=43 . Kabel pak zrejme na jedne strane v konektoru obsahuje ten cip, podobne jako napr. kabely USB-audio apod. Tudiz z pohledu obou OS se to tvari jako normalni USB sitovka.

Aspon tak jsem pochopil ty popisy a patch.

Ten flag FLAG_POINTTOPOINT bych řekl, že se používá jen pro změnu názvu zařízení na eth... https://elixir.bootlin.com/linux/v6.12/A/ident/FLAG_POINTTOPOINT https://elixir.bootlin.com/linux/v6.12/source/drivers/net/usb/usbnet.c#L1769, všechny ostatní výskyty jsou jeho nastavení pro konkrétní zařízení.

RDa

  • *****
  • 2 738
    • Zobrazit profil
    • E-mail
Aspon tak jsem pochopil ty popisy a patch.

Mas pravdu, jsem cekal ze to je host controller, a on to je bridge cip.

Tak pro bezne uziti zrejme zustava standardni OTG, a nutnost prekonfigurovat USB3 radic na device-mode, ktery je beznejsi u embedded veci (napr. nvidia tegra), nez u PC.

Pak jsem nasel USB3 device only reseni (zrejme urceno pro NAS krabici s DAS featurama):
http://www.hwtools.net/Adapter/PP3380-AB.html



Citace
Pak jsem nasel USB3 device only reseni (zrejme urceno pro NAS krabici s DAS featurama):
http://www.hwtools.net/Adapter/PP3380-AB.html

Vida, díky za tip, netušil jsem, že existuje USB-device řešení i pro x86 (kromě těch pár low-power čipsetů). Cena 220USD je tedy raketa, ale chápu, že jde o evaluation board...

V ARMu je to jednodušší, tam jsou SoCy a rovnou SBCs s dual OTG dwc3.