Bagaimana cara mendeteksi perangkat USB?

41

Saya mendapat skenario, di mana perangkat lunak hanya berfungsi ketika Anda memasukkan perangkat USB yang disediakan oleh vendor perangkat lunak di sistem operasi windows. Saya mencoba menemukan konten yang tersimpan di perangkat USB. Di sistem operasi windows, ikon perangkat USB tidak ditampilkan di My_Computer. Saya pikir, saya bisa melihat konten atau setidaknya mendeteksi perangkat USB di Ubuntu.

Juga di ubuntu, drive tidak terdeteksi. Saya mencoba "sudo fdisk -l" untuk mengetahui sistem file, tetapi tidak berguna. Drive tidak terdeteksi sama sekali.

Saya ingin tahu, bagaimana perangkat lunak itu bekerja hanya ketika USB drive dimasukkan dan tidak mau ketika tidak dimasukkan. Apakah ada file yang tersimpan di perangkat USB? Bagaimanapun, bagaimana kita bisa mendeteksi perangkat semacam itu di Ubuntu?

Pelajar
sumber

Jawaban:

48

Untuk mendeteksi perangkat USB Anda, di terminal, Anda dapat mencoba:

  • lsusb , contoh:

    $ 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
    
  • atau alat yang ampuh ini lsinput,,
    instal pertama kali, dan kemudian coba, ia mencantumkan semua perangkat input termasuk perangkat USB Anda:

    sudo apt-get install input-utils
    lsinput
    

    contoh:

    $ 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 , dengan baris perintah ini, Anda harus mencabut perangkat sebelum menggunakan perintah dan kemudian tancapkan untuk melihatnya:

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

Tapi itu mungkin tidak berhasil. Dalam kasus saya, saya mencoba membuat Tag Leapfrog saya berjalan di Ubuntu tanpa hasil .

Boris
sumber
2
Terima kasih atas masukan Anda. Perintah "lsusb" dan "udevadm" mencantumkan perangkat saya meskipun perintah "lsinput" tidak memberikan saya informasi tambahan.
Pelajar
5

Jika perangkat yang dimaksud adalah dongle perlindungan perangkat lunak, itu mungkin bukan perangkat penyimpanan massal.

Perangkat alternatif yang mungkin diterapkannya adalah ethernet controller; perangkat lunak dapat berkomunikasi dengan perangkat melalui adaptor jaringan, yang tidak akan muncul sebagai drive. Atau perangkat dapat mengimplementasikan port serial, atau perangkat lain yang drivernya disertakan dengan sistem operasi.

Bagaimanapun, ini bukan forum yang tepat untuk bertanya tentang menghindari perlindungan salinan pada perangkat lunak Windows, bahkan jika Anda mencoba melakukannya menggunakan Ubuntu.

Adrian
sumber
apakah ada cara untuk memeriksa apakah itu sebuah dongeng portection perangkat lunak atau sesuatu yang lain?
Learner
1
Jika itu adalah perangkat yang tujuan utamanya adalah untuk mencegah perangkat lunak berjalan tanpa ada, itu adalah dongle perlindungan perangkat lunak.
Adrian
1
Terima kasih banyak atas komentar Anda. Itu masukan berharga bagi saya. Saya telah mengidentifikasi bahwa itu adalah dongle perlindungan perangkat lunak dengan bantuan Anda. Saya ingin tahu banyak tentang teknologi yang digunakan di dalamnya dan hal-hal teknis lainnya. Apakah Anda tahu ada forum seperti "askubuntu"? Saya juga mencari di Google untuk hal yang sama. Tapi saya tidak yakin.
Learner
2

Yang juga berfungsi dengan baik ketika perangkat keras PC Anda mengalami kesulitan dengan acara usb menjalankan cronjob.

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

Ini memaksa pemindaian lengkap perangkat USB yang terhubung.
Setiap menit situasinya diperbarui.

Kees S.
sumber
0

Jika Anda ingin mendeteksi bagaimana perangkat USB sedang dimuat - dengan granularity yang sangat baik - berikut adalah (2) cara:

udevadm monitor: Ini akan menunjukkan kepada Anda perangkat USB sedang dimuat saat USB Bus melihatnya .

udevadmadalah bagian dari paket default udevpada 18.04 LTS; tidak perlu menginstalnya.

Jalankan udevadm monitor SEBELUM Anda memasukkan perangkat USB.

Output spesimen memuat flash drive USB yang ditunjukkan di bawah ini. Lewati ke baris terakhir dan Anda bahkan dapat melihat perangkat apa yang dimuatnya ( 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 (yang mencetak buffer cincin Kernel) juga akan memberi Anda visibilitas granular ke dalam pemuatan perangkat USB Anda.

Namun, dmesgberbeda dengan udevadm monitormenunjukkan kepada Anda bagaimana memuat perangkat USB eksternal Anda dari perspektif Kernel

Output spesimen dari- dmesgkali ini dari drive CD eksternal USB- ditunjukkan di bawah ini. " 1-2 " mengacu pada lokasinya di bus USB: Bus pertama, port kedua. Jika saya menghubungkan drive CD ke port lain, itu akan melaporkan " 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
sumber