Di recente, Ben Lovejoy di 9to5Mac ha pubblicato un articolo sull’applicazione gratuita per Mac WhatCable, un’utility intelligente che legge le informazioni disponibili nei cavi USB-C dotati di marcatura elettronica e le presenta in un formato facile da comprendere. Per chiunque abbia un cassetto pieno di cavi USB-C quasi identici tra loro, il software può identificare rapidamente le capacità di ricarica, le velocità di trasferimento dati supportate, le specifiche USB e altre caratteristiche che altrimenti rimarrebbero nascoste all’utente.
Durante la lettura dell’articolo, una frase in particolare ha attirato immediatamente l’attenzione.
Verso la fine della recensione, Lovejoy osserva che l’applicazione non funziona in modo perfetto perché alcuni cavi possono mentire riguardo alle proprie capacità.
Sebbene quel commento fosse soltanto una breve osservazione sui cavi USB-C, mette in evidenza un concetto tecnico molto più ampio, applicabile praticamente a ogni dispositivo USB presente sul mercato. Che l’hardware sia un cavo USB-C, una chiavetta USB, un’unità SSD o persino un hub USB, esiste una distinzione importante tra ciò che un dispositivo dichiara su se stesso e ciò che test indipendenti dimostrano che sia effettivamente in grado di fare.
Per i lettori che hanno seguito di recente la nostra analisi sulla verifica dei dati USB e sul motivo per cui il ciclo di alimentazione è importante, il principio di fondo è sorprendentemente simile.
I moderni dispositivi USB comunicano costantemente informazioni su se stessi. Un cavo USB-C può contenere un chip eMarker che identifica la corrente di ricarica supportata, le velocità di trasferimento dati e le informazioni sul produttore. Le chiavette USB dichiarano la propria capacità di archiviazione, la versione USB e l’identificativo del produttore. Le unità SSD mantengono dati SMART che descrivono lo stato dell’unità, la vita residua e la temperatura operativa. In ciascuno di questi esempi, il computer host non misura in modo indipendente ogni caratteristica dichiarata. Mostra invece le informazioni fornite dal dispositivo stesso.
Nella stragrande maggioranza dei casi, queste informazioni sono accurate. Tuttavia, l’esperienza tecnica ha dimostrato più volte che i descrittori non equivalgono a una vera verifica. Da molto tempo le chiavette USB contraffatte dichiarano capacità molto superiori alla quantità di memoria NAND fisicamente installata. Alcuni cavi USB-C indicano occasionalmente livelli di prestazioni che non riescono a mantenere in modo costante nelle condizioni operative reali. I dispositivi di archiviazione possono segnalare uno stato eccellente mentre, sotto carichi di lavoro elevati, iniziano a svilupparsi guasti intermittenti. I descrittori stessi non sono necessariamente errati; rappresentano semplicemente ciò che il controller ritiene corretto oppure ciò che è stato programmato per dichiarare.
È proprio per questo motivo che la discussione sulla verifica dopo un ciclo di alimentazione è così interessante. Una verifica immediata conferma che i dati possono essere letti correttamente subito dopo essere stati scritti. Un ciclo di alimentazione pone invece una domanda diversa: dopo che il controller si è completamente spento, si è riavviato e ha ricostruito il proprio stato interno, i dati esistono ancora esattamente come previsto? La distinzione è sottile, ma importante. Un metodo convalida il completamento corretto di una transazione, mentre l’altro offre un test più rigoroso per determinare se i dati siano realmente rimasti memorizzati dopo il riavvio del dispositivo.
Niente di tutto questo dovrebbe essere interpretato come una critica all’applicazione WhatCable. Anzi, sembra fare esattamente ciò per cui è stata progettata. Presentare le capacità di un cavo in un linguaggio comprensibile è molto più utile che pretendere dagli utenti la decodifica manuale dei descrittori USB Power Delivery o dei dati eMarker. L’applicazione mostra semplicemente una realtà tecnica che esiste da decenni: il software può riportare soltanto ciò che l’hardware rende disponibile. Se le informazioni fornite dall’hardware sono incomplete o inaccurate, il software non può correggere autonomamente ogni limitazione.
La lezione più ampia è che i descrittori USB, i dati SMART, l’identificazione dei cavi e l’enumerazione dei dispositivi dovrebbero essere considerati tutti elementi informativi preziosi, ma non prove assolute di prestazioni o affidabilità. Rappresentano l’inizio di una valutazione, non la sua conclusione. Che l’obiettivo sia convalidare un cavo USB-C ad alta velocità oppure confermare l’integrità di supporti flash duplicati, un test significativo richiede comunque di osservare il comportamento dell’hardware nelle condizioni operative effettive. In ambito tecnico, esiste una differenza sostanziale tra un dispositivo che descrive le proprie capacità e un dispositivo che le dimostra in modo costante.