USBデバイスを検出する方法は?


41

Windowsのオペレーティングシステムにソフトウェアベンダーから提供されたUSBデバイスを挿入したときにのみソフトウェアが動作するというシナリオがありました。USBデバイスに保存されているコンテンツを検索しようとしています。Windowsオペレーティングシステムでは、USBデバイスアイコンはMy_Computerに表示されません。Ubuntuでコンテンツを見るか、少なくともUSBデバイスを検出できると思いました。

また、ubuntuでは、ドライブは検出されません。「sudo fdisk -l」を試してファイルシステムを知りましたが、役に立ちませんでした。ドライブがまったく検出されません。

USBドライブが挿入されている場合にのみソフトウェアがどのように機能し、挿入されていない場合に機能しないかを知りたかったのです。USBデバイスにファイルが保存されていますか?いずれにしても、Ubuntuでこのような種類のデバイスを検出するにはどうすればよいですか?

回答:


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
ご意見ありがとうございます。「lssus」コマンドは追加情報を提供しませんが、「lsusb」および「udevadm」コマンドはデバイスをリストします。
学習者

4

問題のデバイスがソフトウェア保護ドングルである場合、大容量記憶装置ではない可能性があります。

それが実装する可能性のある代替デバイスはイーサネットコントローラーでしょう; ソフトウェアは、ネットワークアダプターを介してデバイスと通信できますが、ネットワークアダプターはドライブとして表示されません。または、デバイスはシリアルポート、またはオペレーティングシステムにドライバーが含まれる別のデバイスを実装できます。

いずれにせよ、これは、Ubuntuを使用して実行しようとしている場合でも、Windowsソフトウェアのコピー防止を回避することについて尋ねる適切なフォーラムではありません。


そのソフトウェアポーションドングルか何かをチェックする方法はありますか?
学習者

1
ソフトウェアが存在せずに実行されないようにすることが唯一の目的であるデバイスの場合、それはソフトウェア保護ドングルです。
エイドリアン

1
コメントありがとうございます。私にとって貴重な情報でした。あなたの助けを借りて、それがソフトウェア保護ドングルであることを確認しました。私は、そこで使用されている技術や他の技術的なものについて多くを知りたかった。「askubuntu」のようなフォーラムを知っていますか?私も同じことをグーグルで見つけました。しかし、私は確信していません。
学習者

2

また、PCハードウェアでusbイベントに問題がある場合にうまく機能するのは、cronjobを実行していることです。

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

これにより、接続されたUSBデバイスの完全なスキャンが強制されます。
状況は毎分更新されます。


0

USBデバイスがどのようにロードされているかを、優れた粒度で検出したい場合、次の(2)の方法があります。

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デバイスの読み込みを詳細に可視化することもできます。

ただし、カーネルの観点から外部USBデバイスを読み込む方法dmesgudevadm monitorは対照的に

dmesg以下に示す-今回はUSB外付けCDドライブからのサンプル出力- 「1-2」は、USBバス上の位置を指します。最初のバス、2番目のポート。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.