# Memory question

## i0

Hi

Weird thing.

I have a Intel Xeon machine with Tyan Tempest i5000VS S5372 motherboard and 2 Kingston ECC FB/DIMM modules.

Problem is that memtest86 does not show that this is ECC memory (even when i try to switch ecc on from memtest86 configuration).

Dmidecode does not show that system has ecc memory.

```
titania ~ # dmidecode --type memory

 # dmidecode 2.9

 SMBIOS 2.4 present.

 Handle 0x001E, DMI type 16, 15 bytes

 Physical Memory Array

         Location: System Board Or Motherboard

         Use: System Memory

         Error Correction Type: None

         Maximum Capacity: 64 GB

         Error Information Handle: Not Provided

         Number Of Devices: 2

```

Answer about this issue from Tyan says:

 *Quote:*   

> This is not possible. If you need to switch off ECC, you can only do that on
> 
> platforms, which use DDR 1 or 2 Registered ECC modules. On FBDIMM modules,
> 
> there is no possibility to disable ECC. 
> ...

 

So i guess, both (memtest86, dmidecode) lie to me?

Any ideas?

----------

## manaka

Have tested many servers with ECC memory... In all cases, memtest86 showed ECC support as disabled... I think (but I am not completely sure) memtest86 disables ECC if supported by the chipset... So it always shows ECC support as disabled...

As for dmidecode, it reports the information that was written by the motherboard vendor... Some vendors or motherboard models seem to provide more accurate descriptions than others... So I think that dmidecode is not lying, it's reading wrong information... 

Here is the dmidecode output on one of my servers... Seems accurate in this case...  :Smile: 

```

dmidecode --type memory

# dmidecode 2.9

SMBIOS 2.34 present.

Handle 0x0019, DMI type 16, 15 bytes

Physical Memory Array

        Location: System Board Or Motherboard

        Use: System Memory

        Error Correction Type: Single-bit ECC

        Maximum Capacity: 16 GB

        Error Information Handle: Not Provided

        Number Of Devices: 8

```

----------

## i0

 *manaka wrote:*   

> Have tested many servers with ECC memory... In all cases, memtest86 showed ECC support as disabled... I think (but I am not completely sure) memtest86 disables ECC if supported by the chipset... So it always shows ECC support as disabled...
> 
> 

 

Yes, memtest86 should disable ECC for testing (correct me if i am wrong) because there would be not much sense to test memory module if it corrects errors, however ECC can be enabled (correct me again, if i'm wrong) during memory testing.

One of other servers, while testing with memtest86 i was able to switch ECC on during test and also dmidecode shows that memory has ECC.

```
# dmidecode 2.9

SMBIOS 2.3 present.

Handle 0x002B, DMI type 16, 15 bytes

Physical Memory Array

   Location: System Board Or Motherboard

   Use: System Memory

   Error Correction Type: Single-bit ECC

   Maximum Capacity: 12 GB

   Error Information Handle: Not Provided

   Number Of Devices: 8

```

In this problematic server's BIOS there is an option about ECC correction type, (single, dual, both), in default it is Single bit, and there is no option to switch ECC off (MB makers are right on that part). What puzzles me is, how can i actually believe (yes, i'm really paranoid  :Smile:  ) that there is an ECC memory?

Extend this situation to any other product.

Like: how can you know if an product has a feature if all methods say it is not there and only thing that says that this feature is there is manufacturer/seller.

Very weird.

----------

## NeddySeagoon

i0,

dmidecode tells you nothing about your memory.

It reads a piece of the BIOS ROM space that is supposed to descrive the RAM but more often than not, does not.

Read the SPD PROMs on your DIMMS

You need kernel support for i2c on your chipset

and the kernel eeprom module which depends on i2c.

Both those things can be modules.

After that you need lm-sensors but it does not need to be set up.

lm-sensors provides a script called decode-dimms.pl which reads the SPD

content on each RAM stick.

----------

## i0

Thanx, NeddySeagoon 

I look into that, and post results here.

Thanx, again.

i0

----------

