Linux dev usb device

Как в Linux посмотреть подключенные USB устройства

В настоящее время многие компьютерные периферийные устройства, такие как веб-камеры, мыши, сканеры, принтеры, жесткие диски, USB (Pendrive) подключаются по USB. После того, как эти устройства подключены к рабочему столу или серверу, важно знать имя устройства или путь к нему. Это помогает идентифицировать USB устройства для таких задач, как форматирование или отключение.

В Linux все файлы устройств хранятся в каталоге /dev и должны быть доступны во время загрузки системы.

В этой статье я покажу вам различные способы как в ubuntu посмотреть usb устройства. Большинство команд, упомянутых здесь, должны работать практически на всех дистрибутивах Linux. Например Ubuntu, Debian, Mint.

Просмотр списка имен USB устройств с помощью команды df

Команда df — это полезная команда, которая может помочь составить список всех подключенных томов, включая USB-накопители.

Как только USB-устройство подключается в систему Linux, это устройство автоматически монтируется в раздел /media и становится готовым к использованию.

Команда df проверяет подключенные USB устройства

Из приведенного выше вывода следует, что у меня есть 1 USB-накопитель /dev/sdb с 2 разделами /dev/sdb1 и /dev/sdb2

Список имен подключенных USB — устройств с помощью команды lsblk

Команда Lsblk используется для перечисления всех блочных устройств в системе Linux. Из списка можно фильтровать USB-устройства с помощью команды grep.

Список команд lsblk USB-устройства

Чтобы получить дополнительную информацию, такую как UUID, производитель и тип файловой системы, используйте команду blkid, как показано на рисунке ниже.

Вывод команды blkid для получение информации об устройствах USB

Список USB — устройств с помощью команды fdisk

Вы можете использовать старую добрую команду fdisk, которая используется для разбиения томов на разделы, чтобы перечислить все разделы в системе Linux, включая USB-накопители.

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

команда lsusb

На выводе выше отображается идентификатор шины, идентификатор устройства, идентификатор USB, а также поставщик или производитель USB-устройств

Команда lsusb перечисляет подключенные устройства и не предоставляет дополнительной информации о USB-устройствах.

Читайте также:  Linux can move windows

Для получения дополнительной информации о подключенных USB устройствах используйте команду dmesg. Команда dmesg, также известная как “сообщение драйвера” или “показать сообщение”, используется для проверки загрузочных сообщений. Кроме того, эта команда используется для отладки проблем, связанных с оборудованием и печати сообщений, генерируемых драйверами устройств.

Вы можете использовать команду dmesg и grep, чтобы сузиться до USB-устройств.

команда dmesg

Кроме того, вы можете передать вывод команды dmesg в less для облегчения прокрутки.

На выходе вы можете найти определенную строку, нажав клавишу прямой косой черты ( / ) на клавиатуре, а затем имя или идентификатор устройства USB-устройства.

В моем случае я ищу дополнительную информацию о USB устройстве под названием SanDisk.

Поиск USB-накопителя

Список USB контроллеров и устройств, использующих USB устройства

Команда usb-devices-это сценарий оболочки, который позволяет вам перечислить все USB-контроллеры и USB-устройства, подключенные к вашему компьютеру. Он печатает детали USB-устройства, такие как производитель, название продукта, серийный номер и многое другое. Вот вывод команды:

Команда usb-devices для перечисления usb - устройств в Linux

Заключение

В этой статье мы продемонстрировали различные способы просмотра USB-устройств, подключенных к системе Linux.

Источник

USB device detection on /dev directory on Linux

Using the lsusb command in Linux I have come to know about bus and device numbers, along with its name of newly attached USB devices. But how can I know on which device directory (/dev/*) USB device get attached in Linux using command lines only?

I tried dmesg | tail, It is showing only USB details like VID,PID,product name, manufacturer name etc. I can’t know ?, where udev (device manager) is attaching device under /dev/

2 Answers 2

It isn’t a rule that every device has to show up directly under /dev/, but some device classes will be nested under sub-directories inside /dev/.

USB device drivers are a bit different. If you connect a valid USB device, USB HCI would read the VID:PID and will tell the usb-core that the device with VID:PID combination is connected.

If the usbcore detects any registered driver for the VID:PID combination, it will couple it with the device, and the device file creation would happen accordingly

The device will show in /dev/bus/usb/. even if, the corresponding driver is not present, to indicate that the device was detected.

Читайте также:  Raspberry pi and kali linux

You need to have the device driver to have the device in action/operation.

You can verify whether a device driver is coupled to the device through

Each detected USB device will have an entry here, and also shows the «Driver=» field, to show which driver is associated with your device.

Now, IFF there is a driver, that makes an entry in appropriate /dev tree, you will find the device there.

NOT every device will show up directly under /dev/ in the first level. say, your mouse/keyboard will not show-up directly under /dev, but inside /dev/input/

Likewise, IF the connected USB device is a char/block device, it MAY show up there, that too have exceptions.

If your device is and ethernet/wifi device, the interface device will NOT show up under /dev/, cross-check with your existing eth0, wlan0, they will not appear directly under /dev/, but will in /proc/net/devices

sda/b/c shows up under /dev directly, because they are block devices and are managed by udev, as such.

Источник

Determine USB device file Path

How can i get USB device file path correctly in Linux. I used command: find / -iname «usb» and got the result as below:

/dev/bus/usb /sys/bus/usb /sys/bus/usb/drivers/usb /sys/kernel/debug/usb 
sh-3.2# ls /sys/bus/usb/devices/ 1-0:1.0 1-1:1.0 3-0:1.0 5-0:1.0 usb1 usb3 usb5 1-1 2-0:1.0 4-0:1.0 6-0:1.0 usb2 usb4 usb6 
2:0:0:0 host0 host2 target2:0:0 

So which device file is used for USB? How can i indentify it? I need to make a C program with USB device file. Further more, could you explain to me the number 1-1:1.0? What does it mean? Thank you.

I need to check informations which related to USB device. So i think i will send ioctl to USB device file and read the feedback data? Is this possible?

What do you mean with «read/write verification»? Is this for some specific device? Or are you trying to duplicate lsusb ?

2 Answers 2

So which device file is used for USB? How can i indentify it?

What you see behind /sys/ is mainly configuration/information about devices. /dev/bus/usb is what you are looking for. I think that the following article can help you

Читайте также:  Acrobat reader pro linux

Is quite old, but still it can help you. (In the article they speak about /proc/bus/usb , today we have /dev/bus/usb )

Further more, could you explain to me the number 1-1:1.0? What does it mean?

Each field identify the connection point of your device. The first two field are mandatory:

  • X is the USB bus of your motherboard where is connected the USB system.
  • Y is the port in use on the bus system

So the USB device identified with the string 3-3 is the device connected on the port 3 of the bus 3.

If you connect an USB hub, you are extending the connection capability of a single USB port. The Linux kernel identify this situation by appending the Z field.

So, the USB device identified with the string 1-2.5 is the device connected on the port 5 of the hub connected on the port 2 of the bus 1.

USB specification allow you to connect in cascade more then one USB hub, so the Linux kernel continue to append the port in use on the different hubs. So, the USB device identified with the string 1-2.1.1 is the device connected on the port 1 of the hub connected on the port 1 of the hub connected to the port 2 of the bus 1.

A fast way to retrieve these information is to read the kernel messages (if you can).

$ dmesg | grep usb [. snip . ] [ 2.047950] usb 4-1: new full-speed USB device number 2 using ohci_hcd [ 2.202628] usb 4-1: New USB device found, idVendor=046d, idProduct=c318 [ 2.202638] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2.202643] usb 4-1: Product: Logitech Illuminated Keyboard [ 2.202648] usb 4-1: Manufacturer: Logitech [. snip . ] 

Then, the last two fields of the pattern (after colon) identify an internal section of an USB device :

  • A is the configuration number of the device
  • B is the interface number of a configuration

So, the string 4-1:1.1 means: the interface 1, on configuration 1 that is connected on the port 1 of the bus 4.

You can retrieve these information with the command lsusb .

Источник

Оцените статью
Adblock
detector