51 votes

Comment détecter un périphérique USB ?

J'ai un cas de figure où un logiciel ne fonctionne que lorsque vous insérez le périphérique USB fourni par l'éditeur du logiciel dans le système d'exploitation Windows. J'essaie de trouver le contenu stocké sur le périphérique USB. Dans le système d'exploitation Windows, l'icône du périphérique USB n'apparaît pas dans Mon_ordinateur. Je pensais pouvoir voir le contenu ou au moins détecter le périphérique USB dans Ubuntu.

Dans ubuntu également, le lecteur n'est pas détecté. J'ai essayé "sudo fdisk -l" pour connaître le système de fichiers, mais ce n'est pas utile. Le lecteur n'est pas détecté du tout.

Je voulais savoir pourquoi le logiciel ne fonctionne que lorsque la clé USB est insérée et qu'il ne fonctionne pas lorsqu'elle n'est pas insérée. Ces personnes ont-elles des fichiers stockés sur la clé USB ? Dans tous les cas, comment peut-on détecter ce type de périphérique dans Ubuntu ?

57voto

Boris Points 4664

Pour détecter votre périphérique USB, dans un terminal, vous pouvez essayer :

  • lsusb exemple :

    $ lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 002: ID 046d:0809 Logitech, Inc. Webcam Pro 9000
    Bus 003 Device 002: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse
  • ou cet outil puissant, lsinput ,
    Installez-le d'abord, puis essayez-le, il liste tous les périphériques d'entrée, y compris votre périphérique USB :

    sudo apt-get install input-utils
    lsinput

    exemple :

    $ lsinput
    /dev/input/event0
    ...
    
    /dev/input/event1
    ...
    
    /dev/input/event2
    ...
    
    /dev/input/event3
    bustype : BUS_USB
    vendor  : 0x46d
    product : 0xc016
    version : 272
    name    : "Logitech Optical USB Mouse"
    phys    : "usb-0000:00:1d.1-2/input0"
    uniq    : ""
    bits ev : EV_SYN EV_KEY EV_REL EV_MSC
  • udevadm Avec cette ligne de commande, vous devez débrancher l'appareil avant d'utiliser la commande, puis le brancher pour le voir :

    $ udevadm monitor --udev
    monitor will print the received events for:
    UDEV - the event which udev sends out after rule processing
    UDEV  [1915.787445] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-2 (usb)
    UDEV  [1915.796226] add      /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0 (usb)

Mais il se peut que cela ne fonctionne pas. Dans mon cas, j'essaie de faire mon Leapfrog Tag fonctionne sur Ubuntu sans succès .

5voto

Hackworth Points 45816

Si le dispositif en question est un dongle de protection logicielle, il se peut qu'il ne s'agisse pas d'un dispositif de stockage de masse.

Le logiciel peut communiquer avec le périphérique via l'adaptateur réseau, qui n'apparaîtra pas comme un lecteur. Le périphérique pourrait également implémenter un port série, ou un autre périphérique pour lequel les pilotes sont inclus dans le système d'exploitation.

En tout état de cause, ce n'est pas un forum approprié pour poser des questions sur le contournement de la protection contre la copie des logiciels Windows, même si vous essayez de le faire en utilisant Ubuntu.

3voto

Chris Robinson Points 21

Ce qui fonctionne également bien lorsque le matériel de votre PC a des difficultés avec les événements usb, c'est l'exécution d'un cronjob.

* * * * *    lsusb -v 2>&1 1>/dev/null

Cette opération déclenche une analyse complète des périphériques USB connectés.
Chaque minute, la situation est mise à jour.

3voto

F1Linux Points 753

Si vous souhaitez détecter la manière dont un périphérique USB est chargé - avec une excellente granularité - voici (2) façons de procéder :

udevadm monitor : Ceci vous indiquera le périphérique USB en cours de chargement comme le voit le bus USB .

udevadm fait partie du paquetage par défaut udev sur 18.04 LTS ; il n'est pas nécessaire de l'installer.

Exécuter udevadm monitor AVANT vous insérez cependant le périphérique USB.

Le chargement de l'échantillon sur une clé USB est illustré ci-dessous. Passez à la dernière ligne et vous pourrez même voir quel périphérique a été chargé ( sda1 ):

udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[969.010067] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1 (usb)
KERNEL[969.010367] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0 (usb)
KERNEL[969.018769] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0 (scsi)
KERNEL[969.018849] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/scsi_host/host0 (scsi_host)
KERNEL[969.018934] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0 (usb)
KERNEL[969.019049] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-1 (usb)
UDEV  [969.024995] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1 (usb)
UDEV  [969.031390] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0 (usb)
UDEV  [969.036362] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0 (scsi)
UDEV  [969.041258] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/scsi_host/host0 (scsi_host)
UDEV  [969.046202] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0 (usb)
UDEV  [969.051734] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-1 (usb)
KERNEL[970.051706] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0 (scsi)
KERNEL[970.052068] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0 (scsi)
KERNEL[970.052215] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0 (scsi_disk)
KERNEL[970.052435] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0 (scsi)
KERNEL[970.052585] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0 (scsi_device)
KERNEL[970.052774] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_generic/sg0 (scsi_generic)
KERNEL[970.052963] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0 (bsg)
UDEV  [970.060833] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0 (scsi)
KERNEL[970.061634] add      /devices/virtual/bdi/8:0 (bdi)
UDEV  [970.069006] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0 (scsi)
UDEV  [970.071467] add      /devices/virtual/bdi/8:0 (bdi)
UDEV  [970.075852] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_disk/0:0:0:0 (scsi_disk)
KERNEL[970.079839] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/block/sda (block)
KERNEL[970.079989] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1 (block)
UDEV  [970.083556] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0 (scsi)
UDEV  [970.091288] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_device/0:0:0:0 (scsi_device)
UDEV  [970.091755] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_generic/sg0 (scsi_generic)
UDEV  [970.106807] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/bsg/0:0:0:0 (bsg)
UDEV  [970.339976] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/block/sda (block)
UDEV  [970.519549] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1 (block)

.

dmesg (qui imprime le Kernel ring buffer) vous donnera également une visibilité granulaire sur le chargement de votre périphérique USB.

Cependant, dmesg contrairement à udevadm monitor vous montre comment chargement de votre périphérique USB externe du point de vue du noyau

Sortie de l'échantillon de dmesg -cette fois à partir d'un lecteur de CD externe USB- illustré ci-dessous. Le " 1-2 L'expression "bus USB" fait référence à son emplacement sur le bus USB : Premier bus, deuxième port. Si j'avais connecté le lecteur de CD à l'autre port, il aurait signalé " 1-1 " :

[   55.296482] usb 1-2: new high-speed USB device number 4 using xhci_hcd
[   55.453715] usb 1-2: New USB device found, idVendor=1c6b, idProduct=a222
[   55.453730] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   55.453740] usb 1-2: Product: Mass Storage Device
[   55.453749] usb 1-2: Manufacturer: USB2.0 External
[   55.453758] usb 1-2: SerialNumber: 2010100500000000174
[   55.525860] usb-storage 1-2:1.0: USB Mass Storage device detected
[   55.527273] scsi host0: usb-storage 1-2:1.0
[   55.530031] usbcore: registered new interface driver usb-storage
[   55.545215] usbcore: registered new interface driver uas
[   56.553073] scsi 0:0:0:0: CD-ROM            slimtype  eTDU108   1     SL46 PQ: 0 ANSI: 0

0voto

barlop Points 115

J'ai eu un problème similaire, sudo fdisk -l ne l'a pas montré, gparted ne l'a pas montré.

J'ai exécuté la commande dmesg et il a montré /dev/sdc1 J'ai ensuite essayé de le monter, mais une erreur s'est produite à propos de l'exFat.

Il s'avère qu'ubuntu a besoin d'un support spécial pour lire les fichiers exFat. Je n'étais même pas au courant de l'existence d'exFat, mais il s'avère que les clés USB sont parfois formatées avec exFat, un truc de MS. J'ai regardé l'USB dans Windows et même Windows a montré qu'elle était formatée en exFat. Il s'agissait d'une clé USB neuve formatée en exFat !

Vous pouvez installer le support exFat dans ubuntu puis recharger nautilus (le gestionnaire de fichiers d'ubuntu, une recherche sur 'files' ou 'nautilus' fait apparaître le gestionnaire de fichiers d'ubuntu).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X