lspci PCIバスにつながっているハードウェアを一覧表示する
lspci [オプション]試してみる
lspciPCIバスにつながっているデバイスを一覧表示します。
lspci -nn | head -3名前に加えて、ベンダーID とデバイスID を数字で表示します。
lspci -k | head -8各デバイスが使っているカーネルドライバと、使える候補のモジュールを表示します。
lspci -s 00:01.0 -vスロット番号を指定して、1つのデバイスを詳しく表示します。
lspci -tバスの接続を木の形で表示します。
lspci -vmm | head -6項目ごとに行を分けた、スクリプトで扱いやすい形式で表示します。
主なオプション
-v | 詳しく表示する(-vv、-vvv でさらに詳しく) |
|---|---|
-k | 使用中のカーネルドライバと、対応するモジュールを表示する |
-n | ID を数字だけで表示する |
-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 コントローラなどが並びます。