lspci - 全ての PCI
デバイスを表示する
lspci [
options]
lspci
はシステムの全ての PCI
バスと、そこにつながっている全てのデバイスに関する
情報を表示するユーティリティである。
もし、PCI
デバイスのドライバ、または
lspci
自身についてのバグを報告するなら、
"lspci -vvx"
の出力を含めるようにして欲しい。
- -v
-
lspci
の出力を詳細にして、全てのデバイスに関して詳しい情報を表示する。
- -vv
-
lspci
の出力をより詳細にし、さらに多くの情報
(PCI
デバイスが渡す情報の本当に全て)
を表示する。
これらのデータの正確な意味は、このマニュアルページでは説明しない。
詳しく知りたければ
/usr/include/pci.h
または、PCIの規格を参照せよ。
- -n
- PCI ID
データベースを調べる代わりに、
PCI
ベンダとデバイスコードを数字で表示する。
- -x
- (標準のヘッダである)
PCI 設定空間 (PCI configuration space) の
先頭 64 バイトの 16
進ダンプを表示する。
ドライバまたは lspci
自身のデバッグに有用である。
- -xxx
- PCI
設定空間の全ての 16
進ダンプを表示する。
これは root
のみが利用できる。
何故ならば、幾つかの
PCI デバイスは
設定空間の未定義部分を読み込もうとすると
クラッシュ
するからである
(この動作は多分 PCI
標準には違反しないが、少なくとも恐ろしく間抜けではある)。
- -b
- バスから見た表示をする。
カーネルから見える
IRQ
とアドレスの代わりに、
カードと PCI
バスから見える IRQ
とアドレスを全て表示する。
- -t
- 全てのバス・ブリッジ・デバイスと、それらの間の接続を含む図を木構造で表示する。
- -s
[[<bus>]:][<slot>][.[<func>]]
- 指定されたバス
(bus)・スロット
(slot)・機能 (func)
のデバイスのみを表示する。
デバイスの指定の各要素は省略可能で、また
"*"
は「任意の値」を意味する。
全ての数値は 16
進数で入力する。
例えば、"0:" はバス 0
の全てのデバイスを、
"0"
は全てのバスのデバイス
0
で全ての機能を意味し、
"0.3"
は全てのバスのデバイス
0 で 3
番目の機能を選択し、
".4" は各デバイスの 4
番目の機能を表示する。
- -d [<vendor>]:[<device>]
- 指定されたベンダ
ID とデバイス ID
を持つデバイスのみを表示する。
両 ID とも 16
進で与えられる。省略も可能である。
また、「任意の値」を意味する
"*"
を指定することも可能である。
- -i <file>
-
<file> を /usr/share/pci.ids
の代わりの PCI ID
データベースとして用いる。
- -p <dir>
-
<dir> を /proc/bus/pci
の代わりに、PCI
バスの情報を持つディレクトリとして用いる。
- -m
- スクリプトで簡単にパースできるように、
機械可読形式で PCI
デバイスのデータをダンプする
(通常のフォーマットと、詳細なフォーマットとの両方がサポートされている)。
- -M
- バスマッピングモード
(bus mapping mode) で起動する。
これは設定に失敗したブリッジの後にあるものを含めて、
全てのデバイスを見つけるために広範囲にスキャンする。
これはデバッグのみを意図していることに注意すること。
これはマシンをクラッシュさせるかもしれない
(バグのあるデバイスの場合のみではあるが、不幸にもそれは存在する)
ので、 root
のみが使える。
ハードウェアに直接は触らないような
PCI
のアクセス方法において、
-M
を使うことは意味がない。
何故ならば、(lspci
のモジュール関連バグを除けば)
実行結果は
通常の表示モードと同じだからである。
- --version
-
lspci
のバージョンを表示する。このオプションは、単独で使用すべきである。
PCI utilities は PCI
カードとやりとりするために
PCILIB (PCI
設定空間にアクセスするための機能を提供する、プラットフォームに依存せず移植性の高いライブラリ)
を用いている。以下のオプションは、ライブラリのパラメータ、特にどのアクセス方法が使われるか、を制御する。デフォルトでは、
PCILIB
はアクセス方法で可能なもののうち最初のものを用い、デバッグ情報を何も表示しない。各々のスイッチには、そのスイッチに対応しているハードウェア/ソフトウェアの設定リストが付随する。
- -P <dir>
- /proc/bus/pci
の代わりに、 <dir>
を使った Linux /proc/bus/pci
スタイルの設定でアクセスを行わせる。
(Linux 2.1
またはそれ以降でのみ有効)
- -H1
- インテル設定メカニズム
1 (Intel configuration mechanism 1)
を使って、
ハードウェアに直接アクセスする。(i386
及びその互換でのみ有効)
- -H2
- インテル設定メカニズム
2 (Intel configuration mechanism 2)
を使って、
ハードウェアに直接アクセスする。
警告:
この方法では各バスの最初の
16
デバイスしか扱えず、
多くの場合殆んど信頼できない。(i386
及びその互換でのみ有効)
- -S
- PCI
アクセスシステムコールを使う。(Alpha/Linux
と UltraSparc でのみ有効)
- -F <file>
- lspci -x
の実行結果を格納しているファイルから、全ての情報を取り出す。
ユーザーから提供されたバグ報告の解析に役立つ。
なぜならば、さらなるダンプをユーザーに要求することなく、
ハードウェアの設定をあなたの好きなやり方で表示することができる。
(全てのシステムで有効)
- -G
- ライブラリのデバッグレベルを上げる。(全てのシステムで有効)
- /usr/share/pci.ids
- 既知の PCI ID
(ベンダ・デバイス・クラス・サブクラス)
のリスト。
- /proc/bus/pci
- 2.1.82 以降の Linux
カーネルで提供される
PCI
バス設定空間へのインタフェース。
バスごとのディレクトリには、カードごとの設定空間を表すファイルがあり、
さらに devices
ファイルは全ての PCI
デバイスのリストを表す。
setpci(8),
update-pciids(8)
Linux PCI Utilities は Martin Mares <
[email protected]>
によって保守されている。