Pourquoi Windows affiche-t-il une notification «Ce périphérique peut effectuer plus rapidement» si je le connecte maladroitement?

74

J'ai remarqué que sur Windows XP et 7 (et 2 ordinateurs différents respectivement), je pouvais obtenir le message "Cet appareil peut fonctionner plus rapidement si vous le connectez à un port USB 2.0 haut débit", une notification s'affiche lorsque je connecte le câble. très lentement (ou lutter un peu le faire avec une seule main). Si je le connecte assez rapidement ou normalement, à deux mains, il n'y a pas de notification. Dans les deux cas, tous ces dispositifs semblent fonctionner normalement.

Ce que je pense, c’est que le contact entre les fils est interrompu assez longtemps au cours d’une connexion lente / maladroite pour que le contrôleur USB pense que ce n’est pas la version 2.0 mais plus lente. Mais pourquoi le pense-t-il? Ou pourquoi ne dit-il pas simplement "Vous ne savez pas brancher les câbles, débranchez-le et essayez à nouveau"?

utilisateur1306322
la source
L'appareil est-il connecté à une clé USB plutôt que directement à votre boîte? Si tel est le cas, essayez de connecter l’appareil directement et non à une tierce partie.
Il est connecté au port de câble situé à l'arrière de la tour de bureau, il ne doit donc pas y avoir d'interface entre la carte mère et le périphérique situé à l'autre extrémité.
utilisateur1306322
5
Qui sur terre utilise ses deux mains pour brancher un périphérique USB?
PNDA
3
@ Cunningham'sLawyer: scénario d'une main : une fiche USB (ou une clé) pousse l'ordinateur portable tout autour de la table lorsque vous essayez d'un côté, que vous le retournez, essayez à nouveau de le retourner pour le brancher enfin. Scénario à deux mains : même montant de basculer mais la trotteuse tient toujours le portable.
WoJ
Attendez, alors vous avez des ports USB 1 sur ces ordinateurs portables? 0_0
rahuldottech

Réponses:

76

Le message fait référence à la négociation d'un ancien débit de données à pleine vitesse (FS) de 12 Mbit / s, au lieu du débit de données à haut débit (HS) qui est de 480 Mbit / s. Il doit être très difficile d’obtenir cet effet à partir d’un port USB2. Le protocole USB 2.0 HS est établi après une négociation assez complexe entre un périphérique et un hôte, car au départ chaque périphérique HS agit comme un périphérique FS.

Le processus normal est le suivant:

  1. Le périphérique compatible HS tire la ligne D + après avoir reçu le signal VBUS avec une résistance de 1-1,5kΩ à 3,3V. Tout comme le ferait un appareil FS.

  2. Le port hôte détecte le niveau D + = élevé et, après un délai de rebond minimum de 100 ms, l’hôte active l’état USB_RESET sur le bus, pilotant les lignes D + et D- à la masse avec des pilotes 45Ω pendant 10 ou 50 ms.

  3. Si le périphérique est FS, il ne fait rien et attend la fin de USB_RESET.

  4. Si le périphérique est HS, il utilisera un pilote HS (source 18 mA) pendant environ 1 ms. Cela créera une impulsion d'amplitude d'environ 800 mV (18 mA en charge de 45Ω) appelée "Chirp-K";

  5. Lors de la détection de la fin de Chirp-K, si l’hôte est capable de passer en mode HS, il renvoie ce signal (même 18 mA dans sa propre charge de 45 Ω), pendant environ 50 µs. S'il s'agit d'un hôte FS, il ignore le Chirp-K et procède en tant que FS.

  6. Ensuite, si l'hôte est capable de passer en mode HS, il bascule son lecteur sur un fil D +, formant ainsi "Chirp-J", à nouveau pendant 50 µs;

  7. L'hôte répète ce modèle alternatif de 50 µs pendant toute la durée de l'état USB_RESET (10 ms sur les ports concentrateur, 50 ms sur les ports concentrateur racine);

  8. Après trois alternances chirp-K / J, le périphérique reconnaît que l'hôte est HS et bascule en mode HS lui-même. Cela implique d'activer la terminaison HS à l'extrémité de l'appareil, ce qui ramène la résistance totale du fil à 22 Ω et l'amplitude du signal de chirp chute à 400 mV, à un niveau de signalisation HS standard.

  9. L'hôte procède avec les paquets de début de trame (SOF) HS et démarre le processus d'énumération en mode HS.

Maintenant, tout le monde devinera quelle partie de l'agitation a enfreint ce protocole et a forcé l'hôte à marquer le port en tant que FS.

Ale..chenski
la source
10
Acronymes: FSest "pleine vitesse" (USB 1.0, 12 Mbit / s), HS"haute vitesse" (USB 2.0, 480 Mbit / s) et SSserait "SuperSpeed" (USB 3.0, 5 Gbit / s).
isanae
4
En ce qui concerne les appareils USB depuis 16 ans, je dois admettre que je vois la chute du HS à FS pour la première fois. Le protocole normal au niveau du pilote utilise au moins deux autres tentatives pour affirmer USB_RESET en cours d’énumération. Dans le pire des cas de agitation lors de la première insertion, il y aura un ou deux ports USB_RESET supplémentaires suivant le protocole décrit, de sorte que le repli ne se produise jamais au niveau de l'utilisateur. Cependant, certains hôtes modernes utilisent une signalisation "pilotée par la tension" au lieu de la commande classique asservie au courant, de sorte que toute combinaison classique de différents niveaux de détection de seuil est vissée et que des événements peuvent se produire.
Ale..chenski
21
@ isanae Je me demande quand les créateurs de spécifications de périphérique auront la clairvoyance d'appeler quelque chose de "vitesse lente".
wizzwizz4
7
@ wizzwizz4 lorsqu'ils veulent intentionnellement et délibérément que leur produit échoue en raison d'une mauvaise réception par les consommateurs.
Dan Neely
10
@isanae - USB 1.0 prend également en charge le "faible débit" à 1,5 Mbits / s.
Michael Karas
32

Lorsque vous connectez un périphérique à un port USB2, l'ordinateur tente d'abord de négocier une connexion à l'aide du protocole de données USB2.
Lorsque cela échoue, il tente à nouveau d’utiliser le protocole de données USB1.

Ma meilleure hypothèse est que la connexion physique (en raison de l'agitation des contacts) n'est pas encore stable pendant la négociation USB2. Donc, il revient à USB1, même si le périphérique est un périphérique USB2.

Assez drôle, Windows se rend compte que le périphérique doit être compatible avec la vitesse USB2 (informations fournies par le pilote). Windows conclut donc que le port USB auquel vous l'avez branché était un port USB1 lent. Windows ne semble pas vérifier si le port lui-même est compatible USB2.
Et c'est pourquoi vous obtenez un message d'erreur quelque peu trompeur.

Post-scriptum Je viens d’essayer moi-même avec une machine Windows 10: même effet.

Tonny
la source
Même chose arrive parfois avec un périphérique USB3 dans un port USB3 ...
davidbak
1
La vitesse du port USB est déterminée par le matériel AVANT de vous engager dans un protocole de données.
Ale..chenski
3
@AliChen Comment cela se détermine-t-il?
Gronostaj
Voir ma réponse complète. Le logiciel lance uniquement la commande de réinitialisation de port après avoir vu le bit "connexion au port" (interruption de ce dernier); le reste est fait en matériel.
Ale..chenski
De Wikipedia: "Les périphériques USB 2.0 utilisent un protocole spécial lors de la réinitialisation, appelé sifflement, pour négocier le mode bande passante élevée avec l'hôte / concentrateur. Un périphérique compatible HS [USB 2.0] se connecte d'abord en tant que périphérique FS [USB 1.0] ( D + tiré haut), mais lorsqu’il reçoit un RESET USB (DOW et D− LOW pilotés par l’hôte pendant 10 à 20 ms), la ligne D- est haute, appelée chirp K. "
Nathan Osman
0

Il se peut que vous ayez inséré le disque assez lentement pour que Windows ait déjà terminé le processus de serrement de la main avec le contrôleur et qu’à ce moment-là, les contacts nécessaires pour la communication USB 2.0 ne se touchent plus. périphérique car il n'y aurait aucune réponse sur les rails marqués comme étant uniquement présents sur USB 2.0 et versions ultérieures.

Stefan
la source
Est-ce une situation courante pour les périphériques usb <2.0 version que celui-ci reconnaisse toujours la connexion et ne choisisse pas d'échouer?
utilisateur1306322
8
Cela peut arriver avec des périphériques USB3 dans un port USB3 où les broches USB1 / 2 se connectent en premier. Mais je ne vois pas comment cela peut arriver avec USB1 / USB2. Les deux utilisent uniquement 4 broches, une paire pour l'alimentation et une paire pour les données.
Hennes
@hennes je suis d'accord. Il n'y a pas de distinction physique entre USB 1 et 2.
Tonny
1
@ Tonny, je suis presque sûr d'avoir constaté certaines différences entre certains périphériques USB 1.1 et 2.0 de marque obscure.Mais, je l'avoue, je me trompe probablement.
Stefan
1
@Stefan Aux débuts de l'USB, il y avait beaucoup de connecteurs knock-off bon marché, dont les dimensions étaient mauvaises pour les contacts. J'en ai vu où chacune des 4 broches de la fiche avait une longueur et une épaisseur différentes. J'en garde encore quelques-uns au bureau pour montrer aux gens que nous discutons des avantages et des inconvénients de la commande de câbles interchangeables à bas prix.
Tonny