Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_meta is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_previous_publish_date is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_notification_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_6f8da8e8af3a88ac4c433fd0611a8dae is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_6f8da8e8af3a88ac4c433fd0611a8dae is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Intel porta USB4STREAM su Linux: backup e streaming via cavo USB4

Intel porta USB4STREAM su Linux: backup e streaming via cavo USB4

USB4STREAM introduce su Linux trasferimenti raw host-to-host tramite USB4 e Thunderbolt, senza stack TCP/IP e con supporto a backup, streaming e recovery. Ecco come funziona da punto di vista pratico.

Una semplice connessione USB4 potrebbe trasformarsi in un canale diretto tra due computer Linux, senza IP, senza socket e senza configurare interfacce di rete. Intel sta lavorando a una novità che punta proprio a questo obiettivo: trasferire dati grezzi tra host collegati tramite cavo Thunderbolt o USB4 usando un device character, ovvero tramite un file che consente la comunicazione a basso livello con l’hardware, accessibile dal filesystem. La funzionalità si chiama USB4STREAM e dovrebbe entrare nel kernel Linux 7.2 attraverso il nuovo driver thunderbolt_stream.

L’idea nasce da una constatazione molto pratica. In numerosi scenari tecnici il networking tradizionale introduce complessità inutile: stack TCP/IP, configurazioni SSH, firewall, DHCP, routing e servizi aggiuntivi che servono solo per spostare dati da una macchina all’altra. Intel prova quindi a sfruttare direttamente USB4/Thunderbolt come canale raw bidirezionale. In pratica il collegamento fisico diventa una sorta di bus dati host-to-host accessibile con le normali primitive read e write.

USB4 e Thunderbolt già consentono tunneling di protocolli come PCI Express e DisplayPort. La differenza, qui, è che Linux espone un’interfaccia estremamente minimale: il nodo /dev/tbstreamX. Qualsiasi software capace di leggere o scrivere su file descriptor può trasferire dati sull’altro host senza modifiche applicative. Intel non introduce un nuovo framework applicativo complesso, ma un meccanismo volutamente essenziale.

Come funziona USB4STREAM nel kernel Linux

Dal punto di vista architetturale, USB4STREAM utilizza tunnel interni verso Thunderbolt/USB4 per trasferire pacchetti tra host: il sistema evita completamente il passaggio nello stack networking del kernel.

Il lavoro porta la firma di Mika Westerberg, storico maintainer del sottosistema Thunderbolt Linux: le patch sono già finite nel branch “next” del repository Thunderbolt e, salvo ritardi nella merge window prevista per metà giugno, dovrebbero approdare nel kernel Linux 7.2.

Non si tratta comunque di una connessione “plug and play” automatica nel senso consumer del termine: prima di utilizzare uno stream bisogna configurarlo tramite ConfigFS, il filesystem virtuale usato dal kernel Linux per l’esposizione e la gestione dinamica di oggetti configurabili.

La configurazione avviene creando directory dentro /sys/kernel/config/thunderbolt/stream/. Ogni stream possiede identificativi chiamati HopID, usati dal fabric Thunderbolt per instradare i dati tra endpoint. Una volta completata la configurazione, il device appare come un file speciale: strumenti classici Unix come dd, cat, tar e gzip funzionano immediatamente senza modifiche.

Per esempio, un backup raw di un’unità NVMe può attraversare direttamente il cavo USB4. Ecco la configurazione sui due host coinvolti nella comunicazione avviata con l’utilità dd per la copia dei file:

  • host1: dd if=/dev/nvme0n1 of=/dev/tbstream0 bs=256k
  • host2: dd if=/dev/tbstream0 of=/tmp/backup.img bs=256k

Backup di emergenza e recovery senza rete

Uno degli scenari più concreti riguarda la gestione delle procedure di ripristino Linux: chi gestisce infrastrutture sa bene quanto sia scomodo predisporre funzionalità di networking dentro initramfs minimali. Bisogna includere moduli NIC, utility SSH, configurazioni IP e spesso gestire incompatibilità hardware.

USB4STREAM elimina quasi tutto questo: se due macchine possiedono porte USB4 o Thunderbolt compatibili, basta collegarle con un cavo certificato e creare lo stream. A quel punto il trasferimento funziona direttamente a livello file descriptor.

Intel menziona esplicitamente backup di emergenza eseguiti tramite initramfs, il file system temporaneo caricato all’avvio del sistema operativo prima del caricamento completo del kernel Linux. L’approccio ha diversi vantaggi tecnici: meno superficie d’attacco, meno dipendenze software e latenza ridotta. Inoltre si evita completamente il traffico di rete tradizionale, utile soprattutto in sistemi isolati o durante le attività di risposta agli incidenti (incident response).

USB4 già supporta velocità teoriche fino a 40 Gbps, mentre Thunderbolt 5 arriva a 80 Gbps bidirezionali e fino a 120 Gbps in modalità Bandwidth Boost. In condizioni reali entrano ovviamente in gioco controller, DMA engine, qualità del cavo e implementazione firmware.

Streaming video diretto tra sistemi Linux e condivisione di webcam

Tra gli esempi più curiosi forniti da Intel compare la condivisione di webcam tra computer differenti. Un laptop può acquisire video tramite V4L2 e inviarlo in tempo reale a un desktop attraverso /dev/tbstream0.

Prendiamo in esame questa dimostrazione pratica basata su GStreamer:

  • host1: gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1920,height=1080 ! jpegenc quality=90 ! filesink location=/dev/tbstream0
  • host2: gst-launch-1.0 filesrc location=/dev/tbstream0 ! jpegdec ! videoconvert ! autovideosink

USB4STREAM non impone un protocollo applicativo specifico: il driver trasporta byte grezzi; codifica, framing e sincronizzazione restano responsabilità dello spazio utente.

Da una parte è un vantaggio enorme perché lascia massima libertà agli sviluppatori. Dall’altra richiede attenzione: non esistono meccanismi integrati di affidabilità, ritrasmissione o controllo di congestione come accade con TCP. Per flussi video o trasferimenti bulk il modello funziona bene. In applicazioni più sensibili alla perdita di dati serviranno livelli applicativi aggiuntivi.

Perché USB4STREAM potrebbe interessare davvero gli amministratori Linux

Un’innovazione di primo piano come USB4STREAM intercetta esigenze concrete: recovery rapide, imaging di sistemi, trasferimenti offline, acquisizione video diretta e comunicazioni host-to-host senza dipendenze di rete.

Come abbiamo visto in precedenza, un amministratore Linux può usare strumenti Unix standard senza apprendere API proprietarie o framework dedicati: il cavo USB4 diventa un collegamento dati trasparente integrato nel ben noto modello Unix/Linux “everything is a file“.

Se il supporto entrerà davvero in Linux 7.2, è probabile che nei mesi successivi compaiano utilità più evolute, wrapper automatici e integrazioni con ambienti di disaster recovery. Si potrebbero persino realizzare sistemi RPC (Remote Procedure Call, cioè chiamate remote tra processi) o filesystem distribuiti utilizzando /dev/tbstreamX come canale di comunicazione dati.

La sensazione è che Intel abbia scelto volutamente una strada minimale: fornire un trasporto raw affidabile e lasciare alla comunità Linux il compito di costruire il resto.

Ti consigliamo anche

Link copiato negli appunti