🖥️ lspci: кратко и по делу#

lspci — утилита для просмотра информации о PCI/PCIe устройствах: сетевых картах, видеокартах, USB-контроллерах, NVMe, RAID, звуковых картах и других аппаратных модулях.
Работает через /sys и libpci и часто используется для диагностики железа, драйверов и пропавших устройств.


📝 Топ‑20 ключевых флагов и приёмов lspci#

  • lspci — список всех PCI/PCIe-устройств.
  • lspci -v — подробная информация о каждом устройстве.
  • lspci -vvмаксимально детализированный вывод.
  • lspci -nn — показывать числовые ID Vendor:Device.
  • lspci -nnk — показать устройства + драйверы ядра.
  • lspci -k — только информацию о драйверах.
  • lspci -mm — машинно-читаемый формат (CSV-like).
  • lspci -tv — древовидное отображение PCI-шины.
  • lspci -xxxx — дамп raw-конфигурационного пространства.
  • lspci -xxx — дамп расширенной PCI-конфигурации.
  • lspci -s <bus:slot.func> — показать инфо по конкретному устройству.
  • lspci -d <vendor>:<device> — фильтр по ID устройства.
  • lspci -v -s 00:1f.6 — подробный вывод только для одного устройства.
  • lspci -n — показать только числовые ID устройств.
  • lspci -b — показывать шины и IRQ в стиле “Bus-centric”.
  • lspci -P — выводить физические слоты устройств (если поддерживается).
  • lspci -t — упрощённое древовидное отображение.
  • lspci | grep VGA — найти видеокарту.
  • lspci | grep -i network — найти сетевые карты.
  • lspci | awk '{print $1}' | xargs -n1 lspci -v -s — подробный вывод по всем устройствам.

🚀 Айсберг команд lspci — от базового к гуру#

🟢 Уровень 1 — База (разогрев)#

lspci

  • Список всех PCI/PCIe-устройств

lspci | grep VGA

  • Найти видеокарту

lspci | grep -i ethernet

  • Найти сетевые адаптеры

lspci | grep -i usb

  • Найти USB-контроллеры

lspci -nn

  • Показать все устройства с ID производителей

🟡 Уровень 2 — Подробная диагностика устройств#

lspci -v

  • Детализированный вывод

lspci -vv

  • Максимальная детализация (рекомендуется для отладки)

lspci -k

  • Информация о драйверах

lspci -nnk

  • PCI ID + драйверы ядра

lspci -v -s 00:1f.3

  • Отладка конкретного устройства по адресу

🟠 Уровень 3 — Фильтрация и поиск проблем#

lspci -d 10ec:8168

  • Найти устройства Realtek RTL8168

lspci -s 03:00.0

  • Данные только по конкретной карте

lspci -n

  • Только Vendor:Device ID

lspci -mm

  • Машиночитаемый CSV-формат

lspci -tv

  • Дерево PCI-шины с детальным выводом

🔵 Уровень 4 — Анализ драйверов и модулей ядра#

lspci -nnk | grep -A3 VGA

  • Проверить драйвер видеокарты

lspci -k | grep -A2 Audio

  • Узнать, какой драйвер загружен для звука

lspci -vv | grep MSI

  • Проверить поддержку MSI/MSI-X

lsmod | grep iwlwifi

  • Проверить, загружен ли драйвер Wi-Fi

dmesg | grep pci

  • Проверить ошибки инициализации PCI

🟣 Уровень 5 — NVMe, USB и контроллеры#

lspci | grep -i nvme

  • Найти NVMe-контроллер

lspci | grep -i sata

  • Найти SATA-контроллер

lspci | grep -i ahci

  • Проверить поддержку AHCI

lspci | grep -i xhci

  • Найти USB 3.x контроллер

lspci -v | grep -A10 XHCI

  • Подробно про USB-контроллер

🔴 Уровень 6 — Гуру‑режим#

lspci -xxxx -s 03:00.0 | hexdump -C

  • Дамп конфигурационного пространства PCI

sudo lspci -vv -s 03:00.0

  • Глубокая диагностика устройства

lspci -v -s 00:1f.6 | grep -i latency

  • Проверить тайминги и задержки

lspci -nn | grep -i "8086:"

  • Найти устройства Intel

cat /sys/bus/pci/devices/*/vendor

  • Сырые PCI ID от ядра

🟤 Уровень 7 — Автоматизация и интеграция#

lspci | awk '{print $1}' | xargs -n1 lspci -vv -s

  • Сгенерировать полный отчёт обо всех устройствах

lspci -nn | sort | uniq -c

  • Группировка устройств по типам

lspci -nn | awk '{print $1,$2,$3}' > pci_list.txt

  • Сохранить список устройств в файл

while true; do lspci | diff -u prev - || true; lspci > prev; sleep 2; done

  • Мониторинг изменений PCI-шины

lspci -vv | grep -E "LnkSta|LnkCap"

  • Проверить режимы PCIe (x1, x4, x16) и скорости

🧩 Бонус — практические сценарии#

Найти видеокарту и драйвер:

lspci -nnk | grep -A3 VGA

Диагностика Wi-Fi карты:

lspci | grep -i wireless
lspci -nnk | grep -A3 Network

Найти устройства USB-контроллера:

lspci | grep -i usb

Посмотреть скорость PCIe-подключения:

sudo lspci -vv -s 01:00.0 | grep -E "LnkSta|LnkCap"

Проверить загруженные драйверы ядра:

lspci -nnk | grep -A3 Ethernet