나는 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
사용 중인 커널 드라이버/모듈을 보여주는 일반(컴퓨터에서 읽을 수 없는) 형식을 볼 수 있습니다.
드라이버/모듈 라인을 기계가 읽을 수 있는 형식으로 표시하려면 어떻게 해야 합니까?
매뉴얼에는 "모듈"과 "드라이버" 줄이 선택 사항이라고 나와 있습니다. 이것은 소스에서 컴파일하고 몇 가지 특별한 속성을 가져야 한다는 뜻인가요?
추신: awk, sed 및 기타 해결 방법에 대해 알고 있는데 왜 작동하지 않는지 궁금합니다.
저는 우분투 12.10, pciutils 버전 3.1.9-5ubuntu4를 사용하고 있습니다.
답변1
개발자에게 연락했더니 이것이 버그 자체는 아닌 것 같지만 적어도 지금은 일종의 기능 요청인 것 같습니다. :)
이것이 버그인지는 확실하지 않지만 -vmm -v 옵션을 사용하여 "드라이버"/"모듈" 줄을 인쇄할 수 없습니다. 그것 없이도 작동합니다 (-v 만).
좋은 생각이네요 추가하겠습니다.