このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】PCIバスに接続されたデバイス情報を表示する:lspciコマンド

PCIバスに接続されたデバイス情報を表示する:lspciコマンド

 システム管理者やエンジニアにとって、システムに接続されているハードウェアデバイスの詳細を把握することは重要です。PCI(Peripheral Component Interconnect)バスは、コンピュータの内部でデバイスと接続するための標準インターフェースであり、多くのデバイスがこのバスを介して接続されています。lspciコマンドは、PCIバスに接続されたデバイスの情報を表示するためのツールです。このコマンドを使用することで、システムに接続されているPCIデバイスの詳細な情報を簡単に取得できます。ここでは、lspciコマンドの概要、主なオプション、使用例について解説します。

デバイス情報を確認するには

 接続されたデバイスの情報は、lspciコマンドとlsusbコマンドで確認できます。lspciコマンドは、PCIバスに接続されたデバイスの情報を表示し、lsusbコマンドはUSBバスに接続されたデバイスの情報を表示します。これらのコマンドを使用することで、システムに接続されているハードウェアデバイスの詳細を把握することができます。

lspciコマンドの概要

 lspciコマンドは、PCIバスに接続されたデバイスの情報を表示するためのコマンドです。このコマンドを使用することで、システムに接続されているPCIデバイスの詳細情報を確認できます。

【構文】
lspci [オプション]

主なオプションと説明

オプション説明
-s PCI識別番号特定のPCIデバイスの情報のみを表示します。PCI識別番号は「バス番号:デバイス番号.ファンクション番号」の形式で指定します。
-v詳細な情報を表示します。
主なオプションと説明

lspciコマンドの実行結果

以下は、lspciコマンドの実行結果の例です。

00:1f.3 Audio device: Intel Corporation 82801JD/DO (ICH10 Family) HD Audio Controller (rev 02)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)

lspciコマンドで出力される項目

  • PCI識別番号(バス番号:デバイス番号:ファンクション番号)
    ・例:00:1f.3
    ・これは、デバイスが接続されているバス番号、デバイス番号、ファンクション番号を示します。PCIデバイスのユニークな識別子です。
  • クラス名
    ・例:Audio device
    ・デバイスのクラスを示します。この場合、オーディオデバイスであることを示しています。
  • ベンダー名
    ・例:Intel Corporation
    ・デバイスの製造元を示します。この場合、Intel社製のデバイスであることを示しています。
  • デバイス名
    ・例:82801JD/DO (ICH10 Family) HD Audio Controller
    ・デバイスの名前またはモデルを示します。
  • リビジョン
    ・例:(rev 02)
    ・デバイスのリビジョン番号を示します。これは、デバイスのバージョンを識別するために使用されます。

コマンドの使用例と解説

1.基本的な使用法

・「lspci」コマンドを実行します。

 オプションを指定しないで、lspciコマンドを実行します。※表示されるデバイスはホストマシンの環境によって異なります。

user01@ubuntu-vm:~$ 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]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: VMware SVGA II Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0b.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)

2.特定のPCIデバイスの情報を表示する(-sオプション)

・「lspci -s 00:03.0」コマンドを実行します。

「1」で出力されるPCI識別番号の中から00:03.0のデバイスの情報のみを表示します。

user01@ubuntu-vm:~$ lspci -s 00:03.0
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)

3.詳細な情報を表示する(-vオプション)

・「lspci -v」コマンドを実行します。

すべてのPCIデバイスの詳細な情報を表示します。

user01@ubuntu-vm:~$ lspci -v

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
	Flags: bus master, fast devsel, latency 0

00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
	Flags: bus master, medium devsel, latency 0

00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 8a [ISA Compatibility mode controller, supports both channels switched to PCI native mode, supports bus mastering])
	Flags: bus master, fast devsel, latency 64
	Memory at 000001f0 (32-bit, non-prefetchable) [virtual] [size=8]
	Memory at 000003f0 (type 3, non-prefetchable) [virtual]
	Memory at 00000170 (32-bit, non-prefetchable) [virtual] [size=8]
	Memory at 00000370 (type 3, non-prefetchable) [virtual]
	I/O ports at c180 [virtual] [size=16]
	Kernel driver in use: ata_piix
	Kernel modules: pata_acpi

00:02.0 VGA compatible controller: VMware SVGA II Adapter (prog-if 00 [VGA controller])
	Subsystem: VMware SVGA II Adapter
	Flags: bus master, fast devsel, latency 64, IRQ 18
	I/O ports at c170 [size=16]
	Memory at 80000000 (32-bit, prefetchable) [size=64M]
	Memory at 84400000 (32-bit, non-prefetchable) [size=2M]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Kernel driver in use: vmwgfx
	Kernel modules: vmwgfx
(省略)

まとめ

 lspciコマンドは、PCIバスに接続されたデバイスの情報を表示するための強力なツールです。システム管理者は、このコマンドを使用して、システムに接続されているPCIデバイスの詳細を簡単に確認できます。主なオプションを使用することで、特定のデバイスの情報や詳細な情報を取得することができます。これにより、システムのハードウェア構成を把握し、トラブルシューティングを行う際に役立ちます。