Как определить USB-устройство?

У меня есть сценарий, когда программное обеспечение работает только при вставке USB-устройства, предоставленного поставщиком программного обеспечения, в операционную систему Windows. Я пытаюсь найти контент, хранящийся на устройстве USB. В операционной системе Windows значок устройства USB не отображается в My_Computer. Я думал, я могу видеть содержимое или, по крайней мере, обнаружить USB-устройство в Ubuntu.

Также в Ubuntu диск не обнаружен. Я пытался "sudo fdisk -l", чтобы узнать файловую систему, но это не полезно. Диск не обнаружен вообще.

Я хотел знать, как работает программное обеспечение, только когда USB-накопитель вставлен, и не будет, когда оно не вставлено. Есть ли у них какие-либо файлы, хранящиеся на устройстве USB? В любом случае, как мы можем обнаружить такие устройства в Ubuntu?

41
задан 21 July 2012 в 21:10

5 ответов

Для обнаружения 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 без успеха.

48
ответ дан 21 July 2012 в 21:10

Что также хорошо работает, когда на вашем компьютере возникают проблемы с USB-событиями, так это запуск cronjob.

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

Это принудительно завершает сканирование подключенных USB-устройств.
Каждую минуту ситуация обновляется.

0
ответ дан 21 July 2012 в 21:10

Если рассматриваемое устройство является защитным ключом программного обеспечения, оно может не быть запоминающим устройством.

Вероятным альтернативным устройством для его реализации будет контроллер Ethernet; программное обеспечение может взаимодействовать с устройством через сетевой адаптер, который не будет отображаться как диск. Или устройство может реализовать последовательный порт, или другое устройство, драйверы для которого включены в операционную систему.

В любом случае это неподходящий форум для обсуждения вопроса об обходе защиты от копирования в программном обеспечении Windows, даже если вы пытаетесь сделать это с помощью Ubuntu.

0
ответ дан 21 July 2012 в 21:10

Если Вы хотите обнаружить, как 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 внешний CD-привод - показанный ниже." 1-2 " относится к местоположению it на Шине 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
0
ответ дан 21 October 2019 в 16:32

У меня была аналогичная проблема, sudo fdisk -l не отображал ее, gparted не отображал.

Я выполнил команду dmesg , и она показала / dev / sdc1 . Затем я попытался смонтировать ее, но это выдало ошибку, касающуюся exFat.

Оказалось, что ubuntu требует специальной поддержки для чтения exFat .. Я даже не знал об exFat, оказалось, что USB-накопители иногда форматируются с помощью exFat, что-то вроде MS. Я посмотрел на USB в окнах, и даже окна показали, что он отформатирован как exFat. Это был новый USB-накопитель, отформатированный как exFat!

Вы можете установить поддержку exFat в ubuntu, а затем перезагрузить nautilus (файловый менеджер ubuntu, поиск «файлов» или «nautilus» вызывает файловый менеджер ubuntu).

0
ответ дан 4 February 2020 в 00:50

Другие вопросы по тегам:

Похожие вопросы: