In-band ecc (IBECC) on Minisforum MS-01?

Hey everyone, I stumbled upon something curios recently: There are a few Intel based mobile platforms that support in-band ECC (IBECC) on standard (non-ecc) DIMMs with a relatively small performance impact (There’s a great explanation on AnandTech Setup Notes: The In-Band ECC Option - ASRock Industrial NUCS BOX-1360P/D4 Review: Raptor Lake-P Impresses, plus Surprise ECC and one on STH LattePanda Sigma Review The Raspberry Pi Alternative with In-Band ECC and Faster than a Mac Mini - Page 2 of 3).

This requires BIOS support to enable the feature but apparently some vendors even added the feature to the BIOS later at user request (H4 series / in-band ECC feature? - ODROID as mentioned here ODROID-H4 Plus review - Part 2: Intel N97 NAS Kit and fanless SBC tested in Ubuntu 24.04 - CNX Software). Support for this even exists in the linux kernel as an EDAC module (igen6): igen6_edac.c « edac « drivers - kernel/git/torvalds/linux.git - Linux kernel source tree

Now, curiously, someone on the STH forum received an igen6 related error message on their Minisforum ms-01 (Minisforum ms-01 i9-13900H 96GB with Proxmox | ServeTheHome Forums):

[Thu Jul 18 15:39:36 2024] EDAC MC0: Giving out device to module igen6_edac controller Intel_client_SoC MC#0: DEV 0000:00:00.0 (INTERRUPT)
[Thu Jul 18 15:39:36 2024] EDAC MC1: Giving out device to module igen6_edac controller Intel_client_SoC MC#1: DEV 0000:00:00.0 (INTERRUPT)
[Thu Jul 18 15:39:36 2024] EDAC igen6 MC1: HANDLING IBECC MEMORY ERROR
[Thu Jul 18 15:39:36 2024] EDAC igen6 MC1: ADDR 0x1ffffffffff
[Thu Jul 18 15:39:36 2024] EDAC igen6 MC0: HANDLING IBECC MEMORY ERROR
[Thu Jul 18 15:39:36 2024] EDAC igen6 MC0: ADDR 0x1ffffffffff
[Thu Jul 18 15:39:36 2024] EDAC igen6: v2.5.1

I have not been able to find any other mention of this anywhere and don’t own an ms-01 to test this myself but I guess this means that at least on some of those machines (perhaps depending on the BIOS version) ibecc seems to be activated. And, since the Intel die IDs for Alder Lake are part of the igen6 kernel module they even report to dmesg automatically.

I feel like having working (and even correctly reporting) ECC on the ms-01 is a feature that many homelab users would be interested in and perhaps the Level1 community could get in touch with Minisforum to get official support for this feature in a future BIOS – or if Minisforum turns out to not be interested in this it might be possible to manually enable it in a different way. I’ve found, for example, that according to Intel (https://www.intel.com/content/www/us/en/content-details/655259/12th-generation-intel-core-processor-datasheet-volume-2-of-2.html) IBECC may be enabled by the OS (Section 3.1.33 mentions a capability IBECC_DIS that can be overwritten by the OS to enable IBECC as long as it is not locked down by hardware).

1 Like

One way to check wether IBECC is enabled on your machine would be to run

sudo journalctl -b -g igen6

And check for output similar to that in the quote above. If nothing shows up you could try to load the igen6 module:

sudo modprobe igen6_edac

or permanently add igen6_edac to /etc/modules-load.d/modules.conf.

For long-term deployment it might make sense to use rasdaemon:

sudo apt install rasdaemon
sudo systemctl start rasdaemon
sudo systemctl enable rasdaemon

and check for memory errors with

sudo ras-mc-ctl --errors

1 Like

I tried contacting CWWK (makers of NAS boards) about this, but never got a response.

IBECC is great, but it seems it’s not a widely known feature, unfortunately.

1 Like