2

Is it possible that linux software capture TLP packet of PCI-E?

I want to know debugging pci-e card.

Thanks

myj
  • 23
  • 1
  • 4

2 Answers2

3

The only way to debug the actual protocol items, which are called Transaction Layer Packets (TLPs) and Data Link Layer Packets (DLLPs) is to use a hardware PCI Express Protocol Analyzers. Very few are sold so the prices are high. Lots of engineering goes into capturing data at gigabit speeds and presenting it in an easy to decipher form. LeCroy's cheapest unit starts from $16,000. The lowest priced PCI Express Protocol Analyzer on the market is from ITIC ($7,995). This includes the protocol analyzer, a x4 lane slot probe, cables and software.

http://www.internationaltestinstruments.com/products/100-itic-2500a-x4-25-gbps-pci-express-protocol-analyzer.aspx

John
  • 41
  • 1
  • Now down to $5000, apparently, and looks great, but note that it's only for PCIe 1.1 (2.5G). But you can probably use it to debug modern cards by bringing the link speed down. I'm currently using a (LeCroy) Gen2 analyser on a Gen3 card and it works fine once you've configured the link to run slower. – John Lawrence Aspden Dec 12 '16 at 12:12
3

I don't believe so -- from a software viewpoint, PCI-E is quit well disguised to look like (fast) PCI.

As far as I know, nearly the only reasonable way to do this is with specialized hardware -- specifically a logic analyzer with a PCI-E bus probe. I've used an Agilent analyzer with a FuturePlus probe, and can recommend the combination with only a couple reservations: first, it's not cheap. Second, it can be a bit of a jump for somebody accustomed purely to software.

Jerry Coffin
  • 476,176
  • 80
  • 629
  • 1,111