Intel Introducing USB4STREAM Protocol For Linux – Opening Up Some Nifty Uses For USB4

Intel Introducing USB4STREAM Protocol For Linux – Opening Up Some Nifty Uses For USB4

Intel Introducing USB4STREAM Protocol For Linux – Opening Up Some Nifty Uses For USB4

https://www.phoronix.com/news/Intel-Linux-USB4STREAM

Publish Date: 2026-05-25 06:46:00

Source Domain: www.phoronix.com

An exciting Intel innovation expected to be added for the upcoming Linux 7.2 kernel is introducing the new USB4STREAM protocol for USB4/Thunderbolt as a “super simple” way to “basically just transfer raw packets from one host to another”. This can be useful for quickly backing up a system from one host to another, sharing of web cameras or other peripherals across systems, or other environments where not having networking or wanting to avoid the traditional Linux networking stack.

Intel Thunderbolt maintainer Mika Westerberg has been working on the USB4STREAM support with the thunderbolt_stream driver that looks like it’s all buttoned up in time for next month’s Linux 7.2 merge window.

The thunderbolt_stream driver exposes /dev/tbstreamX devices on each host of a directly-connected USB4/Thunderbolt cable. From there data can be transferred using regular file-system operations, e.g. you can dd or cat from one system to another or similar commands.

USB4STREAM laptop setup

Westerberg further elaborated on the patch introducing the USB4STREAM support to the Linux kernel with some additional use-cases/examples:

“Introduce USB4STREAM protocol and Linux implementation. This allows two (or more) hosts to transfer data directly over Thunderbolt/USB4 cable through a character device without need to go through the network stack.

Any application that supports read(2) and write(2) in some form should be able to use the device without changes. The data is sent out to the other side over a tunnel inside Thunderbolt/USB4 fabric. The character device is called /dev/tbstreamX where X is the minor number starting from 0.

All stream devices need to be configured first. This is done through ConfigFS interface. There can be multiple streams at the same time (this depends on number of DMA rings and available HopIDs) and a single stream supports traffic in both directions. For example there could be an application that uses one stream as control channel and another one as bi-directional data channel.

A…

Source