名前
lspci—すべてのPCIデバイスのリスト
概要
lspci
説明
lspciは、pciバスに関する情報システムとそれらに接続されたデバイス。
デフォルトでは、デバイスの簡単なリストが表示されます。 より詳細な出力または他のプログラムによる解析を目的とした出力を要求するには、以下で説明するオプションを使用します。
PCIデバイスドライバやlspci自体にバグを報告する場合は、”lspci-vvx”または”lspci-vvxxx”の出力を含めてください(ただし、可能な注意点については以下を参照してくださ
出力の一部、特に非常に冗長なモードでは、おそらく経験豊富なPCIハッカーにのみ理解可能です。 フィールドの正確な定義については、PCI仕様またはヘッダーのいずれかを参照してください。hおよび/usr/include/linux/pci。hインクルードファイル。
PCI設定スペースの一部へのアクセスは、多くのオペレーティングシステムでrootに制限されているため、normalusersが利用できるlspciの機能は制限されています。 しかし、lspciは利用可能な限り多くの情報を表示し、他のすべての情報に<アクセス拒否>テキストをマークするよう最善を尽くします。
オプション
基本表示モード
-m
下位互換性のある機械可読形式でPCIデバイスデータをダンプします。 詳細は以下をご覧ください。
-mm
スクリプトによる解析を容易にするために、PCIデバイスデータを機械可読形式でダンプします。 詳細は以下をご覧ください。
-t
すべてのバス、ブリッジ、デバイス、およびそれらの間の接続を含むツリー状の図を表示します。
表示オプション
-v
すべてのデバイスに関する詳細情報を詳細に表示します。
-vv
非常に冗長であり、より多くの詳細を表示します。 このレベルには、有用とみなされるすべてのものが含まれます。Vvv
-vvv
さらに冗長にして、解析できるすべてを表示します(未定義のメモリ領域など)。
-k
各デバイスを処理するカーネルドライバと、それを処理できるカーネルモジュールを表示します。 出力の通常モードで-vが指定されている場合、デフォルトでオンになります。 (現在はカーネル2.6以降のLinuxでのみ動作します。)
-x
構成スペースの標準部分(CardBusブリッジの場合は最初の64バイトまたは128バイト)の十六進ダンプを表示します。
-xxx
PCI設定スペース全体の十六進ダンプを表示します。 設定スペースの一部を読み取ろうとすると、いくつかのPCIデバイスがクラッシュするため、rootでのみ使用できます(この動作はおそらくPCI標準に違反し しかし、そのようなデバイスはまれなので、あなたは必要ありません心配してください。
-xxxx
PCI-X2.0およびPCI Expressバスで使用可能な拡張(4096バイト)PCI構成スペースの十六進ダンプを表示します。
-b
バス中心のビュー。 カーネルに表示されるのではなく、PCIバス上のカードに表示されるすべてのIRQ番号とアドレスを表示します。
-D
常にPCIドメイン番号を表示します。 デフォルトでは、lspciはドメイン0のみを持つマシン上でそれらを抑制します。
IDを名前に解決するためのオプション
-n
PCI idリストで検索するのではなく、PCIベンダーとデバイスコードを番号として表示します。
-NN
PCIベンダーとデバイスコードを番号と名前の両方として表示します。
-q
ローカルpciにデバイスが見つからない場合は、DNSを使用して中央PCI IDデータベースを照会します。idsファイル。 DNSクエリが成功した場合、結果は~/にキャッシュされます。pciids-cacheは、-qが指定されなくても、後続の実行で認識されます。 このスイッチは、データベースサーバーの過負荷を避けるために、自動化されたスクリプト内でのみ使用してください。
-qと同じですが、ローカルキャッシュはリセットされます。
-Q
ローカルで認識されているエントリでも、中央データベースにクエリを実行します。 表示されたエントリが間違っていると思われる場合は、これを使用します。
デバイス選択のためのオプション
-s:]<バス>]:]]指定されたドメイン内のデバイスのみを表示します(マシンに複数のホストブリッジがある場合は、共通のバス番号スペースを共有するか、それぞれ Deviceaddressの各コンポーネントは省略するか、”*”に設定することができ、どちらも”任意の値”を意味します。 すべての数字は16進数です。 例えば、”0:”はバス0上のすべてのデバイスを意味し、”0″は任意のバス上のデバイス0のすべての機能を意味し、”0.3″はすべてのバス上のデバイス0の第三の機能を選択し、”。4″は、各デバイスの第四の機能のみを示しています。 -d:指定されたベンダーとデバイスIDを持つデバイスのみを表示します。 両方のIDは16進数で指定され、省略するか、”*”として指定することができ、どちらも”anyvalue”を意味します。 /Usr/share/hwdata/pciの代わりに、PCI IDリストとして<file>を使用してください。idだ -p<file>カーネルモジュールで処理されるPCI IDのマップとして<file>を使用します。 デフォルトでは、lspciは/lib/modules/kernel_version/modulesを使用します。pcimap。 最近の十分なモジュールツールを備えたLinuxシステムにのみ適用されます。 -M
誤った構成されたブリッジの背後にあるものなど、すべてのPCIデバイスの徹底的なスキャンを実行するバスマッピングモードを起動します。 このオプションは意味を与えます通常はroot権限を必要とする直接ハードウェアアクセスモードでのみ結果を返します。 バスマッパーはPCIドメイン0のみをスキャンすることに注意してください。
–version lspciバージョンを表示します。 このオプションはスタンドアロンで使用する必要があります。
PCIアクセスオプション
PCIユーティリティは、PCIライブラリを使用してPCIデバイスと通信します(詳細はpcilib(7)を参照)。 次のオプションを使用して、itsbehaviorに影響を与えることができます:-A<メソッド>ライブラリは、PCIハードウェアにアクセスするための様々な方法をサポートしています。 デフォルトでは、利用可能な最初のアクセス方法が使用されますが、このオプションを使用してこの決定を回避することができます。 利用可能なメソッドとその説明の一覧については、-aヘルプを参照してください。 -O<param>=<value>ライブラリの動作は、いくつかの名前付きパラメータによって制御されます。 このオプションは、任意のパラメータの値を設定することができます。 既知のパラメータとそのデフォルト値のリストには、-O helpを使用します。 -H1
インテル構成メカニズムを介した直接ハードウェアアクセスを使用する1. (これは-a intel-conf1の省略形です。)
-H2
インテル構成メカニズム2を介した直接ハードウェアアクセスを使用します。 (これは-a intel-conf2の省略形です。)
-F<file>実際のハードウェアにアクセスする代わりに、以前のoflspci-xの実行によって生成された指定されたファイルからデバイスとその設定レジスタの値 -G
ライブラリのデバッグレベルを上げます。
機械可読出力
lspciの出力を自動的に処理する場合は、このセクションで説明する機械可読出力形式(-m、-vm、-vmm)のいずれかを使用してください。 他のすべての形式は、lspciのバージョン間で変更される可能性があります。
すべての数字は常に16進数で表示されます。 名前の代わりに数値IDを処理する場合は、-nスイッチを追加してください。
Simple format(-m)
simple formatでは、各デバイスは単一行で記述され、シェルスクリプトに渡すのに適したパラメータとしてフォーマットされます。、値は空白で区切られ、必要に応じて引用符で囲まれ、エスケープされます。 引数には、スロット、クラス、ベンダー名、デバイス名、サブシステムベンダー名、サブシステム名(デバイスにサブシステムがない場合は最後の二つは空です)、残りの引数にはオプションのようなものがあります:-rrev
リビジョン番号。
-pprogifプログラミングインターフェイス。 位置引数とオプションの相対的な順序は未定義です。 新しいオプションは、将来のバージョンで追加することができますが、彼らは常に任意のスペースでオプションから分離されていないsingleargumentを持っているので、
詳細形式(-vmm)
詳細出力は、空白行で区切られたレコードのシーケンスです。 各レコードは、一連の行で単一のデバイスを記述し、各行にはasingle’tag:value’ペアが含まれています。 タグと値は、単一のタブ文字で区切られます。 Arecord内のレコードも行も特定の順序ではありません。 タグでは大文字と小文字が区別されます。
次のタグが定義されています。
Slot
デバイスが存在するスロットの名前(bus:device.機能)。 このタグは常にレコード内の最初のタグです。
クラス
クラスの名前。
仕入先
仕入先の名前。
デバイス
デバイスの名前。
subsystemベンダーのSVendor名(オプション)。 サブシステムのSDevice名(オプション)。 PhySlotデバイスが存在する物理スロット(オプション、Linuxのみ)。 Rev
リビジョン番号(オプション)。
ProgIf
プログラミングインターフェイス(オプション)。
ドライバ
現在デバイスを処理しているカーネルドライバ(オプション、Linuxのみ)。
モジュール
カーネルモジュールは、デバイスを処理できることを報告します(オプション、Linuxのみ)。
新しいタグは将来のバージョンで追加できるため、認識できないタグは黙って無視する必要があります。
下位互換性のある冗長形式(-vm)
このモードでは、lspciは古いバージョンと完全に互換性があるようにします。 これは通常の冗長形式とほぼ同じですが、デバイスタグはスロットとデバイス名の両方に使用されるため、単一のレコードで2回発生します。 新しいコードではこの形式を使用しないでください。
ファイル
/usr/share/hwdata/pci.IDS
すべての既知のPCI ID(ベンダー、デバイス、クラス、サブクラス)のリスト。 最新バージョンをダウンロードするには、update-pciidsユーティリティを使用してください。http://pciids.sourceforge.net/に維持されています。 /usr/share/hwdata/pci.idだgz lspciが圧縮をサポートしてコンパイルされている場合、このファイルはpciの前に試行されます。idだ ~/.pciids-cache DNSクエリモードで見つかったすべてのIDがこのファイルにキャッシュされます。
バグ
lspciが設定レジスタを完全にデコードできないことがあります。 これは通常、十分なドキュメントが著者に利用可能でなかったときに発生します。 そのような場合、少なくとも<を印刷しますか?>もっと言うべきことがある可能性があることを知らせるためにマークします。 あなたが詳細を知っていれば、パッチはもちろん歓迎されます。
拡張構成スペースへのアクセスは、現在、linux_sysfsバックエンドによってのみサポートされています。
も参照
setpci(8),update-pciids(8),pcilib(7)
著者
PCIユーティリティはMartin Maresによって保守されています<[email protected]>.