2009-12-24 8 views
6

Comment déterminer par programme la vitesse du port USB dans les périphériques embarqués exécutant le noyau Linux?Port USB Vitesse Linux

+2

Cela appartient à la faute du serveur ou vous devez spécifier la langue que vous souhaitez utiliser. –

+3

Ne sois pas stupide: les périphériques embarqués n'ont pas d'administrateurs de serveur (et les utilisateurs de code ne sont pas non plus des utilisateurs, donc ce n'est pas non plus une question de superutilisateur!). Il s'agit clairement d'une question de développement ** intégré **, qui pose la question de la programmation pour les fonctionnalités spécifiques au système d'exploitation. – caf

+2

Tout ce dont vous avez besoin est lsusb -t – sMyles

Répondre

16

Vous pouvez lire /sys/bus/usb/devices/usb?/speed - il vous donnera la vitesse du bus du concentrateur (s) racine en Mbps: 1,5, 12, 480 ou 5000. Les deux premiers indiquent USB1 (basse vitesse ou pleine vitesse), le troisième USB2 et le quatrième USB3.

+0

et 5000 si c'est USB3. ce sont pour les concentrateurs racine. –

1

Cela dépend plutôt du code qui a besoin de l'information en cours d'exécution. Si vous souhaitez modifier le comportement d'un pilote de périphérique USB noyau en fonction de la vitesse de connexion, la structure usb_device transmise au pilote par le sous-système USB contient une énumération de la vitesse. Si vous souhaitez qu'une application dans l'espace utilisateur détecte la vitesse de connexion des périphériques, puis essayez de parcourir l'arborescence/sys/bus/usb, vous devriez pouvoir identifier votre périphérique USB en vérifiant les entrées idProduct et idVendor. Une fois que vous avez un match, l'entrée de vitesse vous donnera ce dont vous avez besoin. Si plusieurs périphériques sont connectés, vous devrez peut-être trouver un moyen de faire correspondre l'identifiant USB à un périphérique spécifique. Généralement, les mappages entre l'USB et l'appareil varient en fonction de la prise en charge de la connexion à chaud présente, que le périphérique fournisse un numéro de série et le sous-système qui résume les fonctionnalités fournies par le périphérique USB.