2014-09-18 11 views
4

В Linux есть ли способ узнать, какая PCI-карта подключена к PCI-слоту?В Linux есть ли способ узнать, какая PCI-карта подключена к PCI-слоту?

/sys/bus/pci/devices/содержит много устройств (мосты, каналы ЦП и т. Д.), Которые не являются карточками, и я не смог найти какую-либо информацию о сопоставлениях карт памяти в каталогах устройств.

+0

может стоить настроить некоторые правила udev: https://wiki.archlinux.org/index.php/udev – James

+0

Вы используете это для символических ссылок фиксированного устройства, не так ли? Выглядит интересно, хотя мне нужно физическое сопоставление (например, «PCI-карта x», подключенная к «гнезду PCI материнской платы»). – magmabyte

ответ

9

Вы можете использовать

dmidecode –t slot 

найти все доступные слоты PCI чем вы можете запустить

lspci -s <slot number> 

команду в список устройств, подключенных к указанной щели. Вы должны взять адрес шины из первой команды и использовать этот адрес в качестве параметра во второй команде.

+1

Я получаю слот слот 1-3 с dmidecode. lspci -s с этими номерами слотов возвращают мне два устройства от типа «PCI-мост» (так всего 6). Если я использую lspci и grep для «PCI-моста», я получаю 14 устройств. У меня есть 3 физических слота, какими они являются? – magmabyte

3

Ответ Nebojsa хорош, но вот немного больше информации и ответа на комментарий магмабайта.

dmidecode дает вам количество слотов, однако эти слоты не единственные, что использует мост PCI, поэтому вы видите гораздо больше устройств, чем слоты.

Во-вторых, вы можете увидеть несколько «устройств» на каждый слот, но они, вероятно, просто несколько портов на одной карте. Чтобы дать вам пример использования сетевых интерфейсных плат (NIC):

[email protected] $ lspci | grep 10Gb 
07:00.0 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (rev 02) 
07:00.1 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (rev 02) 

dmidecode указывает на то, что этот сервер имеет три слота (и делает). Слот 1 имеет NIC 10Gb выше (вы можете видеть, что он имеет 2 порта), слот 2 имеет плату волоконно-оптического канала (которая также имеет 2 порта), и, наконец, слот 3 пуст.

На сервере есть три физических слота: один пуст, два заполнены картами с несколькими портами (HBA и сетевой адаптер).

Чтобы ответить на ваш вопрос в комментарии, у 3 слотов у вас есть те, которые указаны dmidecode, и они, вероятно, заполнены карточками интерфейсов нескольких портов.

+0

Спасибо, но я до сих пор не нашел надежного способа использования dmidecode и lspci, чтобы определенно соответствовать сетевой карте в порт. Я сделал это с помощью логического вывода только в системе, на которую я смотрю - карта PCI, и в этой модели сервера есть только один слот PCI. –

 Смежные вопросы

  • Нет связанных вопросов^_^