惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
博客园 - 聂微东
IT之家
IT之家
The Cloudflare Blog
L
LangChain Blog
Last Week in AI
Last Week in AI
T
Tailwind CSS Blog
P
Proofpoint News Feed
aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
I
Intezer
Martin Fowler
Martin Fowler
MongoDB | Blog
MongoDB | Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
ThreatConnect
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
小众软件
小众软件
T
The Exploit Database - CXSecurity.com
H
Help Net Security
T
Tenable Blog
WordPress大学
WordPress大学
F
Future of Privacy Forum
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
NISL@THU
NISL@THU
The Register - Security
The Register - Security
A
About on SuperTechFans
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MyScale Blog
MyScale Blog
Malwarebytes
Malwarebytes
博客园_首页
T
Threatpost
C
CERT Recently Published Vulnerability Notes
Know Your Adversary
Know Your Adversary
T
Threat Research - Cisco Blogs
V
Vulnerabilities – Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
Blog — PlanetScale
Blog — PlanetScale
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
K
Kaspersky official blog
月光博客
月光博客
Jina AI
Jina AI
S
Securelist
Hugging Face - Blog
Hugging Face - Blog
G
GRAHAM CLULEY
腾讯CDC
S
Secure Thoughts
V
V2EX - 技术

Phoronix

Linux To Drop ARCnet Support For Old ISA & PCMCIA Hardware Redis 8.8 Released With New Array Data Structure, More Performance Optimizations California's Age Verification Law May End Up Exempting Most Linux Distributions Linux 7.1-rc5 Released With Fixes Ramping Up From AI Coding Agents GitHub Copilot & Claude Code Helped With Graphics, WiFi Linux Driver Issues This Week FreeBSD Foundation Executive Director Tries Daily Driving FreeBSD On Laptop Linux To Remove ISA Speech Synthesizer Driver That Likely Hasn't Been Used In Decades KernelScript: A Programming Language For Kernel Customization & App Optimizations Boot-Time Wizard Aims To Help Reduce Linux Boot Times Rust-Based Wild Linker 0.9 Brings New Platform Coverage, Linker Plugin API Linux Mint Making Improvements To Its File Manager, Theme & Dialogs Intel's Latest Round Of Open-Source Projects Ended: OBS Studio Plugin, CVE Binary Tool & More AV2 Codec Looks Like It Will Be Officially Released Next Week KDE Plasma 6.8 To Support System Monitor With Intel Xe, Plasma 6.7 Sees More Crash Fixes More ASUS & HP Laptops See Platform Driver Support For Linux 7.1-rc5 DreamWorks' Open-Source MoonRay Renderer Now Part Of The Academy Software Foundation FreeBSD 15.1-RC1 Released: Fixes With Now Seeing More AI-Discovered Security Issues GNOME Commander 2.0 Released Following Rewrite In Rust & GTK4 Linux Sound Subsystem Also Seeing Many Fixes Driven By AI/LLMs Linux 7.1 Merges AMD Dynamic EPP Fixes, Intel Bartlett Lake Scaling Fix OpenCL 3.1.1 Released To Address A Possible Performance Regression systemd 261-rc1 Released With OS Installer, IMDS Subsystem & New storagectl Linux Provides Better Performance With The AMD Ryzen 9 9950X3D2 Over Windows 11 HP Panther Lake Systems Now Have Intel ISH Firmware For Linux AMD PMC Linux Driver Preps For Zen 6 CPUs Proposed Multi-Thread Parallel Compilation "MTPC" For LLVM Is Great News Expanded Reset Support Coming For AMDGPU To Recover From More GPU Compute Hangs Today's Linux Networking Fixes: "Craziness Continues With No End In Sight" CHUWI's $449 USD Wildcat Lake Laptop Should Work Fine With Linux Linux 7.2 To Enable SR-IOV Support For Intel Nova Lake's Xe3P Graphics SUSE/openSUSE Agama Installer Now Warns For No-Desktop Installs, Supports systemd-boot NVIDIA RTX PRO Blackwell Performance Delivering Excellent Linux Performance KMSCON 10.0 Released With Natural Scrolling Option, Libseat VT Support Ryzen AI AMDXDNA Driver Adding Expandable Heap Support With Linux 7.2 VKD3D 2.0 Released For Wine's Direct3D 12 Implementation Atop Vulkan AlmaLinux To Unveil Media/Entertainment Linux OS Edition More AMDGPU Driver Fixes Prepped For Linux 7.2 chipStar 1.3 Released For Running HIP/CUDA Code On SPIR-V With OpenCL New Patches Allow The Microsoft Surface Pro 9 5G To Be More Useful Under Linux
Intel Introducing USB4STREAM Protocol For Linux - Opening Up Some Nifty Uses For USB4
Michael Lara · 2026-05-25 · via Phoronix

INTEL

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 real use-case for this is to take a backup as a part of recovery initramfs tooling (no need to setup networking or have ssh or similar tooling as part of the initramfs). Say we want to backup the disk of host1 to host2. First Thunderbolt/USB4 cable is connected between the hosts (there can be devices in the middle too) then the receiving side configures the stream:

host2 # mkdir /sys/kernel/config/thunderbolt/stream/0-1.0
host2 # mkdir /sys/kernel/config/thunderbolt/stream/0-1.0/backup
host2 # echo -1 > /sys/kernel/config/thunderbolt/stream/0-1.0/backup/in_hopid
host2 # echo -1 > /sys/kernel/config/thunderbolt/stream/0-1.0/backup/out_hopid

We use automatic HopID allocation (writing -1 to HopIDs) for simplicity. From this point forward the /dev/tbstream0 can be used pretty much as regular file:

host2 # dd if=/dev/tbstream0 of=/tmp/host1.nvme0n1.backup-$(date +%F) bs=256k

The host that is being backed up then configures the stream accordingly:

host1 # mkdir /sys/kernel/config/thunderbolt/stream/0-503.0
host1 # mkdir /sys/kernel/config/thunderbolt/stream/0-503.0/backup

Here we take advantage of the fact that host2 also announces the active streams through XDomain properties so the name "backup" gives us the HopIDs. It is also possible to configure them manually in the same way we did for host2.

Then it is just a matter of copying the data over:

host1 # dd if=/dev/nvme0n1 of=/dev/tbstream0 bs=256k

Similarly it is possible to transfer parts of the filesystem. For example copy contents of mydir over to the host2:

host2 # gunzip < /dev/tbstream0 | tar xf -
host1 # tar cf - mydir | gzip > /dev/tbstream0

Other end of the spectrum use-case is "borrowing" laptop (host1) camera to desktop (host2):

host2 # gst-launch-1.0 filesrc location=/dev/tbstream0 ! jpegdec ! videoconvert ! autovideosink

host1 # gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1920,height=1080 ! jpegenc quality=90 ! filesink location=/dev/tbstream0

Once the streams are no longer needed they can be removed:

host1 # cd /sys/kernel/config/thunderbolt/stream/
host1 # rmdir -p 0-503.0/backup

host2 # cd /sys/kernel/config/thunderbolt/stream
host2 # rmdir -p 0-1.0/backup"

The patch is in the Thunderbolt.git's "next" branch. With those patches making it into the "next" branch, assuming it's then submitted in time for the USB/Thunderbolt Git tree proper ahead of the Linux 7.2 merge window in mid-June, this nifty protocol should make it for the Linux 7.2 kernel.

USB4STREAM

There is also this documentation patch that further lays out how to make use of USB4STREAM and its innovative capabilities.