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

41

J'ai un scénario, où un logiciel ne fonctionne que lorsque vous insérez le périphérique USB fourni par le fournisseur 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 My_Computer. Je pensais que je pouvais voir le contenu ou au moins détecter le périphérique USB dans Ubuntu.

Également dans Ubuntu, 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 comment le logiciel ne fonctionne que lorsque le lecteur USB est inséré et il ne le sera pas quand il ne l'est pas. Ont-ils des fichiers stockés dans le périphérique USB? Dans tous les cas, comment détecter ce type de périphérique dans Ubuntu?

Apprenant
la source

Réponses:

48

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,
    1er installer et essayer ensuite, il répertorie 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 le périphérique avant d’utiliser la commande, puis branchez-le 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 cela pourrait ne pas fonctionner. Dans mon cas, j’essaie de faire tourner mon tag Leapfrog sur Ubuntu sans succès .

Boris
la source
2
Merci pour votre contribution. Les commandes "lsusb" et "udevadm" répertorient mon périphérique, bien que la commande "lsinput" ne me fournisse aucune information supplémentaire.
Apprenant
5

Si le périphérique en question est une clé de protection logicielle, il ne s'agit peut-être pas d'un périphérique de stockage de masse.

Un autre périphérique susceptible d'être implémenté serait un contrôleur Ethernet; le logiciel peut communiquer avec le périphérique via l'adaptateur réseau, qui n'apparaît pas comme un lecteur. Ou bien le périphérique peut implémenter un port série ou un autre périphérique pour lequel les pilotes sont inclus avec le système d'exploitation.

Dans tous les cas, ce n'est pas un forum approprié pour demander de contourner la protection de copie sur les logiciels Windows, même si vous essayez de le faire avec Ubuntu.

Adrian
la source
Existe-t-il un moyen de vérifier si c'est un dongle de portection de logiciel ou autre chose?
Apprenant
1
S'il s'agit d'un périphérique dont le seul but est d'empêcher le logiciel de s'exécuter sans qu'il soit présent, il s'agit d'un dongle de protection logicielle.
Adrian
1
Merci beaucoup pour ton commentaire. Ce fut une contribution précieuse pour moi. J'ai identifié qu'il s'agissait d'un dongle de protection logicielle avec votre aide. Je voulais en savoir plus sur la technologie utilisée et sur d'autres aspects techniques. Connaissez-vous des forums de type "askubuntu"? J'ai aussi googlé pour trouver à peu près la même chose. Mais je ne suis pas convaincu.
Apprenant
2

Ce qui fonctionne également bien lorsque le matériel de votre ordinateur rencontre des difficultés avec les événements usb est l’exécution d’un travail cronjob.

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

Cela force une analyse complète des périphériques USB connectés.
Chaque minute, la situation est mise à jour.

Kees S.
la source
0

Si vous souhaitez détecter le chargement d'un périphérique USB (avec une excellente granularité), voici (2) manières:

udevadm monitor: Ceci vous montrera le périphérique USB en cours de chargement tel que le voit le bus USB .

udevadmfait partie du package par défaut udevde 18.04 LTS; pas besoin de l'installer.

Exécutez udevadm monitor AVANT d’insérer le périphérique USB.

Spécimen de sortie en chargeant une clé USB illustrée ci-dessous. Passez à la dernière ligne et vous pouvez même voir sur quel périphérique il 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 tampon circulaire du noyau) vous donnera également une visibilité granulaire sur le chargement de votre périphérique USB.

Cependant, dmesgcontrairement à udevadm monitorce que vous montre le chargement de votre périphérique USB externe du point de vue du noyau

Échantillon dmesgsorti à partir de cette heure à partir d'un lecteur de CD externe USB illustré ci-dessous. Le " 1-2 " 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
F1Linux
la source