phhsnews.com


phhsnews.com / Existe-t-il un protocole de communication USB réel?

Existe-t-il un protocole de communication USB réel?


La plupart d'entre nous ne réfléchissons jamais à nos périphériques USB, il suffit de les brancher et de les oublier. Mais que faire si vous êtes le type curieux qui veut en savoir plus sur le fonctionnement de l'USB?

La session de questions-réponses d'aujourd'hui nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web de questions-réponses.

Photo gracieuseté de Evilelka Kowalski (Flickr).

La question

Le lecteur SuperUser smeeb veut savoir s'il existe vraiment un véritable protocole de communication USB:

Selon Wikipédia, USB:

  • Définit les câbles, les connecteurs et les communications protocoles utilisés dans un bus pour la connexion, la communication et l'alimentation entre ordinateurs et appareils électroniques

Mais y a-t-il un protocole de communication USB ? Ma compréhension est la suivante:

  1. Vous connectez un périphérique USB à une machine (Ubuntu ou n'importe quel type de Linux par exemple).
  2. Linux trouve le pilote de périphérique pour ce périphérique en quelque sorte ( bonus si vous le savez! >) et le charge. Le périphérique est maintenant connecté sous
  3. / dev / theDevice . Les applications d'espace utilisateur peuvent maintenant lire et écrire sur
  4. / dev / theDevice et le Le pilote gère l'entrée et la sortie de bas niveau vers le périphérique / matériel sous-jacent Pour autant que je sache, un

protocole de communication USB n'apparaît nulle part dans ce flux. Si ma compréhension est correcte, l'USB est juste le câble et la connexion électrique entre le PC et l'appareil. Ai-je tort ici? Est-ce que l'USB met en œuvre un protocole de bas niveau qui souligne le flux ci-dessus? Si oui, qu'est-ce que c'est et comment ça marche sur une vue de 30 000 pieds?

Existe-t-il un protocole de communication USB réel?

Les contributeurs SuperUser de la réponse

RedGrittyBrick et projectdp ont la réponse pour nous. Tout d'abord, RedGrittyBrick:

Oui (voir protocoles USB).

Si je comprends bien, la spécification USB définit un ensemble complexe de protocoles et de profils de couches.

Par exemple, les périphériques USB peuvent être des modèles de niveau tels que le stockage de masse, le clavier, l'interface utilisateur, etc. et être gérés par un pilote de périphérique générique. Certains périphériques USB peuvent communiquer à un niveau inférieur, de sorte que le support USB bas niveau du système d'exploitation peut reconnaître que des pilotes de niveau supérieur spécifiques à l'appareil sont nécessaires.

Suivi de la réponse de projectdp:

Question

protocole de communication USB de bas niveau en action et qu'est-ce que c'est?

Répondre

Oui, il y en a. La spécification USB inclut le protocole USB qui définit la manière dont le bus est utilisé au niveau des bits. Ce serait le protocole de bas niveau qui sous-tend les protocoles de plus haut niveau (stockage de masse, HID, etc.).

Pour des détails sur le fonctionnement du protocole USB, ce wiki OSDev est utile. Voici une autre description intéressante utilisant des diagrammes de séquence pour décrire les différentes transactions de données par protocole USB

Question Bonus

Comment Linux trouve-t-il et charge le pilote de périphérique pour ce périphérique?

Bonus

Sous Linux Lors de l'utilisation d'un noyau USB, un périphérique USB actif sera détecté via le matériel et le noyau en raison des spécifications USB. Côté matériel, la détection est effectuée par le contrôleur hôte USB. Ensuite, dans le noyau, le pilote du contrôleur hôte prend le relais et traduit les bits de bas niveau sur le fil en informations formatées du protocole USB. Cette information est ensuite remplie dans le pilote usbcore du noyau.

J'ai paraphrasé cet excellent article de Opensourceforu, qui contient beaucoup plus de détails et de clarté sur votre question dans le contexte Linux.

Assurez-vous de jeter un coup d'œil la discussion animée via le lien de fil partagé ci-dessous!

Vous avez quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.



Qu'est-ce que Sonic Update Manager et comment le supprimer

Qu'est-ce que Sonic Update Manager et comment le supprimer

Voici une autre marche à suivre technique sur la façon de résoudre un petit problème embêtant causé par des fabricants d'ordinateurs tels que Dell et HP! Fondamentalement, ils chargent trop de merde sur votre PC lorsque vous l'achetez et vous obtenez beaucoup de logiciels indésirables, l'un étant Sonic Update Manager . Assure

(How-to)

OTT explique - Qu'est-ce que le transfert de port et à quoi sert-il?

OTT explique - Qu'est-ce que le transfert de port et à quoi sert-il?

La plupart des gens vivent leur vie sans avoir aucune idée de ce que le portage est et ce qu'il peut faire pour eux. J'ai récemment acheté une caméra IP Foscam qui se connecte à mon réseau sans fil et enregistre tout sur mon périphérique Synology NAS (stockage en réseau). Ce qui est cool à propos d'une caméra IP, c'est que vous pouvez voir la caméra de l'extérieur de votre réseau local, dire quand vous quittez la maison pour deux semaines de vacances et que vous voulez vérifier les choses.Vous pourriez

(How-to)