Disons que j'ai une souris. Je branche cette souris dans l'emplacement 1 sur 4 d'un ordinateur. Elle passe par la détection d'un nouveau périphérique et tout le reste, ce qui est très bien. Mais si je reviens plus tard avec la même souris et que je la branche dans l'emplacement 3, par exemple, la détection recommence ! Comment cela se fait-il ?
Réponses
Trop de publicités?Según Raymond Chen :
Pourquoi Windows ne reconnaît-il pas mon périphérique USB comme étant le même périphérique si je le branche sur un autre port ?
Vous avez peut-être remarqué que si vous branchez un périphérique USB sur votre ordinateur, Windows le reconnaît et le configure. Puis, si vous le débranchez et le rebranchez sur un autre port USB, Windows devient amnésique et pense qu'il s'agit d'un périphérique complètement différent, au lieu d'utiliser les paramètres qui s'appliquaient lorsque vous l'avez branché la dernière fois. Comment cela se fait-il ?
Les responsables des dispositifs USB ont expliqué que cela se produit lorsque le dispositif n'a pas de numéro de série USB.
Les numéros de série sont facultatifs sur les dispositifs USB. Si le périphérique en possède un, Windows le reconnaît quel que soit le port USB sur lequel il est branché. En revanche, s'il n'a pas de numéro de série, Windows traite chaque apparition sur un port USB différent comme s'il s'agissait d'un nouveau périphérique.
(Je me souviens qu'un grand fabricant de dispositifs USB ne comprenait pas très bien comment fonctionnaient les numéros de série. Il donnait un numéro de série à tous ses appareils, ce qui est très bien, mais ils avaient tous le même numéro de série. Il se passait des choses passionnantes si l'on branchait deux de leurs appareils sur un ordinateur en même temps).
Mais pourquoi Windows le traite-t-il comme un appareil différent s'il n'a pas de numéro de série et s'il se présente sur un port différent ? Pourquoi ne peut-il pas simplement dire : "Oh, vous êtes là, sur un autre port".
En effet, cela crée un comportement aléatoire lorsque vous branchez deux appareils de ce type. Selon l'ordre dans lequel les appareils sont énumérés par Plug and Play, les deux ensembles de paramètres sont attribués de manière apparemment aléatoire à chaque démarrage. Aujourd'hui, les paramètres correspondent d'une certaine manière, mais demain, lorsque les périphériques sont énumérés dans l'autre ordre, les paramètres sont échangés. (Vous obtiendrez un comportement tout aussi déconcertant si vous branchez les appareils dans un ordre différent).
En d'autres termes : Les choses craignent parce que (1) les choses étaient déjà en mauvais état - cela n'aurait pas été un problème si le dispositif avait eu un numéro de série correct - et (2) une fois que vous êtes dans ce mauvais état, l'alternative craint encore plus. La pile USB essaie simplement de tirer le meilleur parti d'une mauvaise situation sans l'aggraver.
Windows (comme vous ne précisez pas votre système d'exploitation, je suppose que c'est celui que vous utilisez) associe un périphérique au port dans lequel il est branché. Il considère donc que "DISQUE USB A dans le port X" est différent de "DISQUE USB A dans le port Y" et il associe les pilotes et les entrées de registre en conséquence.
Si vous utilisez l'option "Afficher les périphériques non connectés" lors de l'affichage du Gestionnaire de périphériques, vous verrez le périphérique connecté à tous les ports sur lesquels il a été branché, mais grisé car il n'y est pas actuellement connecté. Lorsque vous branchez le périphérique sur l'un de ces ports, Windows active simplement cette instance de pilote. Lorsque vous le branchez sur un autre port, il doit définir une nouvelle instance de pilote pour ce port avant de l'activer (c'est le processus que vous voyez s'afficher en tant qu'utilisateur sous la forme d'un "ajout de nouveau périphérique").
Cela vous permet de faire fonctionner en même temps deux appareils identiques branchés sur des ports différents. Il existe d'autres façons d'y parvenir, avec peu ou pas de différence pratique pour l'utilisateur final quant à la technique utilisée par le système d'exploitation, mais c'est ainsi que Windows choisit de procéder.