USB 장치를 감지하는 방법?


41

Windows 운영 체제에서 소프트웨어 공급 업체가 제공 한 USB 장치를 삽입 할 때만 소프트웨어가 작동하는 시나리오가 있습니다. USB 장치에 저장된 내용을 찾으려고합니다. Windows 운영 체제에서는 USB 장치 아이콘이 My_Computer에 표시되지 않습니다. 우분투에서 내용을 보거나 USB 장치를 적어도 감지 할 수 있다고 생각했습니다.

또한 우분투에서는 드라이브가 감지되지 않습니다. 파일 시스템을 알기 위해 "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,
    첫째는 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)
    

그러나 작동하지 않을 수 있습니다. 제 경우에는 Leapfrog Tag를 Ubuntu에서 성공적으로 실행 하려고합니다 .


2
입력 해 주셔서 감사합니다. "lsusb"및 "udevadm"명령은 "lsinput"명령으로 추가 정보를 제공하지 않지만 장치를 나열합니다.
학습자

4

해당 장치가 소프트웨어 보호 동글 인 경우 대용량 저장 장치가 아닐 수 있습니다.

이를 구현하기위한 대체 장치는 이더넷 컨트롤러 일 것입니다. 소프트웨어는 드라이브로 나타나지 않는 네트워크 어댑터를 통해 장치와 통신 할 수 있습니다. 또는 장치가 직렬 포트 또는 운영 체제에 드라이버가 포함 된 다른 장치를 구현할 수 있습니다.

어쨌든, 이것은 우분투를 사용하여 복사를 시도하더라도 Windows 소프트웨어에서 복사 방지를 우회하는 것에 대한 적절한 포럼이 아닙니다.


소프트웨어 버전 동글 또는 다른 것을 확인할 수있는 방법이 있습니까?
학습자

1
소프트웨어가없는 상태에서 실행되는 것을 방지하는 것이 유일한 목적인 장치 인 경우 소프트웨어 보호 동글입니다.
Adrian

1
귀하의 의견에 감사드립니다. 그것은 나에게 귀중한 의견이었습니다. 귀하의 도움으로 소프트웨어 보호 동글임을 확인했습니다. 나는 그 기술에 사용 된 기술과 다른 기술적 인 것들에 대해 많이 알고 싶었다. "askubuntu"sort와 같은 포럼을 알고 있습니까? 나는 또한 똑같은 것을 찾기 위해 googled했다. 그러나 나는 확신하지 않았다.
학습자

2

PC 하드웨어가 USB 이벤트에 어려움을 겪을 때도 잘 작동하는 것은 cronjob을 실행하는 것입니다.

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

연결된 USB 장치를 완전히 스캔합니다.
매분 상황이 업데이트됩니다.


0

USB 장치가 어떻게로드되고 있는지 감지하고 싶다면 세분화하십시오.

udevadm monitor: USB 버스가 인식하는대로 로드되는 USB 장치가 표시 됩니다 .

udevadmudev18.04 LTS 의 기본 패키지의 일부입니다 . 설치할 필요가 없습니다.

그러나 USB 장치를 삽입하기 udevadm monitor 전에 실행하십시오 .

아래 그림과 같이 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대조적으로 커널의 관점에서 외부 USB 장치를로드udevadm monitor 하는 방법 을 보여줍니다

dmesg-이번에는 USB 외장 CD 드라이브에서 출력 된 표본이 아래에 나와 있습니다. " 1-2 "는 USB 버스에서의 해당 위치를 나타냅니다 : 첫 번째 버스, 두 번째 포트. CD 드라이브를 다른 포트에 연결했으면 " 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.