จะตรวจจับอุปกรณ์ USB ได้อย่างไร?


41

ฉันได้รับสถานการณ์ซึ่งซอฟต์แวร์ทำงานเฉพาะเมื่อคุณใส่อุปกรณ์ USB ที่จัดหาโดยผู้จำหน่ายซอฟต์แวร์ในระบบปฏิบัติการ windows ฉันพยายามค้นหาเนื้อหาที่เก็บไว้ในอุปกรณ์ USB ในระบบปฏิบัติการ windows ไอคอนอุปกรณ์ USB จะไม่แสดงใน My_Computer ฉันคิดว่าฉันสามารถดูเนื้อหาหรืออย่างน้อยก็ตรวจจับอุปกรณ์ USB ใน Ubuntu

นอกจากนี้ในอูบุนตูไม่พบไดรฟ์ ฉันพยายาม "sudo fdisk -l" เพื่อทราบระบบไฟล์ แต่มันไม่มีประโยชน์ ตรวจไม่พบไดรฟ์เลย

ฉันอยากรู้ว่าซอฟต์แวร์ทำงานได้อย่างไรเมื่อเสียบไดรฟ์ USB แล้วและจะไม่ทำงานเมื่อไม่ได้เสียบเข้าไป พวกเขามีไฟล์ใด ๆ ที่เก็บไว้ในอุปกรณ์ USB หรือไม่? ไม่ว่าในกรณีใดเราจะตรวจจับอุปกรณ์ชนิดนั้นในอูบุนตูได้อย่างไร?

คำตอบ:


47

ในการตรวจจับอุปกรณ์ USB ของคุณในเทอร์มินัลคุณสามารถลอง:

  • lsusb ตัวอย่าง:

    $ 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
    
  • หรือเครื่องมือที่มีประสิทธิภาพนี้lsinput,
    วันที่ 1 ติดตั้งแล้วลองมันแสดงรายการอุปกรณ์ป้อนข้อมูลทั้งหมดรวมทั้งอุปกรณ์ USB ของคุณ:

    sudo apt-get install input-utils
    lsinput
    

    ตัวอย่าง:

    $ 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 ด้วยบรรทัดคำสั่งนี้คุณต้องถอดปลั๊กอุปกรณ์ออกก่อนที่จะใช้คำสั่งแล้วเสียบอุปกรณ์เพื่อดู:

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

แต่มันอาจไม่ทำงาน ในกรณีของฉันฉันพยายามที่จะทำให้ข้ามแท็กของฉันทำงานบน Ubuntu ไม่ประสบความสำเร็จ


2
ขอบคุณสำหรับข้อมูลของคุณ คำสั่ง "lsusb" และ "udevadm" แสดงรายการอุปกรณ์ของฉันแม้ว่าคำสั่ง "lsinput" จะไม่ให้ข้อมูลเพิ่มเติมใด ๆ แก่ฉัน
ผู้เรียน

4

หากอุปกรณ์ที่สงสัยคือด็องเกิลป้องกันซอฟต์แวร์อุปกรณ์นั้นอาจไม่ใช่อุปกรณ์จัดเก็บข้อมูลขนาดใหญ่

อุปกรณ์สำรองที่มีแนวโน้มว่าจะนำไปใช้จะเป็นตัวควบคุมอีเธอร์เน็ต ซอฟต์แวร์สามารถสื่อสารกับอุปกรณ์ผ่านอะแดปเตอร์เครือข่ายซึ่งจะไม่ปรากฏเป็นไดรฟ์ หรืออุปกรณ์สามารถใช้พอร์ตอนุกรมหรืออุปกรณ์อื่นที่มีไดรเวอร์รวมอยู่ในระบบปฏิบัติการ

ไม่ว่าในกรณีใดนี่ไม่ใช่ฟอรัมที่เหมาะสมที่จะถามเกี่ยวกับการหลีกเลี่ยงการป้องกันการคัดลอกในซอฟต์แวร์ Windows แม้ว่าคุณจะพยายามทำโดยใช้ Ubuntu


มีวิธีใดบ้างในการตรวจสอบว่าดองเกิลของส่วนซอฟต์แวร์หรืออย่างอื่น?
ผู้เรียน

1
หากเป็นอุปกรณ์ที่มีจุดประสงค์เพียงอย่างเดียวคือการป้องกันไม่ให้ซอฟต์แวร์ทำงานโดยที่ไม่มีอยู่แสดงว่าเป็นดองเกิลป้องกันซอฟต์แวร์
เอเดรีย

1
ขอบคุณมากสำหรับความคิดเห็นของคุณ มันเป็นสิ่งที่มีค่าสำหรับฉัน ฉันได้ระบุว่าเป็นดองเกิลการป้องกันซอฟต์แวร์ด้วยความช่วยเหลือของคุณ ฉันต้องการรู้มากเกี่ยวกับเทคโนโลยีที่ใช้ในนั้นและเนื้อหาทางเทคนิคอื่น ๆ คุณรู้หรือไม่ฟอรั่มเช่น "askubuntu" เรียงลำดับ? ฉัน googled เพื่อค้นหาเกี่ยวกับเดียวกัน แต่ฉันไม่มั่นใจ
ผู้เรียน

2

นอกจากนี้ยังทำงานได้ดีเมื่อฮาร์ดแวร์พีซีของคุณมีปัญหากับเหตุการณ์ usb กำลังเรียกใช้ cronjob

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

นี่เป็นการสแกนอุปกรณ์ USB ที่เชื่อมต่ออย่างสมบูรณ์
ทุกนาทีสถานการณ์จะอัปเดต


0

หากคุณต้องการตรวจสอบว่าอุปกรณ์ USB กำลังโหลดอย่างไรด้วยความละเอียดที่ยอดเยี่ยมนี่คือวิธี (2):

udevadm monitor: นี้จะแสดงอุปกรณ์ USB ถูกโหลดเป็น USB รถบัสเห็นมัน

udevadmเป็นส่วนหนึ่งของแพ็คเกจเริ่มต้นudevที่ 18.04 LTS ไม่จำเป็นต้องติดตั้ง

ดำเนินการudevadm monitor ก่อนที่คุณจะแทรกอุปกรณ์ USB อย่างไรก็ตาม

เอาต์พุตตัวอย่างกำลังโหลดแฟลชไดรฟ์ USB ที่แสดงด้านล่าง ข้ามไปที่บรรทัดสุดท้ายและคุณยังสามารถดูว่าอุปกรณ์ใดที่มันโหลดเป็น ( 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 (ซึ่งจะพิมพ์บัฟเฟอร์เคอร์เนลเคอร์เนล) จะช่วยให้คุณมองเห็นข้อมูลที่ละเอียดในการโหลดอุปกรณ์ USB ของคุณ

อย่างไรก็ตามdmesgในทางตรงกันข้ามเพื่อudevadm monitorแสดงวิธีการโหลดอุปกรณ์ USB ภายนอกของคุณจากมุมมองของเคอร์เนล

เอาต์พุตตัวอย่างจากdmesg- เวลานี้จากไดรฟ์ซีดีภายนอก USB - แสดงด้านล่าง " 1-2 " หมายถึงตำแหน่ง 'บนบัส USB: บัสแรกพอร์ตที่สอง หากฉันเชื่อมต่อไดรฟ์ซีดีเข้ากับพอร์ตอื่นแล้วจะมีการรายงาน " 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.