Serial Presence Detect Information

F

foolsbar

Hi there,

I'm trying to write a C# application that gets information from a
machine such as operating system, memory, cpu etc. I'm using WMI for
this, and it all seems to work fine apart from the fact that
Win32_PhysicalMemory doesn't have any instances. I have therefore come
to the conclusion that I need to try and access the memory information
using the Serial Presence Detect (SPD) information on the EEPROM on the
memory stick(s). However, I have absolutly no idea how to get this
information.

I have read the SPD spec document, but this just tells me which bytes
contain which bits of information, and not how to access that
information in the first place.

Any pointers in the right direction would be much appreciated - or any
code excerpts would be even better!! :)

Thanks in advance
 
W

Willy Denoyette [MVP]

| Hi there,
|
| I'm trying to write a C# application that gets information from a
| machine such as operating system, memory, cpu etc. I'm using WMI for
| this, and it all seems to work fine apart from the fact that
| Win32_PhysicalMemory doesn't have any instances. I have therefore come
| to the conclusion that I need to try and access the memory information
| using the Serial Presence Detect (SPD) information on the EEPROM on the
| memory stick(s). However, I have absolutly no idea how to get this
| information.
|
| I have read the SPD spec document, but this just tells me which bytes
| contain which bits of information, and not how to access that
| information in the first place.
|
| Any pointers in the right direction would be much appreciated - or any
| code excerpts would be even better!! :)
|
| Thanks in advance
|

Hmmm... Win32_PhysicalMemory should at least return the main mamory bank
info (main board devices).
As for all other memory devices, no instances are available if the device
driver is not WMI compliant, and I don't know any of them being WMI
compliant.

Willy.
 
F

foolsbar

Just as an addition to this, I can get instances of
Win32_PhysicalMemory on different machines, just not on the one I
want!! I assume it's something to do with the BIOS not releasing the
information to Windows, hence my need to try this alternative method.
 
W

Willy Denoyette [MVP]

| Just as an addition to this, I can get instances of
| Win32_PhysicalMemory on different machines, just not on the one I
| want!! I assume it's something to do with the BIOS not releasing the
| information to Windows, hence my need to try this alternative method.
|

If the Bios can't read or detect the SPD table, you won't be able to read it
either. Anyway, a warning/error message should be given at boot time. Can
you access the DIMM characteristics from the Bios set-up, are you sure the
DIMM's are of the correct type?

Willy.
 
F

foolsbar

Hi Willy,

Thanks for keeping up with this! Just to clarify, Win32_PhysicalMemory
is empty (i.e. no instances), but it appears the SPD table is not, as
using CPU-Z (http://www.cpuid.org/cpuz.php) does give me the
information I need. I just need to figure out how to access the SPD
table, which at this stage is something I haven't got a clue how to do!!
 
W

Willy Denoyette [MVP]

| Hi Willy,
|
| Thanks for keeping up with this! Just to clarify, Win32_PhysicalMemory
| is empty (i.e. no instances), but it appears the SPD table is not, as
| using CPU-Z (http://www.cpuid.org/cpuz.php) does give me the
| information I need. I just need to figure out how to access the SPD
| table, which at this stage is something I haven't got a clue how to do!!
|

The info contained in Win32_PhysicalMemory is not what is in the SPD tables.
The SPD is read by the Bios to set the memory timing at boot time to a safe
and memory manufacturer supported value, but this value is never supplied to
the user through WMI. How you can read the SPD from user code depends on the
Bios and chipset manufacturer and is kept as a 'secret' (but of course there
are leaks), all I know is that you can't read these tables from C#, and it's
not what you are looking for anyway.

Willy.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top