Perché il mio computer diventa "Nuovo dispositivo USB" ogni volta che ne inserisco uno in una porta diversa?


47

Diciamo che ho un topo. Collego questo mouse nello slot 1 su 4 di un computer. Passa attraverso il nuovo dispositivo rilevato e tutto il resto, il che va bene. Ma se torno più tardi con lo stesso mouse e lo inserisco nello slot 3, fa di nuovo il rilevamento! Perchè è questo?


3
E cosa possiamo fare per risolverlo?
Colonnello Panic,

Risposte:


61

Secondo Raymond Chen :

Perché Windows non riconosce il mio dispositivo USB come lo stesso dispositivo se lo collego a una porta diversa?

Potresti aver notato che se prendi un dispositivo USB e lo colleghi al computer, Windows lo riconosce e lo configura. Quindi, se lo scolleghi e lo ricolleghi a un'altra porta USB, Windows ottiene un'amnesia e pensa che sia un dispositivo completamente diverso invece di utilizzare le impostazioni applicate quando lo hai collegato l'ultima volta. Perché?

Le persone del dispositivo USB hanno spiegato che ciò accade quando al dispositivo manca un numero seriale USB.

I numeri di serie sono opzionali sui dispositivi USB. Se il dispositivo ne ha uno, Windows riconosce il dispositivo indipendentemente dalla porta USB a cui lo si collega. Ma se non ha un numero seriale, Windows tratta ogni aspetto su una porta USB diversa come se fosse un nuovo dispositivo.

(Ricordo che uno dei principali produttori di dispositivi USB non capiva come funzionassero i numeri di serie. Hanno dato a tutti i loro numeri di serie i dispositivi, è fantastico, ma hanno tutti lo stesso numero di serie. Succedono cose entusiasmanti se si collegano due dei loro dispositivi contemporaneamente su un computer.)

Ma perché Windows lo tratta come un dispositivo diverso se manca un numero seriale e viene visualizzato su una porta diversa? Perché non si può semplicemente dire "Oh, eccoti, laggiù su un'altra porta".

Perché ciò crea un comportamento casuale dopo aver collegato due di questi dispositivi. A seconda dell'ordine in cui i dispositivi vengono elencati da Plug and Play, i due set di impostazioni verrebbero assegnati in modo casuale a ogni avvio. Oggi le impostazioni corrispondono in un modo, ma domani quando i dispositivi vengono enumerati nell'altro ordine, le impostazioni vengono scambiate. (Si ottiene un comportamento altrettanto sconcertante se si collegano i dispositivi in ​​un ordine diverso.)

In altre parole: le cose fanno schifo perché (1) le cose erano già in cattive condizioni — questo non sarebbe stato un problema se il dispositivo avesse un numero seriale appropriato — e (2) una volta che sei in questo cattivo stato, l'alternativa fa schifo di più . Lo stack USB sta solo cercando di sfruttare al meglio una brutta situazione senza peggiorarla.


17
Una cosa che non riesco a capire è perché deve reinstallare nuovamente i driver di dispositivo. Manterrà copie separate dei driver per lo stesso dispositivo su ciascuna porta adesso?
Agnel Kurian,

1
Immagino che si tratti solo di associare i driver esistenti alla nuova designazione della porta.
Brian White,

1
@BrianWhite esegue l'intero processo di download e configurazione. Puoi guardarlo facendo clic sulla notifica nella barra delle applicazioni
Cool Blue

1
Oh, l'ho visto molte volte. È difficile dire da quella finestra di dialogo, tuttavia, se sta effettivamente recuperando nuovi dati da Internet o semplicemente utilizzando file locali (ma un testo di dialogo comune) o qualcosa nel mezzo.
Brian White,

Esiste un modo per assegnare un numero seriale a un dispositivo USB? O è qualcosa che può essere fatto solo a livello di produzione?
TMH,

2

Windows (poiché non dichiari il tuo sistema operativo, suppongo che questo sia quello che stai utilizzando) associa un dispositivo alla porta in cui è collegato, quindi ha considerato che "DISCO USB A nella porta X" sia diverso da "DISCO USB A in porta Y "e collega i driver e le voci di registro di conseguenza.

Se usi l'opzione "mostra dispositivi non collegati" quando visualizzi Gestione dispositivi, vedrai il dispositivo collegato a tutte le porte in cui è mai stato collegato ma disattivato in quanto non è attualmente in esse. Quando si collega il dispositivo a una di queste porte, Windows attiverà solo quell'istanza del driver, quando lo si collega in un'altra porta sarà necessario definire una nuova istanza del driver per quella porta prima di attivarla (che è il processo che si vede come utente visualizzato come "aggiunta di un nuovo dispositivo".

Ciò consente di avere dispositivi identici collegati a porte diverse che funzionano contemporaneamente. Esistono altri modi per raggiungere questo obiettivo, con poca o nessuna differenza pratica per l'utente finale quale tecnica utilizza il sistema operativo, ma è così che Windows sceglie di organizzarlo.


4
Chiudi, ma non del tutto. Windows riconosce lo stesso dispositivo su porte diverse, purché sia ​​in grado di tracciare quel dispositivo esatto . Per fare ciò, il dispositivo deve fornire un numero seriale.
Jasonh,

4
I dischi tendono ad avere effettivamente un numero seriale, presente sul supporto stesso e inserito per formato. Anche i dispositivi di azionamento dei telecomandi davvero economici sono tra i migliori di tutti i dispositivi USB per questo motivo. Mouse, tastiere, joystick e altri dispositivi economici tendono ad essere i peggiori trasgressori. Un vero fastidio è un adattatore seriale da USB a RS-232 senza un numero seriale. Verrà assegnato a un nuovo nome di porta COM ogni volta che viene accidentalmente spostato su una nuova porta. Non è divertente.
RBerteig,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.