In questo articolo Indice dei contenuti 3 sezioni
Quando una periferica USB si disconnette e riconnette in Windows senza che nessuno abbia toccato il cavo, quel doppio suono di sistema diventa presto familiare e decisamente fastidioso. A volte il dispositivo si blocca per un istante e poi riprende a funzionare. Altre volte Windows continua a trovarlo e perderlo in un ciclo che sembra non finire mai.
Il fenomeno può colpire mouse, tastiere, webcam, stampanti, adattatori Bluetooth, schede audio, hub e unità di archiviazione esterne. Il colpevole però non sempre si fa riconoscere al primo sguardo: un componente USB integrato nel computer può causare disconnessioni ripetute senza dare alcun segnale visibile, mentre il sistema operativo continua a riprodurre i suoni di collegamento e scollegamento. La strada più efficace passa dalla raccolta di indizi precisi, dall’identificazione della periferica coinvolta e dalla comprensione della fase della comunicazione in cui qualcosa si inceppa.
Perché Windows perde e ritrova la stessa periferica
Ogni volta che si collega un dispositivo USB, Windows avvia una procedura chiamata enumerazione. Il controller rileva la presenza della periferica sulla porta, ne determina le caratteristiche e acquisisce i descrittori necessari per riconoscerla. Il sistema associa quindi i driver adatti e rende disponibili le funzioni dell’apparecchio. Se il collegamento si interrompe, Windows registra un cambiamento nello stato della porta e ricomincia da capo l’identificazione.
Le cause possono essere diverse. Un calo di alimentazione può far ripartire l’elettronica del dispositivo, un cavo difettoso può disturbare la comunicazione pur lasciando passare corrente, un firmware instabile può rendere la periferica momentaneamente muta. Anche il passaggio dal funzionamento normale al risparmio energetico può creare guai, soprattutto quando driver o dispositivo gestiscono male la ripresa dell’attività.
Gli strumenti per scovare il dispositivo responsabile
Il primo controllo si fa premendo Windows+X e aprendo Gestione dispositivi. Dal menu Visualizza conviene scegliere Dispositivi per connessione al posto della classica vista per categoria. L’hardware appare così organizzato in una struttura ad albero, che rende più semplice capire quali periferiche dipendono dai controller USB e dagli hub intermedi. Osservando l’elenco mentre il problema si manifesta si possono notare voci che spariscono e ricompaiono. Il limite è evidente: se l’interruzione dura frazioni di secondo, l’occhio non fa in tempo a coglierla. I dispositivi compositi complicano ulteriormente le cose, perché una sola periferica può esporre più funzioni con voci distinte, come una webcam con microfono che compare sia tra i dispositivi video sia tra quelli audio.
Più preciso il ricorso a PowerShell, che offre un comando apposito per interrogare i dispositivi gestiti dal sistema Plug and Play. Gli identificativi restituiti contengono i codici VID e PID, cioè rispettivamente il produttore e il prodotto. Un piccolo script può confrontare ogni mezzo secondo due istantanee successive dell’elenco, segnalando con orario, nome e identificativo ciò che scompare e ciò che ritorna. Non modifica la configurazione e gira con i normali privilegi dell’utente, anche se una disconnessione rapidissima tra due campionamenti può sfuggire e nell’elenco finiscono pure dispositivi non USB, come smart TV e Xbox.
Per risalire alla porta e all’hub coinvolto torna utile USBView, utilità documentata da Microsoft che mostra controller host, hub, porte e periferiche, insieme ai descrittori e alle caratteristiche della connessione. Se tastiera e webcam si spengono insieme e dipendono dallo stesso hub, il guasto potrebbe riguardare proprio quell’hub. Non conserva però uno storico delle disconnessioni. In alternativa esiste UsbTreeView, gratuito e portabile, derivato dal codice di USBView e arricchito di funzioni aggiuntive.
Tracce diagnostiche e risparmio energetico
Quando la periferica è nota ma la causa no, entra in gioco Event Tracing for Windows, l’infrastruttura che raccoglie dati diagnostici direttamente dai componenti del sistema. Microsoft ne documenta l’uso per analizzare enumerazione, transizioni di stato delle porte, attività dei controller e gestione energetica. Con logman, già incluso in Windows e lanciato dal Prompt dei comandi come amministratore, si configura una sessione di tracciamento sui principali componenti dello stack USB, si riproduce il problema e poi si ferma la registrazione. Il file usbtrace.etl salvato nella cartella temporanea si può esaminare con strumenti compatibili come Windows Performance Analyzer, con un livello di dettaglio che dipende dai provider e dalla configurazione scelta.
Tra le cause possibili c’è anche USB Selective Suspend, il meccanismo con cui Windows sospende una singola porta o periferica inattiva senza fermare le altre, utile soprattutto sui notebook per ridurre i consumi. I problemi nascono quando driver, firmware o hub gestiscono male il ritorno dallo stato a basso consumo. Una periferica sospesa correttamente, comunque, resta riconosciuta dal sistema e quindi non equivale a una vera disconnessione.
Fonte: TecnoAndroid


