Utility to view some info on PCI devices



Utility uses WMI to enumerate PCI devices and their properties.
- Sortable by any column (just click on the columns header).<br />- In column &quot;status&quot; an exclamation glyph is shown when error code is not &quot;0&quot; so that user can hover mouse pointer over it to view the description (I faked errors in the screenshot - to demonstrate the view).<br />- Most columns have description - hover mouse pointer over the columns header.
- Utility is built with .Net 4.5
- On Win7/Win8 some columns will stay empty.

Thanks, looks interesting and useful! In addition to the link speed and link width, can you add in one more column to show what lanes are assigned to each device?
I will test on Win7 for you tonight! Never mind, it opens but I see you have disabled Win7 support by default, so I can’t test for you. If you want to add win7 compatibility I can test for you.

Re-download and try on Win7 and on Win8 if you have it. It should show some info but some columns will stay empty. It is not my choice - to not support Win7 (and Win8); it is about some things in WMI not implemented in older versions of Windows.

There is no such info in WMI. Also why do you want to see this? You can find/use/configure individual lanes in PCI Express bus?

Thanks, testing now. I wanted to see the lane assignments for when I want to switch lanes around, change lane speeds, change split lane amounts, or disable something in a test for someone. Yes, that can be done in by editing, sometimes BIOS settings editing, and also mainly in Intel ME FW editing.
* Edit - it opens in win7, remains blank, and gives warning box "One or more errors occurred"

OK, I need to debug in older OS.

May be there is some API in Windows for such PCI Express manipulation. If you will find it I can try to use it, or I can write new utility specially for you.

Sorry to bring you new issues, I thought maybe it would be simple test I could do for you, and then maybe simple fix on your end if it didn’t work.
As for the PCIE stuff I wanted, I am not sure about an API for manipulation, maybe you need or not to make it show up in your app? I don’t need your app to manipulate anything, only show me current values for devices in use. I will do the manipulations with BIOS tools

No need to be sorry. It is a good thing you reported an issues.
It will be simple fix if I do debug utility on computer with Win7. Otherwise it could be resolved only by meditation on source text.

As for API I mean that if such API for manipulation exists it should contain informational functions which can be used to show current state.

PS Btw, if you are talking about ME stuff for lanes manipulation, does it mean there is no such manipulation for AMD systems?

Well I mean sorry to bring more work your way if you intend to debug and try to fix it, I know this kind of thing can be a hassle sometimes
I’m sure there is some kind of API for getting these values, I think AIDA64/HWInfo64 shows sometimes but I can never be sure (Never looked up on my end when the time was right, will do now I think!)

I assume AMD similar things can be edited in the BIOS, but for the Intel ME side of those edits not shown in BIOS settings I do not know how that correlates on AMD (possibly in another AMD BIOS module, for whatever is not available in hidden BIOS settings)
Do you want me to show you some images of the type of things you can adjust related to that in Intel ME FW Tools?

Yes, please.

PS If I will fail to find Win7 at work I will add tracing code and will ask you to execute utility once more - to gather trace info.

Here’s some examples from a Z370 ME (ver 11.8)
[[File:ME-PCIE (1).png|none|auto]] [[File:ME-PCIE (2).png|none|auto]] [[File:ME-PCIE (3).png|none|auto]] [[File:ME-PCIE (4).png|none|auto]] [[File:ME-PCIE (5).png|none|auto]]

Further changes can be set at the BIOS level, usually in hidden from user settings (that can sometimes be made visible for user, but not always, but can always be changed if present even if not visible to user)
For example, these below from same BIOS are hidden from user, and there is several other sections with other settings and controls for all this hidden from user too
[[File:BIOS-PCIE1 (1).png|none|auto]] [[File:BIOS-PCIE1 (2).png|none|auto]] [[File:BIOS-PCIE1 (3).png|none|auto]] [[File:BIOS-PCIE1 (4).png|none|auto]]

Fail to find Win7 at work, do you mean ISO to install for testing? You can download Win7 ISO directly from Microsoft and use in trial mode for 30 days I think, let me know if you need link I will PM you.

ME-PCIE (1).png

ME-PCIE (2).png

ME-PCIE (3).png

ME-PCIE (4).png

ME-PCIE (5).png

BIOS-PCIE1 (1).png

BIOS-PCIE1 (2).png

BIOS-PCIE1 (3).png

BIOS-PCIE1 (4).png

I see no individual lanes mappings in these screenshots. I see width selection.

Individual mappings are in other BIOS settings I didn’t post. Width selection and changing those around, can then change already individually mapped items or with other BIOS setting adjustments you can change around further as well.


I re-built utility with .Net Framework 4.5 (instead of initial 4.7.1), and I forgot to mention that Windows 7 by default is shipped with .Net Framework 4.0 - so if you have never installed newer .Net then utility will refuse to work (with error "One or more errors occurred").
Also I optimized WMI queries a bit.

You can re-download and test (with .Net 4.5 or newer installed in Win7).

I already had .NET 4.7 installed (4.7.02053 - since 7/17), so should be good! Downloading now, thanks * Tested, same “One or more errors occurred” I see link speed and width

I found the problem with Windows 7 (and 8). Will fix as soon as I get to home.


Fixed the code which prevented utility to show data on Win7/Win8.

Upload still in progress? Guess it’s failed since you posted 10 minutes ago, have to reup

Hmmm… Never saw such state. Will check at mediafire…

Update: Updated the post above with correct link.

I’ve never seen that either, normally you can’t even get a link to give out until upload is finished
*Edit - it works now, but sparse info given and no lane assignment column (I know, you need something to add this possibly, if ever possible)



Probably I copied the link which was either incomplete, or incorrect. Updated the post with correct one (which is the same as in OP, naturally).