Откуда Linux знает название моего оборудования?

Откуда Linux знает название моего оборудования?

Допустим, я запускаю lspciкоманду. Эта команда сообщает имена и модели устройств в моей системе. Вывод может выглядеть так:

03:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 3e)

Эта строка "Centrino Ultimate-N 6300" - откуда она взялась? Она изначально хранилась где-то в ПЗУ сетевой карты? Если нет, карта должна была предоставить какую-то информацию, которая позволила ядру Linux однозначно ее идентифицировать. Что это за информация, как ее получить?

решение1

Названия получены путем перевода кода PCI-поставщика:устройства оборудования с использованием локальной базы данных/текстового файла для текстовых описаний.

Сам файл находится по адресу /usr/share/misc/pci.ids.

В этом случае в Debian 9/Stretch вы можете найти в этом файле:

«Корпорация Intel»:

[line 19280] 8086  Intel Corporation

Centrino Ultimate...

[line 24449]         422b  Centrino Ultimate-N 6300

Из текста видно, что ваш PCI-код поставщика:устройства — 8086:422b.

Связанный контент