News: 0001654947

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Linux 7.3 Will Begin Checking USB-C Cables For Alt-Mode Support

([Hardware] 6 Hours Ago USB-C cable checking)


The USB and Thunderbolt changes have been merged for [1]Linux 7.3 . Two changes stand out for me in the USB subsystem code with Linux 7.3. First, the kernel arguably being long overdue for checking USB-C cables capabilities whether they support alt-modes. Second, a new low-latency USB4STREAM option for lower latency data transfers between USB4-connected systems.

Beginning in Linux 7.3, the USB Type-C code is checking the cable alternate mode support. Up to now Linux wasn't actually checking for the underlying cable capabilities for alt-mode like for DisplayPort and Thunderbolt. This could lead to incorrectly advertised state configurations or initialization failures if trying to engage alternate modes with an unsupported USB cable.

The new code in Linux 7.3 is now checking for an identity header, if it's a passive cable with USB 2.0 speeds, and that active cables have corresponding plugs. This USB-C cable capability checking was added by Andrei Kuchynski of Google's Chrome OS team.

[2]

The USB code for Linux 7.3 also includes [3]the new busy poll option for USB4STREAM to provide lower latency but at the cost of increased CPU activity. Intel added USB4STREAM in Linux 7.2 for sending data packets between USB4/Thunderbolt-connected systems. Enabling "busy_poll" with USB4STREAM will now allow for lower latency data transfers.

There are also various other USB updates like Device Tree bindings for the ASpeed AST2700 DWC3 controller and other small changes.

The full list of USB and Thunderbolt changes for Linux 7.3 via [4]this pull request .



[1] https://www.phoronix.com/search/Linux+7.3

[2] https://www.phoronix.com/image-viewer.php?id=2026&image=usb_c_checking_lrg

[3] https://www.phoronix.com/news/USB4STREAM-Lower-Latency

[4] https://lore.kernel.org/lkml/ao2lTODMw1_aPWRP@kroah.com/



Creating computer software is always a demanding and painstaking
process -- an exercise in logic, clear expression, and almost fanatical
attention to detail. It requires intelligence, dedication, and an
enormous amount of hard work. But, a certain amount of unpredictable
and often unrepeatable inspiration is what usually makes the difference
between adequacy and excellence.