Wie erkenne ich ein USB-Gerät?

41

Ich habe ein Szenario, in dem eine Software nur funktioniert, wenn Sie das vom Softwarehersteller bereitgestellte USB-Gerät in das Windows-Betriebssystem einstecken. Ich versuche, den auf dem USB-Gerät gespeicherten Inhalt zu finden. Unter Windows-Betriebssystemen wird das USB-Gerätesymbol in My_Computer nicht angezeigt. Ich dachte, ich kann den Inhalt sehen oder zumindest das USB-Gerät in Ubuntu erkennen.

Auch in Ubuntu wird das Laufwerk nicht erkannt. Ich habe "sudo fdisk -l" versucht, das Dateisystem zu kennen, aber es ist nicht nützlich. Das Laufwerk wird überhaupt nicht erkannt.

Ich wollte wissen, wie die Software nur funktioniert, wenn das USB-Laufwerk eingesteckt ist und nicht, wenn es nicht eingesteckt ist. Haben sie irgendwelche Dateien auf dem USB-Gerät gespeichert? Wie können wir solche Geräte in Ubuntu erkennen?

Lerner
quelle

Antworten:

47

Um Ihr USB-Gerät in einem Terminal zu erkennen, können Sie versuchen:

  • lsusb Beispiel:

    $ 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
    
  • oder dieses leistungsstarke Werkzeug lsinput,
    1. installieren, und dann versuchen Sie es, es listet alle Eingabegeräte , einschließlich USB - Gerät:

    sudo apt-get install input-utils
    lsinput
    

    Beispiel:

    $ 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 Bei dieser Befehlszeile müssen Sie das Gerät ausstecken, bevor Sie den Befehl verwenden, und dann einstecken, um es anzuzeigen:

    $ 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)
    

Aber es könnte nicht funktionieren. In meinem Fall versuche ich, mein Leapfrog Tag ohne Erfolg auf Ubuntu laufen zu lassen .

Boris
quelle
2
Danke für deinen Beitrag. Die Befehle "lsusb" und "udevadm" listen mein Gerät auf, obwohl der Befehl "lsinput" keine zusätzlichen Informationen liefert.
Schüler
4

Wenn es sich bei dem betreffenden Gerät um einen Softwareschutz-Dongle handelt, handelt es sich möglicherweise nicht um ein Massenspeichergerät.

Ein wahrscheinliches alternatives Gerät für die Implementierung wäre ein Ethernet-Controller. Die Software kann über den Netzwerkadapter, der nicht als Laufwerk angezeigt wird, mit dem Gerät kommunizieren. Das Gerät kann auch einen seriellen Anschluss oder ein anderes Gerät implementieren, für das die Treiber im Betriebssystem enthalten sind.

In jedem Fall ist dies kein geeignetes Forum, um den Kopierschutz der Windows-Software zu umgehen, selbst wenn Sie versuchen, dies mit Ubuntu zu tun.

Adrian
quelle
Gibt es eine Möglichkeit zu überprüfen, ob es sich um einen Software-Portierungs-Dongle oder um etwas anderes handelt?
Learner
1
Wenn es sich um ein Gerät handelt, dessen einziger Zweck darin besteht, zu verhindern, dass die Software ausgeführt wird, ohne dass sie vorhanden ist, handelt es sich um einen Softwareschutz-Dongle.
Adrian
1
Vielen Dank für Ihren Kommentar. Es war ein wertvoller Input für mich. Ich habe mit Ihrer Hilfe festgestellt, dass es sich um einen Softwareschutz-Dongle handelt. Ich wollte viel über die Technologie, die darin verwendet wird, und andere technische Dinge wissen. Kennst du ein Forum wie "askubuntu" sortieren ?. Ich habe auch gegoogelt, um das Gleiche herauszufinden. Aber ich bin nicht überzeugt.
Anfänger
2

Was auch gut funktioniert, wenn Ihre PC-Hardware Probleme mit USB-Ereignissen hat, ist ein Cronjob.

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

Dadurch wird ein vollständiger Scan der angeschlossenen USB-Geräte erzwungen.
Jede Minute wird die Situation aktualisiert.

Kees S.
quelle
0

Wenn Sie feststellen möchten, wie ein USB-Gerät geladen wird - mit hervorragender Granularität - haben Sie zwei Möglichkeiten:

udevadm monitor: Dies zeigt Ihnen das USB-Gerät, das geladen wird, wie es der USB-Bus sieht .

udevadmist Teil des Standardpakets udevfür 18.04 LTS; keine Notwendigkeit, es zu installieren.

Führen Sie udevadm monitor VOR Sie das USB - Gerät jedoch ein.

Probenausgabe beim Laden eines USB-Flash-Laufwerks (siehe unten). Wenn Sie in die letzte Zeile springen, können Sie sogar sehen, als welches Gerät es geladen wurde ( 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 (mit dem der Kernel-Ringpuffer gedruckt wird) bietet Ihnen außerdem eine detaillierte Übersicht über das Laden Ihres USB-Geräts.

Im dmesgGegensatz dazu udevadm monitorzeigt Ihnen das Laden Ihres externen USB-Geräts jedoch aus der Sicht des Kernels

dmesgProbenausgabe von -dieser Zeit von einem externen USB-CD-Laufwerk- wie unten gezeigt. Das " 1-2 " bezieht sich auf die Position auf dem USB-Bus: Erster Bus, zweiter Port. Hätte ich das CD-Laufwerk an den anderen Port angeschlossen, hätte es " 1-1 " gemeldet :

[   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
quelle