web-dev-qa-db-fra.com

Pourquoi mon ordinateur va-t-il "nouvel périphérique USB" à chaque fois que je connecte un dans un autre port?

Disons que j'ai une souris. Je branche cette souris dans la fente 1 sur 4 sur un ordinateur. Il passe par le nouvel appareil détecté et tout cela, ce qui va bien. Mais si je revenais plus tard avec la même souris et branchez-le dans le slot 3, il ne détecte la détection! Pourquoi est-ce?

48
RCIX

Selon Raymond Chen :

Pourquoi Windows ne reconnaît pas mon périphérique USB comme le même périphérique si je le branche dans un autre port?

Vous avez peut-être remarqué que si vous prenez un périphérique USB et que vous le branchez dans votre ordinateur, Windows le reconnaît et la configure. Ensuite, si vous le débranchez et que vous le rebranchez dans un autre port USB, Windows obtient un point d'amnésie et pense qu'il s'agit d'un appareil complètement différent au lieu d'utiliser les paramètres appliqués lorsque vous l'avez branché lors de la dernière fois. Pourquoi donc?

Le périphérique USB a expliqué que cela se produit lorsque l'appareil n'a pas de numéro de série USB.

Les numéros de série sont facultatifs sur des périphériques USB. Si l'appareil en possède une, Windows reconnaît le périphérique, quel que soit le port USB que vous le branchez. Mais s'il n'a pas de numéro de série, Windows traite chaque apparence sur un autre port USB comme s'il s'agissait d'un nouvel appareil.

(Je me souviens que l'un des principaux fabricants de périphériques USB ne comprenait pas bien comment les numéros de série fonctionnaient. Ils ont donné tous leurs appareils numéros de série, c'est génial, mais ils ont tous reçu le même numéro de série. Des choses passionnantes sont arrivées si vous avez branché deux de leurs appareils dans un ordinateur en même temps.)

Mais pourquoi Windows le traite-t-il comme un autre appareil s'il manque un numéro de série et se présente sur un port différent? Pourquoi cela ne peut-il pas dire: "Oh, vous y êtes, là-bas sur un autre port."

Parce que cela crée un comportement aléatoire une fois que vous branchez deux appareils de ce type. Selon l'ordre dans lequel les périphériques sont énumérés par la fiche et la lecture, les deux ensembles de paramètres seraient attribués apparemment au hasard à chaque démarrage. Aujourd'hui, les paramètres correspondent d'une manière, mais demain lorsque les périphériques sont énumérées dans l'autre commande, les paramètres sont échangés. (Vous obtenez un comportement de découpage similaire si vous branchez les appareils dans une commande différente.)

En d'autres termes: les choses sucent parce que (1) Les choses étaient déjà en mauvaise forme - cela n'aurait pas été un problème si l'appareil avait un numéro de série approprié - et (2) une fois que vous êtes dans ce mauvais état, l'alternative craint plus . La pile USB essaie simplement de tirer le meilleur parti d'une mauvaise situation sans que cela pire.

62
jasonh

Windows (comme vous ne l'indiquez pas que vous utilisez le système d'exploitation, je suppose que c'est ce que vous utilisez) associe un périphérique avec le port qu'il est branché, il est donc considéré comme "disque USB A dans le port x" à différer de "disque USB A dans Port Y "et il relie les pilotes et les entrées de registre en conséquence.

Si vous utilisez l'option "Afficher les périphériques non attachées" lors de la visualisation du gestionnaire de périphériques, vous verrez le périphérique attaché à tous les ports qu'il a jamais été branchés mais grisés car il ne s'agit pas actuellement. Lorsque vous branchez l'appareil dans l'un de ces ports Windows, il suffira d'activer cette instance de pilote, lorsque vous le branchez dans un autre port, il aura besoin de définir une nouvelle instance de pilote pour ce port avant de l'activer (qui est le processus que vous voyez comme utilisateur. affiché comme "Ajout d'un nouvel appareil".

Cela vous permet d'avoir à des périphériques identiques branchés dans différents ports fonctionnant en même temps. Il existe d'autres moyens d'y parvenir, avec peu ou pas de différence pratique à l'utilisateur final qui utilise le système d'exploitation, mais c'est ainsi que Windows choisit de l'organiser.

2
David Spillett