web-dev-qa-db-fra.com

Pourquoi lsusb indique-t-il que les périphériques connectés à un port USB 3 sont connectés au concentrateur racine USB2?

J'utilise Ubuntu sur un Dell Chromebook 11, doté de deux ports USB 3 et d'un lecteur de carte SD. J'essayais d'établir si le lecteur de carte SD serait capable de vitesses USB 3 (et donc s'il valait la peine d'acheter une carte SD de 130 Mo/s), mais je ne peux pas dire s'il est physiquement connecté à l'USB 3 en interne.

Une des solutions envisageables consiste à exécuter lsusb après avoir branché une carte SD. Toutefois, si je connecte un périphérique USB2 à l’un des ports USB 3, il apparaît quand même comme étant connecté au concentrateur USB 2. Si je mets un périphérique USB 3 dans le même port, il apparaît comme étant connecté au concentrateur USB 3.

  1. Pourquoi lsusb indique-t-il que les périphériques USB2 connectés à un port USB3 sont connectés à la racine USB 2?
  2. Est-il possible d'obtenir le mappage physique plutôt que logique des ports USB vers les concentrateurs?
  3. Pour revenir à ma raison initiale d’examiner cette question, existe-t-il un moyen de déterminer la vitesse à laquelle le lecteur de carte SD interne est capable avant d’en acheter un?
4
Marcos Scriven

Pourquoi lsusb indique-t-il que les périphériques USB2 connectés à un port USB3 sont connectés à la racine USB 2?

Répondre :

En USB 3.0, l’architecture à double bus est utilisée pour permettre aux opérations USB 2.0 (pleine vitesse, basse vitesse ou haute vitesse) et USB 3.0 (SuperSpeed) de se dérouler simultanément, offrant ainsi une compatibilité descendante.

Source: https://en.wikipedia.org/wiki/USB_3.

Par exemple, sur une machine contenant deux ports USB 2.0 et un port USB 3.0, la sortie de la commande lsusb indique:

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 2.0 root hub 
Bus 003 Device 002: ID 8087:8004 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0008 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 058f:6386 Alcor Micro Corp. Multi Flash Reader
Bus 002 Device 001: ID 1d6b:0007 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Le concentrateur racine USB 2.0 supplémentaire fait partie du concentrateur racine USB 3.0 et est disponible dans ce pays pour assurer une compatibilité ascendante avec les normes USB 2.0. Par conséquent, lorsque vous connectez des périphériques USB2 au port USB3, ils sont affichés comme connectés au concentrateur racine 2.0.


Est-il possible d'obtenir le mappage physique plutôt que logique des ports USB vers les concentrateurs?

Réponse: Utilisez lsusb -t

-t     Tells lsusb to dump the physical USB device hierarchy as a tree.

Source: lsusb page de manuel


Pour revenir à ma raison initiale d’examiner cette question, existe-t-il un moyen de savoir à quelle vitesse le lecteur de carte SD interne est capable avant d’en acheter un?

Cela peut être fait en utilisant les étapes suivantes. Nous envisageons ici un ordinateur portable avec lecteur de carte intégré de Alcor Micro Corp.

  1. Utilisez la commande lsusb

    $ lsusb 
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 2.0 root hub 
    Bus 003 Device 002: ID 8087:8004 Intel Corp. 
    Bus 003 Device 001: ID 1d6b:0008 Linux Foundation 2.0 root hub
    Bus 001 Device 002: ID 058f:6386 Alcor Micro Corp. Multi Flash Reader
    Bus 002 Device 001: ID 1d6b:0007 Linux Foundation 3.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

    Découvrez le numéro de bus du lecteur de carte. Dans cet exemple, il s'agit de 001

  2. Utilisez lsusb -t

    $ lsusb -t 
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M 
    |__ Port 5: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M

    À la fin de chaque ligne, la vitesse de communication négociée pour chaque périphérique est indiquée en Mbits/s.
    Le 480Mbit/s s’appelle "Hi-Speed" et s’utilise avec USB 2.0.

Pour l'USB 3.0, la vitesse de communication négociée est de 5000 Mbit/s, appelée "SuperSpeed" (5 Gbit/s).

Source: https://en.wikipedia.org/wiki/USB

Résultat: le lecteur de cartes d'Alcor Micro Corp prend en charge les normes USB 2.0 et non les normes USB 3.0, car 480M a été mentionné dans la sortie.

4
code

De la page man:

DESCRIPTION

       lsusb  is  a  utility for displaying information about USB buses in the
       system and the devices connected to them.

Je vous suggère d'utiliser lshw (vous devrez peut-être Sudo apt-get install lshw en premier). De la page lshwman:

DESCRIPTION

       lshw  is  a  small tool to extract detailed information on the hardware
       configuration of the machine. It can report exact memory configuration,
       firmware version, mainboard configuration, CPU version and speed, cache
       configuration, bus speed, etc. on DMI-capable x86 or IA-64 systems  and
       on some PowerPC machines (PowerMac G4 is known to work).

       It  currently  supports  DMI  (x86 and IA-64 only), OpenFirmware device
       tree (PowerPC only), PCI/AGP, CPUID (x86), IDE/ATA/ATAPI, PCMCIA  (only
       tested on x86), SCSI and USB.
0
waltinator