私はlspciのマニュアルを簡単に読み、そこで「-m」、「-mm」、または「-vmm」を使用して、lspci出力について機械が読み取ることができる形式があることを発見しました。
使用しているデバイス名、デバイスID、およびカーネルモジュールドライバを、機械で読み取り可能な形式で印刷する必要があります。
私は次のコマンドを試しました。
$ lspci -vmm -v -nn -d 10de:0393
Slot: 01:00.0
Class: VGA compatible controller [0300]
Vendor: NVIDIA Corporation [10de]
Device: G73 [GeForce 7300 GT] [0393]
SVendor: Micro-Star International Co., Ltd. [1462]
SDevice: NX7300GT-TD256EH [0412]
Rev: a1
この出力を比較します。
$ lspci -nn -v -d 10de:0393
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G73 [GeForce 7300 GT] [10de:0393] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Micro-Star International Co., Ltd. NX7300GT-TD256EH [1462:0412]
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at fc000000 (64-bit, non-prefetchable) [size=16M]
I/O ports at cc00 [size=128]
[virtual] Expansion ROM at fe9e0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: nvidia
Kernel modules: nvidia_current, nouveau, nvidiafb
使用しているカーネルドライバ/モジュールを示す一般的な(コンピュータで読み取れない)形式を表示できます。
ドライバ/モジュールラインを機械で読み取り可能な形式で表示するにはどうすればよいですか?
マニュアルには、「モジュール」と「ドライバ」の行がオプションであると記載されています。これはソースでコンパイルし、いくつかの特別なプロパティを持つ必要があるという意味ですか?
PS:awk、sed、その他の解決策について知っていますが、なぜ機能しないのか疑問に思います。
私はUbuntu 12.10、pciutilsバージョン3.1.9-5ubuntu4を使用しています。
ベストアンサー1
開発者に連絡したところ、これがバグ自体ではないようですが、少なくとも今は一種の機能リクエストのようです。 :)
これがバグかどうかはわかりませんが、-vmm -vオプションを使用して「ドライバ」/「モジュール」行を印刷することはできません。それなしで動作します(-vのみ)。
良い考えですね追加します。