PCI.EXE: A powerful sniffing utility

From OS2World.com Wiki
Jump to: navigation, search

By OS/2 Warp Compatible Hardware List

PCI.EXE, also know as Merlin's PCI Hardware Sniffer, is a utility that basically produces a report of the AGP and PCI devices that are present in a PC, including the system chipsets, and besides that a whole range of other valuable information is reported such as system resource usage (IRQs, Memory ranges, etc), capabilities (busmastering, caching), and much much more. A text-file PCIDEVS.TXT lists thousands of known vendors, devices and subsystems, which PCI.EXE will refer to and display the info from. PCI.EXE covers all PCI device derivitives, including PCI 64-bit and 66MHz options, AGP (all speeds), CompactPCI, CardBus and PCI-X. The reason os2warp.be is so fond of the PCI.EXE utility for the purpose of Support Services is because it gives us a clear look at how your computer is configured (IRQs, configuration, devices, chipsets etc.). Most of the time, PCI.EXE allows us to find out which chipsets are embedded on devices in your computer, making use of only two numerical hexadecimal values: vendor and device ID. The former is a four-digit number that specifies the manufacturer of the device. The latter specifies the chipset itself. Based on all this overwhelming amount of information pci.exe offers, we can have a clear view of the state your computer is currently in.

You can download pci.exe from os2warp.be at this url: http://www.os2warp.be/os2/hardware/pci048vk.zip.

You can launch pci.exe with several switches. For a complete list of all switches available, launch pci.exe with the switch /?. In what follows, we will talk about the two pci.exe commands that are of importance for os2warp.be Technical Support:

1. PCI.EXE /S

The screenshots below illustrate what this command displays on the screen. The /S switch is short for Summary Mode. When posting support requests at http://www.os2warp.be/support/, you must include the output of this command in the field provided for it. For each record in the output, you will be able to distinguish one or more lines containing vital information about your computer:

  1. The first line displays the hexadecimal Vendor ID, followed by the name of the Manufacturer;
  2. The second line displays the hexadecimal Device ID, followed by the official name of the device, if the device is included in the PCIDEVS.TXT file. If a particular device is not included, pci.exe will only display the Device ID and/or guess the name of a device. If a guess is made, pci.exe will report this clearly;
  3. Third and fourth line display additional ID information, which is only of interest for Technical Support, and not for the regular OS/2 user;
  4. And finally, the fifth line displays the system (OS/2) IRQ, followed by the hardware IRQ.

Pciexe1.gif

Pciexe2.gif

Pciexe3.gif

Pciexe4.gif

Pciexe5.gif

And completely at the end of the PCI.EXE report, you can see the IRQ usage. This is very interesting to resolve any possible IRQ conflicts to to sharing them. The pci.exe IRQ reporting is far superior over the classic OS/2 command rmview /irq, since, the latter sometimes fails to report multiple devices using the same IRQ. For each device, pci.exe shows both software and hardware IRQs. However, in the list at the end of the pci.exe output, only the software IRQs are displayed.

2. PCI.EXE

And this is the pci.exe output in full mode (produced by command pci.exe from an OS/2 Command Prompt):

 Craig Hart's PCI+AGP bus sniffer, version 0.48vk, freeware made in 1996-2003.

 PCI BIOS Version 2.10 found!
 Number of PCI Busses : 3
 PCI Characteristics : Config Mechanism 1 Special Cycle Mechanism 1

 Searching for PCI Devices using the OEMHLP$ driver

 Vendor 8086h Intel Corporation
 Device 1A30h 82845MP Brookdale Host-Hub Interface Bridge (B0-step)
 Command 0006h (Memory Access, BusMaster)
 Status 2090h (Has Capabilities List, Supports Back-To-Back Trans., Received Master Abort, Fast Timing)
 Revision 04h, Header Type 00h, Bus Latency 00h
 Self test 00h (Self test not supported)
 PCI Class Bridge, type PCI to HOST
 Subsystem ID 1A308086h Unknown (Generic ID)
 Subsystem Vendor 8086h Intel Corporation
 Address 0 is a Memory Address (anywhere in 0-4Gb, Prefetchable) : E8000000h
 New Capabilities List Present:
 Vendor-Dependant Capability
 AGP Capability, Version 2.0 (AGP 4x and below support)
 AGP Speed(s) Supported : 1x 2x 4x
 FW Transfers Supported : Yes
 >4Gb Address Space Supported : No
 Sideband Addressing Supported : Yes
 Maximum Command Queue Length : 32 bytes
 AGP Speed Selected : 4x
 FW Transfers Enabled : Yes
 >4Gb Address Space Enabled : No
 AGP Enabled : Yes
 Sideband Addressing Enabled : No
 Current Command Queue Length : 1 byte

 Vendor 8086h Intel Corporation
 Device 1A31h 82845 Brookdale Host-AGP Bridge (B0-step)
 Command 0107h (I/O Access, Memory Access, BusMaster, System Errors)
 Status 00A0h (Supports 66MHz, Supports Back-To-Back Trans., Fast Timing)
 Revision 04h, Header Type 01h, Bus Latency 40h
 Self test 00h (Self test not supported)
 PCI Class Bridge, type PCI to PCI
 PCI Bridge Information:
 Primary Bus Number 0, Secondary Bus Number 1, Subordinate bus number 1
 Secondary Bus Command 000Eh (ISA mapping, VGA mapping)
 Secondary Bus Status 22A0h (Supports 66MHz, Supports Back-To-Back Trans., Received Master Abort, Medium Timing)
 Secondary Bus Latency 20h
 I/O Port Range Passed to Secondary Bus : None
 Memory Range Passed to Secondary Bus : EC000000h to EDFFFFFFh
 Prefectchable Memory Range Passed to Secondary Bus : E0000000h to E7FFFFFFh

 Vendor 8086h Intel Corporation
 Device 244Eh 82801BA Hub Interface to PCI Bridge (ICH2 B5 step)
 Command 0107h (I/O Access, Memory Access, BusMaster, System Errors)
 Status 0080h (Supports Back-To-Back Trans., Fast Timing)
 Revision 05h, Header Type 01h, Bus Latency 00h
 Self test 00h (Self test not supported)
 PCI Class Bridge, type PCI to PCI
 PCI Bridge Information:
 Primary Bus Number 0, Secondary Bus Number 2, Subordinate bus number 2
 Secondary Bus Command 0006h (ISA mapping)
 Secondary Bus Status 2280h (Supports Back-To-Back Trans., Received Master Abort, Medium Timing)
 Secondary Bus Latency 20h
 I/O Port Range Passed to Secondary Bus : 9000h to AFFFh (16-bit)
 Memory Range Passed to Secondary Bus : EE000000h to EFFFFFFFh

 Vendor 8086h Intel Corporation
 Device 2440h 82801BA LPC Interface (ICH2 B5 step)
 Command 000Fh (I/O Access, Memory Access, BusMaster, Special Cycles)
 Status 0280h (Supports Back-To-Back Trans., Medium Timing)
 Revision 05h, Header Type 80h, Bus Latency 00h
 Self test 00h (Self test not supported)
 PCI Class Bridge, type PCI to ISA

 Vendor 8086h Intel Corporation
 Device 244Bh 82801BA UltraATA/100 IDE Controller (ICH2 B5 step)
 Command 0005h (I/O Access, BusMaster)
 Status 0280h (Supports Back-To-Back Trans., Medium Timing)
 Revision 05h, Header Type 00h, Bus Latency 00h
 Self test 00h (Self test not supported)
 PCI Class Storage, type IDE
 PCI EIDE Controller Features :
 BusMaster EIDE is supported
 Primary Channel is at I/O Port 01F0h and IRQ 14
 Secondary Channel is at I/O Port 0170h and IRQ 15
 Subsystem ID 24428086h 82801BA (ICH2) UltraDMA/100 IDE Controller (Guess Only!)
 Subsystem Vendor 8086h Intel Corporation
 Address 4 is an I/O Port : 0000F000h

 Vendor 8086h Intel Corporation
 Device 2442h 82801BA/BAM USB Controller #1 (ICH2/ICH2-M B5 step)
 Command 0005h (I/O Access, BusMaster)
 Status 0280h (Supports Back-To-Back Trans., Medium Timing)
 Revision 05h, Header Type 00h, Bus Latency 00h
 Self test 00h (Self test not supported)
 PCI Class Serial, type USB (UHCI)
 Subsystem ID 24428086h 82801BA/BAM (ICH2) USB Universal Host Controller (Guess Only!) (Generic ID)
 Subsystem Vendor 8086h Intel Corporation
 Address 4 is an I/O Port : 0000B000h
 System IRQ 9, INT# D

 Vendor 8086h Intel Corporation
 Device 2443h 82801BA/BAM SMBus Controller (ICH2/ICH2-M B5 step)
 Command 0001h (I/O Access)
 Status 0280h (Supports Back-To-Back Trans., Medium Timing)
 Revision 05h, Header Type 00h, Bus Latency 00h
 Self test 00h (Self test not supported)
 PCI Class Serial, type SMBus Controller
 Subsystem ID 24428086h Unknown
 Subsystem Vendor 8086h Intel Corporation
 Address 4 is an I/O Port : 00000500h
 System IRQ 10, INT# B

 Vendor 8086h Intel Corporation
 Device 2444h 82801BA/BAM USB Controller #2 (ICH2/ICH2-M B5 step)
 Command 0005h (I/O Access, BusMaster)
 Status 0280h (Supports Back-To-Back Trans., Medium Timing)
 Revision 05h, Header Type 00h, Bus Latency 00h
 Self test 00h (Self test not supported)
 PCI Class Serial, type USB (UHCI)
 Subsystem ID 24428086h 82801BA/BAM (ICH2) USB Universal Host Controller (Guess Only!)
 Subsystem Vendor 8086h Intel Corporation
 Address 4 is an I/O Port : 0000B800h
 System IRQ 3, INT# C

 Vendor 10DEh Nvidia Corp
 Device 0110h GeForce2 MX/MX 400 [NV11]
 Command 0007h (I/O Access, Memory Access, BusMaster)
 Status 02B0h (Has Capabilities List, Supports 66MHz, Supports Back-To-Back Trans., Medium Timing)
 Revision B2h, Header Type 00h, Bus Latency 20h
 Self test 00h (Self test not supported)
 PCI Class Display, type VGA
 Address 0 is a Memory Address (anywhere in 0-4Gb) : EC000000h
 Address 1 is a Memory Address (anywhere in 0-4Gb, Prefetchable) : E0000000h
 System IRQ 5, INT# A
 Expansion ROM of 64Kb decoded by this card
 New Capabilities List Present:
 Power Management Capability
 Supports power state D1
 Current Power State : D0 (Device operational, no power saving)
 AGP Capability, Version 2.0 (AGP 4x and below support)
 AGP Speed(s) Supported : 1x 2x 4x
 FW Transfers Supported : Yes
 >4Gb Address Space Supported : No
 Sideband Addressing Supported : No
 Maximum Command Queue Length : 32 bytes
 AGP Speed Selected : 4x
 FW Transfers Enabled : Yes
 >4Gb Address Space Enabled : No
 AGP Enabled : Yes
 Sideband Addressing Enabled : No
 Current Command Queue Length : 1 byte

 Vendor 9004h Adaptec Inc
 Device 6178h AIC-7861 AHA-2940AU PCI SCSI Controller
 Command 0007h (I/O Access, Memory Access, BusMaster)
 Status 0290h (Has Capabilities List, Supports Back-To-Back Trans., Medium Timing)
 Revision 03h, Header Type 00h, Bus Latency 20h
 Self test 00h (Self test not supported)
 Cache line size 32 Bytes (8 DWords)
 PCI Class Storage, type SCSI
 Subsystem ID 78619004h AHA-2940AU Single
 Subsystem Vendor 9004h Adaptec Inc
 Address 0 is an I/O Port : 00009000h
 Address 1 is a Memory Address (anywhere in 0-4Gb) : EF000000h
 System IRQ 10, INT# A
 Expansion ROM of 64Kb decoded by this card
 New Capabilities List Present:
 Power Management Capability
 Current Power State : D0 (Device operational, no power saving)

    Vendor 10ECh Realtek Semiconductor
    Device 8139h RT8139 (A/B/C/8130) Fast Ethernet Adapter
    Command 0007h (I/O Access, Memory Access, BusMaster)
    Status 0290h (Has Capabilities List, Supports Back-To-Back Trans., Medium Timing)
    Revision 10h, Header Type 00h, Bus Latency 20h
    Self test 00h (Self test not supported)
    PCI Class Network, type Ethernet
    Subsystem ID 813910ECh RT8139 (A/B/C/8130) Fast Ethernet Adapter (Generic ID)
    Subsystem Vendor 10ECh Realtek Semiconductor
    Address 0 is an I/O Port : 00009400h
    Address 1 is a Memory Address (anywhere in 0-4Gb) : EF001000h
    System IRQ 5, INT# A
    New Capabilities List Present:
    Power Management Capability
    Supports power state D1
    Current Power State : D0 (Device operational, no power saving)

    Vendor 1102h Creative Labs
    Device 0002h EMU10K1 Audio Chipset (SB Live!)
    Command 0005h (I/O Access, BusMaster)
    Status 0290h (Has Capabilities List, Supports Back-To-Back Trans., Medium Timing)
    Revision 07h, Header Type 80h, Bus Latency 20h
    Self test 00h (Self test not supported)
    PCI Class Multimedia, type Audio
    Subsystem ID 80641102h SB0102 SBLive! 5.1
    Subsystem Vendor 1102h Creative Labs
    Address 0 is an I/O Port : 00009800h
    System IRQ 11, INT# A
    New Capabilities List Present:
    Power Management Capability
    Current Power State : D0 (Device operational, no power saving)

    Vendor 1102h Creative Labs
    Device 7002h PCI Gameport
    Command 0005h (I/O Access, BusMaster)
    Status 0290h (Has Capabilities List, Supports Back-To-Back Trans., Medium Timing)
    Revision 07h, Header Type 80h, Bus Latency 20h
    Self test 00h (Self test not supported)
    PCI Class Input, type Other
    Subsystem ID 00201102h PCI Gameport
    Subsystem Vendor 1102h Creative Labs
    Address 0 is an I/O Port : 00009C00h
    New Capabilities List Present:
    Power Management Capability
    Current Power State : D0 (Device operational, no power saving)

    Vendor 1106h VIA Technologies Inc
    Device 3038h VT6202 USB Controller
    Command 0007h (I/O Access, Memory Access, BusMaster)
    Status 0210h (Has Capabilities List, Medium Timing)
    Revision 50h, Header Type 80h, Bus Latency 20h
    Self test 00h (Self test not supported)
    Cache line size 32 Bytes (8 DWords)
    PCI Class Serial, type USB (UHCI)
    Subsystem ID 12340925h VIA USB Controller
    Subsystem Vendor 0925h Known Bad Subsystem ID - no Vendor ID Available
    Address 4 is an I/O Port : 0000A000h
    System IRQ 4, INT# A
    New Capabilities List Present:
    Power Management Capability
    Supports power state D1
    Current Power State : D0 (Device operational, no power saving)

    Vendor 1106h VIA Technologies Inc
    Device 3038h VT6202 USB Controller
    Command 0007h (I/O Access, Memory Access, BusMaster)
    Status 0210h (Has Capabilities List, Medium Timing)
    Revision 50h, Header Type 80h, Bus Latency 20h
    Self test 00h (Self test not supported)
    Cache line size 32 Bytes (8 DWords)
    PCI Class Serial, type USB (UHCI)
    Subsystem ID 12340925h VIA USB Controller
    Subsystem Vendor 0925h Known Bad Subsystem ID - no Vendor ID Available
    Address 4 is an I/O Port : 0000A400h
    System IRQ 3, INT# B
    New Capabilities List Present:
    Power Management Capability
    Supports power state D1
    Current Power State : D0 (Device operational, no power saving)

    Vendor 1106h VIA Technologies Inc
    Device 3104h VT6202 USB 2.0 Enhanced Host Controller
    Command 0007h (I/O Access, Memory Access, BusMaster)
    Status 0210h (Has Capabilities List, Medium Timing)
    Revision 51h, Header Type 80h, Bus Latency 20h
    Self test 00h (Self test not supported)
    Cache line size 32 Bytes (8 DWords)
    PCI Class Serial, type USB (EHCI)
    Subsystem ID 12340925h VT6202 USB 2.0 Enhanced Host Controller
    Subsystem Vendor 0925h Known Bad Subsystem ID - no Vendor ID Available
    Address 0 is a Memory Address (anywhere in 0-4Gb) : EF002000h
    System IRQ 11, INT# C
    New Capabilities List Present:
    Power Management Capability
    Supports power state D1
    Current Power State : D0 (Device operational, no power saving)

    Vendor 10B7h 3COM Corp, Networking Division
    Device 9200h 3C905C-TX Fast Etherlink for PC Management NIC
    Command 0007h (I/O Access, Memory Access, BusMaster)
    Status 0210h (Has Capabilities List, Medium Timing)
    Revision 74h, Header Type 00h, Bus Latency 20h
    Self test 00h (Self test not supported)
    Cache line size 32 Bytes (8 DWords)
    PCI Class Network, type Ethernet
    Subsystem ID 100010B7h 3C905C-TX Fast Etherlink for PC Management NIC
    Subsystem Vendor 10B7h 3COM Corp, Networking Division
    Address 0 is an I/O Port : 0000A800h
    Address 1 is a Memory Address (anywhere in 0-4Gb) : EF003000h
    System IRQ 3, INT# A
    Expansion ROM of 128Kb decoded by this card
    New Capabilities List Present:
    Power Management Capability
    Supports power state D1
    Current Power State : D0 (Device operational, no power saving)

 ROM PCI IRQ routing table Windows 9x Compatibility Tests....
 ROM IRQ routing table found at F000h:DEA0h
 Table Version 1.0 - OK
 Table size 224 bytes - OK
 Table Checksum 9Ah - OK
 IRQ's dedicated to PCI : 3,4,5,9,10,11
 The ROM PCI IRQ routing table appears to be OK.

 IRQ Summary: IRQs 3,4,5,9,10,11,14,15 are used by PCI devices
 Shared IRQs: IRQ 3 is shared by 3 PCI Devices
 IRQ 5 is shared by 2 PCI Devices
 IRQ 10 is shared by 2 PCI Devices
 IRQ 11 is shared by 2 PCI Devices

As you can see, even more technical information is displayed. Since this article only serves to inform about the basic pci.exe routines in the prospect of os2warp.be Technical Support, we shan't discuss these additional lines.