Как на сервере посмотреть информацию о подключённых USB и PCI устройствах?devops-22

1. Просмотр информации о USB устройствах

Основная команда lsusb

lsusb

Пример вывода:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:0026 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Подробная информация о конкретном устройстве

lsusb -v -s 001:002

Где:

  • 001 - номер шины
  • 002 - номер устройства

Дерево подключённых USB устройств

lsusb -t

Вывод показывает топологию подключения:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M

Просмотр через sysfs

ls /sys/bus/usb/devices/

Для конкретного устройства:

cat /sys/bus/usb/devices/usb1/1-2/product

2. Информация о PCI устройствах

Основная команда lspci

lspci

Пример вывода:

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]

Подробная информация о PCI устройстве

lspci -v -s 00:01.0

Где 00:01.0 - идентификатор устройства

Драйверы и модули ядра

lspci -k -s 00:01.0

Выводит используемый драйвер:

Kernel driver in use: piix4_smbus
Kernel modules: i2c_piix4

Просмотр через sysfs

ls /sys/bus/pci/devices/

Для конкретного устройства:

cat /sys/bus/pci/devices/0000:00:01.0/vendor

3. Дополнительные утилиты

Утилита usb-devices для детальной информации

usb-devices

Просмотр USB дескрипторов

sudo apt install usbutils
sudo lsusb -d vid:pid -v | less

Информация о PCI слотах

lspci -tv

Выводит дерево PCI устройств

4. Мониторинг в реальном времени

Журнал подключения USB устройств

sudo tail -f /var/log/kern.log | grep -i usb

Мониторинг PCI событий

sudo lspci -mmw

5. Интеграция с системами мониторинга

Для Prometheus

curl http://localhost:9100/metrics | grep -E "node_hwmon_|node_pci_"

Сбор информации в JSON формате

lsusb -v -d vid:pid | usbhid-dump -o- | jq

Резюмируем

Основные команды для анализа подключённых устройств:

Для USB устройств:

  1. lsusb - базовый список устройств
  2. lsusb -v - подробная информация
  3. usb-devices - детальные технические данные
  4. Мониторинг через /sys/bus/usb/

Для PCI устройств:

  1. lspci - список всех PCI устройств
  2. lspci -vvv - полная техническая информация
  3. lspci -k - информация о драйверах
  4. Анализ через /sys/bus/pci/

Профессиональные рекомендации:

  • Для серверного оборудования проверяйте dmidecode для полной картины
  • При проблемах с устройствами смотрите dmesg | grep -i usb/pci
  • Для автоматизации используйте udevadm info -a -n /dev/sdX (для USB-дисков)