utte

lspci PCIバスにつながっているハードウェアを一覧表示する

lspci [オプション]

試してみる

主なオプション

-v詳しく表示する(-vv、-vvv でさらに詳しく)
-k使用中のカーネルドライバと、対応するモジュールを表示する
-nID を数字だけで表示する
-nn名前と数字のIDを両方表示する
-s スロット指定したスロット(バス:デバイス.機能)のデバイスだけを表示する
-t接続を木の形で表示する

解説

ハードウェアを調べる

lspci は、PCI(PCI Express を含む)につながっているデバイスを表示します。ネットワークカード、ビデオカード、ストレージのコントローラなどが対象です。デバイスを認識しているかや、どのドライバが使われているかを調べるのに使います。

出力の読み方

各行の先頭の 00:05.0 は、「バス番号:デバイス番号.機能番号」の形のスロット番号です。そのあとに、デバイスの種類(Ethernet controller など)と、製品の名前が続きます。名前は、pci.ids というデータベースから引かれます。

ドライバの確認

-k を付けると、Kernel driver in use に、そのデバイスを動かしているドライバ(カーネルモジュール)が表示されます。Kernel modules は、対応しているモジュールです。デバイスが使えないときは、ここが空になっていないかを確認し、modprobe でモジュールを読み込みます。

USB は別のコマンド

USB のデバイスを調べるときは、lsusb を使います。lspci は PCI だけが対象です。このほか、ハードウェア全体の情報は /proc や /sys にも出ています。

このページの環境

このページのターミナルは仮想マシンなので、表示されるのは QEMU が用意した仮想のデバイスです。実機では、グラフィックスや USB コントローラなどが並びます。

このコマンドを使う問題

  1. lspciでPCIデバイスのアドレスを調べる

関連するコマンド

LinuC 101の出題範囲