Как определить USB-устройство?
У меня есть сценарий, когда программное обеспечение работает, только когда вы вставляете USB-устройство, предоставленное поставщиком программного обеспечения, в операционную систему Windows. Я пытаюсь найти контент, хранящийся на устройстве USB. В операционной системе Windows значок устройства USB не отображается в My_Computer. Я думал, я могу видеть содержимое или, по крайней мере, обнаружить USB-устройство в Ubuntu.
Также в Ubuntu диск не обнаружен. Я пытался "sudo fdisk -l", чтобы узнать файловую систему, но это не полезно. Диск не обнаружен вообще.
Я хотел знать, как работает программное обеспечение, только когда USB-накопитель вставлен, и не будет, когда он не вставлен. Есть ли у них какие-либо файлы, хранящиеся на устройстве USB? В любом случае, как мы можем обнаружить такое устройство в Ubuntu?
3 ответа
Чтобы обнаружить ваше 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_MSCudevadmС помощью этой командной строки необходимо отключить устройство перед использованием команды, а затем подключить его, чтобы увидеть его:$ 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 безуспешно.
Если рассматриваемое устройство является защитным ключом программного обеспечения, оно может не быть запоминающим устройством.
Вероятным альтернативным устройством для его реализации будет контроллер Ethernet; программное обеспечение может взаимодействовать с устройством через сетевой адаптер, который не будет отображаться как диск. Или устройство может реализовывать последовательный порт, или другое устройство, драйверы для которого включены в операционную систему.
В любом случае, это неподходящий форум, чтобы спрашивать об обходе защиты от копирования в программном обеспечении Windows, даже если вы пытаетесь сделать это с помощью Ubuntu.
Если вы хотите определить, как USB-устройство загружается - с отличной детализацией - вот (2) способы:
udevadm monitor: Это покажет, что устройство USB загружается так, как его видит шина USB.
udevadm является частью пакета по умолчанию udev 18.04 LTS; нет необходимости устанавливать его.
казнить 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 в отличие от udevadm monitor показывает, как загружается ваше внешнее USB-устройство с точки зрения ядра
Выход образца из 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
Что также хорошо работает, когда на вашем компьютере возникают проблемы с USB-событиями, так это запуск cronjob.
* * * * * lsusb -v 2>&1 1>/dev/null
Это принудительно завершает сканирование подключенных USB-устройств.
Каждую минуту ситуация обновляется.
У меня была аналогичная проблема,
sudo fdisk -l не показывал, gparted не показывал.
Я выполнил команду
dmesg и это показало
/dev/sdc1 Затем я попытался установить его, но это дало ошибку о exFat.
Оказалось, что ubuntu нуждается в специальной поддержке для чтения exFat. Я даже не знал об exFat, оказалось, что USB-накопители иногда форматируются с помощью exFat, что касается MS. Я посмотрел на USB в окнах, и даже окна показали, что он отформатирован как exFat. Это был новый USB-накопитель, отформатированный как exFat!
Вы можете установить поддержку exFat в ubuntu, а затем перезагрузить nautilus(файловый менеджер ubuntu, поиск "файлов" или "nautilus" вызывает файловый менеджер ubuntu).