web-dev-qa-db-fra.com

Sous Linux, existe-t-il un moyen de savoir quelle carte PCI est branchée dans quel emplacement PCI?

Sous Linux, existe-t-il un moyen de savoir quelle carte PCI est branchée dans quel emplacement PCI?

/ sys/bus/pci/devices/contient de nombreux périphériques (ponts, canaux CPU, etc.) qui ne sont pas des cartes et je n'ai pas pu trouver d'informations sur les mappages de cartes à sous dans les répertoires des périphériques.

15
magmabyte

Vous pouvez utiliser

dmidecode –t slot

pour trouver tous les emplacements PCI disponibles que vous pouvez exécuter

lspci -s <slot number>

pour répertorier le périphérique connecté à l'emplacement spécifié. Vous devez prendre l'adresse du bus de la première commande et utiliser cette adresse comme paramètre dans la deuxième commande.

18
Nebojsa Susic

La réponse de Nebojsa est bonne, mais voici un peu plus d'informations et une réponse au commentaire de magmabyte.

dmidecode vous donne le nombre d'emplacements, cependant, ces emplacements ne sont pas les seuls à utiliser le pont PCI, c'est pourquoi vous voyez beaucoup plus de périphériques que d'emplacements.

Deuxièmement, vous pouvez voir plusieurs "périphériques" par emplacement, mais ce ne sont probablement que plusieurs ports sur la même carte. Pour vous donner un exemple d'utilisation de cartes d'interface réseau (NIC):

megaman@someserver $ 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 indique que ce serveur a trois emplacements (et c'est le cas). L'emplacement 1 a le 10 Go NIC ci-dessus (vous pouvez voir qu'il a 2 ports), l'emplacement 2 a une carte Fibre Channel (qui se trouve également avoir 2 ports), et enfin l'emplacement 3 est vide .

Il y a trois emplacements physiques sur le serveur, un est vide, deux sont remplis de cartes multi-ports (un HBA et une NIC).

Pour répondre à votre question dans le commentaire, les 3 emplacements dont vous disposez sont ceux indiqués par dmidecode et ils sont probablement remplis de cartes d'interface multi-ports.

4
kodywilson