Question Pourquoi Windows affiche-t-il la notification "Cet appareil peut effectuer plus rapidement" si je le connecte maladroitement?


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

Ce que je pense, c'est que le contact entre les fils est interrompu pendant suffisamment de temps lors d'une connexion lente / maladroite que le contrôleur USB pense qu'il n'est pas 2.0 mais plus lent. Mais pourquoi pense-t-il ainsi? Ou pourquoi ne pas simplement dire "Vous êtes mauvais à connecter les câbles, veuillez débrancher et réessayer"?


74
2017-10-01 15:19


origine


L'appareil est-il connecté à une clé USB plutôt que directement sur votre boîtier? Si c'est le cas, essayez de connecter le périphérique directement et non une tierce partie pour ainsi dire.
Il est connecté au port de câble arrière de la tour de bureau, il ne doit donc rien y avoir entre la carte mère et le périphérique. - user1306322
Qui utilise les deux mains pour brancher un périphérique USB? - pandalion98
@ L'avocat de Cunningham: scénario d'une main: la prise USB (ou la clé) pousse le portable tout autour de la table en essayant un côté, en le retournant, en essayant encore une fois, en le retournant pour finalement le brancher. Scénario des deux mains: même quantité de retournement mais la seconde main tient le portable encore. - WoJ
Attendez, vous avez donc des ports USB 1 sur ces ordinateurs portables? 0_0 - rahuldottech


Réponses:


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 à grande vitesse (HS) qui est de 480 Mbit / s. Cela doit être vraiment difficile d'obtenir cet effet depuis un port USB2. Le protocole USB2.0 HS est établi après une négociation assez compliquée entre un périphérique et un hôte, car chaque périphérique HS agit initialement 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 périphérique FS.

  2. Le port hôte détecte le D + = élevé et, après un délai de rebond minimal de 100 ms, l'hôte affirme l'état USB_RESET sur le bus, mettant les lignes D + et D- à la terre 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 conduirait D-high en utilisant le pilote HS (source 18mA) pendant environ 1 ms. Cela créera une impulsion avec une amplitude d'environ 800 mV (18 mA en charge de 45 Ω) appelée "Chirp-K";

  5. En cas de détection de END de Chirp-K, si l'hôte est capable du mode HS, il renvoie ce signal (même 18mA en propre charge de 45Ω), maintenant environ 50 μs. S'il s'agit d'un hôte FS, il ignore le Chirp-K et continue comme FS.

  6. Ensuite, si l'hôte est capable du mode HS, il commute son disque en D + wire, formant "Chirp-J", encore une fois pour 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 du concentrateur, 50 ms sur les ports du concentrateur racine);

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

  9. L'hôte procède aux paquets de début de trame HS et lance le processus d'énumération en mode HS.

Maintenant, il faut que quelqu'un devine quelle partie de l'agitation a rompu ce protocole, et a fait que l'hôte marque le port comme FS.


76
2017-10-01 17:54



Acronymes: FS est "pleine vitesse" (USB 1.0, 12 Mbit / s),HS est "haut débit" (USB 2.0, 480 Mbit / s) et SS serait "SuperSpeed" (USB 3.0, 5 Gbit / s). - isanae
En ce qui concerne les périphériques USB depuis 16 ans, je dois admettre que je vois la baisse de HS à FS pour la première fois. Le protocole de niveau pilote normal utilise au moins deux autres tentatives pour affirmer USB_RESET en cours d'énumération. Dans le cas le plus défavorable de la première insertion, il y aura un ou deux USB_RESET supplémentaires suivant le protocole décrit, de sorte que le repli ne se produit jamais au niveau de l'utilisateur. Cependant, certains hôtes modernes utilisent la signalisation "pilotée par la tension" au lieu de la commande par courant classique, de sorte que toute combinaison classique de différents niveaux de détection de seuil est vissée et que des choses peuvent se produire. - Ali Chen
@isanae Je me demande quand les créateurs de spécifications de périphériques auront la clairvoyance d'appeler quelque chose de "vitesse lente". - wizzwizz4
@ wizzwizz4 quand ils veulent délibérément et délibérément que leur produit échoue en raison d'une mauvaise réception des consommateurs. - Dan Neely
@isanae - USB 1.0 supportait aussi le "bas débit" de 1,5 Mbits / s. - Michael Karas


Lorsque vous branchez un périphérique sur un port USB2, l'ordinateur essaie d'abord de négocier une connexion à l'aide du protocole de données USB2.
En cas d'échec, il tente à nouveau d'utiliser le protocole de données USB1.

Ma meilleure supposition 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 l'appareil est un périphérique USB2.

Assez drôle Windows réalise que le périphérique doit être capable de fonctionner à une vitesse USB2 (informations obtenues du pilote) et Windows conclut que le port USB auquel vous l'avez connecté était un port USB1 lent. Windows ne semble pas vérifier si le port est compatible USB2.
Et c'est pourquoi vous obtenez le message d'erreur quelque peu trompeur.

P.S. Je l'ai juste essayé avec une machine Windows 10: Même effet ici.


32
2017-10-01 15:46



La même chose se produit parfois avec un périphérique USB3 dans un port USB3 ... - davidbak
Non. La vitesse du port USB est déterminée par le matériel AVANT de s’engager dans un protocole de données. - Ali Chen
@AliChen Comment ça se détermine? - gronostaj
Voir ma réponse complète Le logiciel lance uniquement la commande de réinitialisation du port en voyant le bit "port connect" (l'interrompre); le reste est fait en matériel. - Ali Chen
D'après Wikipedia: «Les périphériques USB 2.0 utilisent un protocole spécial lors de la réinitialisation, appelé chirping, pour négocier le mode haut débit avec l'hôte / concentrateur. Un périphérique compatible HS [USB 2.0] se connecte d'abord comme périphérique FS [USB 1.0] ( D + tiré vers le haut), mais lorsqu’il reçoit un RESET USB (à la fois D + et D-conduit LOW par hôte pendant 10 à 20 ms), il tire la D-line haute, appelée chirp K. " - Nathan Osman


Il se peut que vous ayez inséré assez lentement pour que Windows termine déjà le processus de manipulation manuelle avec le contrôleur et que les contacts nécessaires pour la communication USB 2.0 ne se touchent pas. Cela pourrait conduire Windows à confondre un périphérique USB 2.0 avec un périphérique car il n'y aurait pas de réponse sur les rails marqués comme étant uniquement présents sur l'USB 2.0 et supérieur.


0
2017-10-01 15:32



Est-ce une situation courante pour les périphériques USB version 2.0 qui reconnaît toujours la connexion et ne choisit pas d'échouer? - user1306322
Cela peut se produire avec les 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 se produire avec USB1 / USB2. Les deux utilisent uniquement 4 broches, une paire pour l'alimentation, 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
@Tonny Je suis sûr que j'ai vu des différences sur certains appareils USB 1.1 et 2.0 de marque obscure. Mais je l'avoue, je me trompe probablement. - Stefan
@Stefan Au début de l'USB, il y avait beaucoup de connecteurs à bon marché qui avaient de mauvaises dimensions pour les contacts. J'en ai vu où chacune des 4 broches du bouchon avait une longueur et une épaisseur différentes. Je garde encore quelques personnes au bureau pour montrer aux gens que nous discutons des avantages et des inconvénients de la commande de câbles à brancher bon marché. - Tonny