Checking it out now:
It’s now picking up the vcore reading!
Still thinks it’s single-channel though, digging into why now with DeepSeek. In the meantime, a couple UI notes:
The graph function doesn’t re-draw the rest of the terminal window section below it, so those values just sit there, makes it hard to read. The probe report option also does this, only over-writing the blue border and the consent buttons, so it’s nigh impossible to read:
On the burn-in test, the “#:## elapsed” counter doesn’t tick up. I think that’s all the UI bugs I can find so far.
I can’t upload .md files, so here’s a paste of the probe report in a hide section, so it won’t make everyone scroll a million years
.
probe-report
RamSleuth Probe Report
12th Gen Intel(R) Core™ i5-12600KF — AlderLake on linux (kernel 7.3.0-rc5-tkg-bore-llvm), RamSleuth v2.4.14
System
| Field |
Value |
| CPU |
12th Gen Intel(R) Core™ i5-12600KF |
| Vendor |
Intel |
| Generation |
AlderLake |
| PCI Host Bridge |
0x4648 |
| Kernel |
7.3.0-rc5-tkg-bore-llvm |
| OS |
linux |
| Arch |
x86_64 |
| RamSleuth Version |
2.4.14 |
| Telemetry Source |
dev-mem |
Decoded Telemetry
CPU
| Field |
Value |
| vendor |
Intel AlderLake |
| brand |
12th Gen Intel(R) Core™ i5-12600KF |
| CPU Core Voltage |
0.704 V [est] |
AMD
N/A (unsupported hardware)
Intel
| Field |
Value |
| channel mode |
Single-Channel |
Channel 0
| Clock |
Value |
| MCLK |
3600.00 MHz |
| MT/s |
7200 MT/s |
| UCLK |
3600.00 MHz |
| FCLK |
N/A (not applicable) |
| UCLK:MCLK |
N/A (not applicable) |
| gear mode |
1x |
| GDM |
N/A (not applicable) |
| PDM |
N/A (not applicable) |
| command rate |
N/A (not applicable) |
| Timing (ticks) |
Value |
| tCL |
N/A (parse error: tCL 0 ticks outside plausible range [1, 2048]) |
| tRCDWR |
2 |
| tRCDRD |
2 |
| tRP |
8 |
| tRAS |
N/A (parse error: tRAS 0 ticks outside plausible range [1, 2048]) |
| tRC |
N/A (not applicable) |
| tRRDS |
4 |
| tRRLD |
N/A (parse error: tRRD_L 0 ticks outside plausible range [1, 2048]) |
| tFAW |
N/A (parse error: tFAW 0 ticks outside plausible range [1, 2048]) |
| tWTRS |
26 |
| tWTRL |
2 |
| tWR |
N/A (parse error: tWR 0 ticks outside plausible range [1, 2048]) |
| tRFC1 |
1024 |
| tRFC2 |
N/A (not applicable) |
| tRFCsb |
N/A (parse error: tRFCsb 0 ticks outside plausible range [1, 2048]) |
| tCWL |
1 |
| tRTP |
1 |
| tRDWR |
N/A (not applicable) |
| tWRRD |
N/A (not applicable) |
| tRDRD(SD) |
N/A (parse error: tRDRD(dr) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(CCD) |
N/A (parse error: tRDRD(dd) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(SCL) |
N/A (parse error: tRDRD(sg) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(SC) |
N/A (parse error: tRDRD(dg) 0 ticks outside plausible range [1, 2048]) |
| tWRWR(SD) |
N/A (not applicable) |
| tWRWR(CCD) |
N/A (not applicable) |
| tWRWR(SCL) |
N/A (parse error: tWRWR(sg) 0 ticks outside plausible range [1, 2048]) |
| tWRWR(SC) |
N/A (parse error: tWRWR(dg) 0 ticks outside plausible range [1, 2048]) |
| CAD bus (ohms) |
Value |
| proc ODT |
N/A (not applicable) |
| RTT nom |
N/A (not applicable) |
| RTT wr |
N/A (not applicable) |
| RTT park |
N/A (not applicable) |
| CLK drive |
N/A (not applicable) |
| ADD/CMD drive |
N/A (not applicable) |
| CS/ODT drive |
N/A (not applicable) |
| CKE drive |
N/A (not applicable) |
| Rail (V) |
Value |
| VDDCR_SOC |
N/A (not applicable) |
| VDDIO_MEM |
N/A (not applicable) |
| VDD_MISC |
N/A (not applicable) |
| VPP |
N/A (not applicable) |
| RTL (ticks) |
Value |
| RTL |
N/A (not applicable) |
Channel 1
| Clock |
Value |
| MCLK |
3600.00 MHz |
| MT/s |
7200 MT/s |
| UCLK |
3600.00 MHz |
| FCLK |
N/A (not applicable) |
| UCLK:MCLK |
N/A (not applicable) |
| gear mode |
1x |
| GDM |
N/A (not applicable) |
| PDM |
N/A (not applicable) |
| command rate |
N/A (not applicable) |
| Timing (ticks) |
Value |
| tCL |
N/A (parse error: tCL: register read failed) |
| tRCDWR |
N/A (parse error: tRCD: register read failed) |
| tRCDRD |
N/A (parse error: tRCD: register read failed) |
| tRP |
N/A (parse error: tRP: register read failed) |
| tRAS |
N/A (parse error: tRAS: register read failed) |
| tRC |
N/A (not applicable) |
| tRRDS |
N/A (parse error: tRRD_S: register read failed) |
| tRRLD |
N/A (parse error: tRRD_L: register read failed) |
| tFAW |
N/A (parse error: tFAW: register read failed) |
| tWTRS |
N/A (parse error: tWTR_S: register read failed) |
| tWTRL |
N/A (parse error: tWTR_L: register read failed) |
| tWR |
N/A (parse error: tWR: register read failed) |
| tRFC1 |
N/A (parse error: tRFC1: register read failed) |
| tRFC2 |
N/A (not applicable) |
| tRFCsb |
N/A (parse error: tRFCsb: register read failed) |
| tCWL |
N/A (parse error: tCWL: register read failed) |
| tRTP |
N/A (parse error: tRTP: register read failed) |
| tRDWR |
N/A (not applicable) |
| tWRRD |
N/A (not applicable) |
| tRDRD(SD) |
N/A (parse error: tRDRD(dr): register read failed) |
| tRDRD(CCD) |
N/A (parse error: tRDRD(dd): register read failed) |
| tRDRD(SCL) |
N/A (parse error: tRDRD(sg): register read failed) |
| tRDRD(SC) |
N/A (parse error: tRDRD(dg): register read failed) |
| tWRWR(SD) |
N/A (not applicable) |
| tWRWR(CCD) |
N/A (not applicable) |
| tWRWR(SCL) |
N/A (parse error: tWRWR(sg): register read failed) |
| tWRWR(SC) |
N/A (parse error: tWRWR(dg): register read failed) |
| CAD bus (ohms) |
Value |
| proc ODT |
N/A (not applicable) |
| RTT nom |
N/A (not applicable) |
| RTT wr |
N/A (not applicable) |
| RTT park |
N/A (not applicable) |
| CLK drive |
N/A (not applicable) |
| ADD/CMD drive |
N/A (not applicable) |
| CS/ODT drive |
N/A (not applicable) |
| CKE drive |
N/A (not applicable) |
| Rail (V) |
Value |
| VDDCR_SOC |
N/A (not applicable) |
| VDDIO_MEM |
N/A (not applicable) |
| VDD_MISC |
N/A (not applicable) |
| VPP |
N/A (not applicable) |
| RTL (ticks) |
Value |
| RTL |
N/A (not applicable) |
Channel 2
| Clock |
Value |
| MCLK |
3600.00 MHz |
| MT/s |
7200 MT/s |
| UCLK |
3600.00 MHz |
| FCLK |
N/A (not applicable) |
| UCLK:MCLK |
N/A (not applicable) |
| gear mode |
1x |
| GDM |
N/A (not applicable) |
| PDM |
N/A (not applicable) |
| command rate |
N/A (not applicable) |
| Timing (ticks) |
Value |
| tCL |
N/A (parse error: tCL 0 ticks outside plausible range [1, 2048]) |
| tRCDWR |
N/A (parse error: tRCD 0 ticks outside plausible range [1, 2048]) |
| tRCDRD |
N/A (parse error: tRCD 0 ticks outside plausible range [1, 2048]) |
| tRP |
N/A (parse error: tRP 0 ticks outside plausible range [1, 2048]) |
| tRAS |
N/A (parse error: tRAS 0 ticks outside plausible range [1, 2048]) |
| tRC |
N/A (not applicable) |
| tRRDS |
1 |
| tRRLD |
N/A (parse error: tRRD_L 0 ticks outside plausible range [1, 2048]) |
| tFAW |
N/A (parse error: tFAW 0 ticks outside plausible range [1, 2048]) |
| tWTRS |
N/A (parse error: tWTR_S 0 ticks outside plausible range [1, 2048]) |
| tWTRL |
24 |
| tWR |
N/A (parse error: tWR 0 ticks outside plausible range [1, 2048]) |
| tRFC1 |
N/A (parse error: tRFC1 0 ticks outside plausible range [1, 2048]) |
| tRFC2 |
N/A (not applicable) |
| tRFCsb |
N/A (parse error: tRFCsb 0 ticks outside plausible range [1, 2048]) |
| tCWL |
16 |
| tRTP |
16 |
| tRDWR |
N/A (not applicable) |
| tWRRD |
N/A (not applicable) |
| tRDRD(SD) |
N/A (parse error: tRDRD(dr) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(CCD) |
N/A (parse error: tRDRD(dd) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(SCL) |
N/A (parse error: tRDRD(sg) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(SC) |
N/A (parse error: tRDRD(dg) 0 ticks outside plausible range [1, 2048]) |
| tWRWR(SD) |
N/A (not applicable) |
| tWRWR(CCD) |
N/A (not applicable) |
| tWRWR(SCL) |
N/A (parse error: tWRWR(sg) 0 ticks outside plausible range [1, 2048]) |
| tWRWR(SC) |
N/A (parse error: tWRWR(dg) 0 ticks outside plausible range [1, 2048]) |
| CAD bus (ohms) |
Value |
| proc ODT |
N/A (not applicable) |
| RTT nom |
N/A (not applicable) |
| RTT wr |
N/A (not applicable) |
| RTT park |
N/A (not applicable) |
| CLK drive |
N/A (not applicable) |
| ADD/CMD drive |
N/A (not applicable) |
| CS/ODT drive |
N/A (not applicable) |
| CKE drive |
N/A (not applicable) |
| Rail (V) |
Value |
| VDDCR_SOC |
N/A (not applicable) |
| VDDIO_MEM |
N/A (not applicable) |
| VDD_MISC |
N/A (not applicable) |
| VPP |
N/A (not applicable) |
| RTL (ticks) |
Value |
| RTL |
N/A (not applicable) |
Channel 3
| Clock |
Value |
| MCLK |
3600.00 MHz |
| MT/s |
7200 MT/s |
| UCLK |
3600.00 MHz |
| FCLK |
N/A (not applicable) |
| UCLK:MCLK |
N/A (not applicable) |
| gear mode |
1x |
| GDM |
N/A (not applicable) |
| PDM |
N/A (not applicable) |
| command rate |
N/A (not applicable) |
| Timing (ticks) |
Value |
| tCL |
N/A (parse error: tCL: register read failed) |
| tRCDWR |
N/A (parse error: tRCD: register read failed) |
| tRCDRD |
N/A (parse error: tRCD: register read failed) |
| tRP |
N/A (parse error: tRP: register read failed) |
| tRAS |
N/A (parse error: tRAS: register read failed) |
| tRC |
N/A (not applicable) |
| tRRDS |
N/A (parse error: tRRD_S: register read failed) |
| tRRLD |
N/A (parse error: tRRD_L: register read failed) |
| tFAW |
N/A (parse error: tFAW: register read failed) |
| tWTRS |
N/A (parse error: tWTR_S: register read failed) |
| tWTRL |
N/A (parse error: tWTR_L: register read failed) |
| tWR |
N/A (parse error: tWR: register read failed) |
| tRFC1 |
N/A (parse error: tRFC1: register read failed) |
| tRFC2 |
N/A (not applicable) |
| tRFCsb |
N/A (parse error: tRFCsb: register read failed) |
| tCWL |
N/A (parse error: tCWL: register read failed) |
| tRTP |
N/A (parse error: tRTP: register read failed) |
| tRDWR |
N/A (not applicable) |
| tWRRD |
N/A (not applicable) |
| tRDRD(SD) |
N/A (parse error: tRDRD(dr): register read failed) |
| tRDRD(CCD) |
N/A (parse error: tRDRD(dd): register read failed) |
| tRDRD(SCL) |
N/A (parse error: tRDRD(sg): register read failed) |
| tRDRD(SC) |
N/A (parse error: tRDRD(dg): register read failed) |
| tWRWR(SD) |
N/A (not applicable) |
| tWRWR(CCD) |
N/A (not applicable) |
| tWRWR(SCL) |
N/A (parse error: tWRWR(sg): register read failed) |
| tWRWR(SC) |
N/A (parse error: tWRWR(dg): register read failed) |
| CAD bus (ohms) |
Value |
| proc ODT |
N/A (not applicable) |
| RTT nom |
N/A (not applicable) |
| RTT wr |
N/A (not applicable) |
| RTT park |
N/A (not applicable) |
| CLK drive |
N/A (not applicable) |
| ADD/CMD drive |
N/A (not applicable) |
| CS/ODT drive |
N/A (not applicable) |
| CKE drive |
N/A (not applicable) |
| Rail (V) |
Value |
| VDDCR_SOC |
N/A (not applicable) |
| VDDIO_MEM |
N/A (not applicable) |
| VDD_MISC |
N/A (not applicable) |
| VPP |
N/A (not applicable) |
| RTL (ticks) |
Value |
| RTL |
N/A (not applicable) |
SPD
Module 0x50 (DDR4)
| Field |
Value |
| maker |
0xEF (bank 5) |
| die maker |
SK hynix |
| die type |
N/A (not applicable) |
| devices |
8 |
| part |
TEAMGROUP-UD4-3600 |
| serial |
0104D817 |
| rank |
1 |
| density |
16384 Mbit |
| speed |
3200 MT/s |
- profile 1 (XMP): 3200 MT/s, 15-19-19-37 @ 1.350 V
Platform
| Field |
Value |
| CPU clock (MHz) |
799.15 MHz |
| motherboard |
Z690M-ITX/ax |
| BIOS |
21.01 + 09/26/2025 |
| AGESA |
N/A (not applicable) |
| SMU version |
N/A (not applicable) |
| total capacity |
31.2 GiB |
| per-DIMM sizes |
16.0 GiB |
Raw Registers
| Register |
Value |
| MC_BIOS_REQ |
0x79E00124 |
| TC_CH0_DBP |
0xFFFFFFFF |
| TC_CH0_RAP |
0xFFFFFFFF |
| TC_CH0_RFP |
0xFFFFFFFF |
| TC_CH0_RAP2 |
0xFFFFFFFF |
| TC_CH0_RDRD |
0xFFFFFFFF |
| TC_CH0_RDWR |
0xFFFFFFFF |
| TC_CH0_WRRD |
0xFFFFFFFF |
| TC_CH0_WRWR |
0xFFFFFFFF |
| TC_CH1_DBP |
0xFFFFFFFF |
| TC_CH1_RAP |
0xFFFFFFFF |
| TC_CH1_RFP |
0xFFFFFFFF |
| TC_CH1_RAP2 |
0xFFFFFFFF |
| TC_CH1_RDRD |
0xFFFFFFFF |
| TC_CH1_RDWR |
0xFFFFFFFF |
| TC_CH1_WRRD |
0xFFFFFFFF |
| TC_CH1_WRWR |
0xFFFFFFFF |
| TC_CH2_DBP |
0xFFFFFFFF |
| TC_CH2_RAP |
0xFFFFFFFF |
| TC_CH2_RFP |
0xFFFFFFFF |
| TC_CH2_RAP2 |
0xFFFFFFFF |
| TC_CH2_RDRD |
0xFFFFFFFF |
| TC_CH2_RDWR |
0xFFFFFFFF |
| TC_CH2_WRRD |
0xFFFFFFFF |
| TC_CH2_WRWR |
0xFFFFFFFF |
| TC_CH3_DBP |
0xFFFFFFFF |
| TC_CH3_RAP |
0xFFFFFFFF |
| TC_CH3_RFP |
0xFFFFFFFF |
| TC_CH3_RAP2 |
0xFFFFFFFF |
| TC_CH3_RDRD |
0xFFFFFFFF |
| TC_CH3_RDWR |
0xFFFFFFFF |
| TC_CH3_WRRD |
0xFFFFFFFF |
| TC_CH3_WRWR |
0xFFFFFFFF |
| MCL0_PRE |
0x01000208 |
| MCL0_ACT |
0x00000400 |
| MCL0_ACT2 |
0xFFFFFFFF |
| MCL0_WTR |
0x0100021A |
| MCL0_RFP |
0x00000400 |
| MCL0_RFP2 |
0x00000000 |
| MCL0_RDRD |
0x00000000 |
| MCL0_WRWR |
0x00620000 |
| MCL1_PRE |
0x10000000 |
| MCL1_ACT |
0x00000100 |
| MCL1_ACT2 |
0x00000000 |
| MCL1_WTR |
0x10001800 |
| MCL1_RFP |
0x00000000 |
| MCL1_RFP2 |
0x00000000 |
| MCL1_RDRD |
0x00000000 |
| MCL1_WRWR |
0x00000000 |
| MAD_INTER_CHANNEL |
N/A (absent) |
| MAD_INTRA_CH0 |
N/A (absent) |
| MAD_INTRA_CH1 |
N/A (absent) |
| MAD_DIMM_CH0 |
N/A (absent) |
| MAD_DIMM_CH1 |
N/A (absent) |
| MAD_DIMM_CH2 |
N/A (absent) |
| MAD_DIMM_CH3 |
N/A (absent) |
| MCHBAR_BASE |
0xFEDC0000 |
| MCHBAR_ENABLED |
true |
N/A Reasons
amd (whole branch) — N/A (unsupported hardware)
intel.ch0.clocks.fclk — N/A (not applicable)
intel.ch0.clocks.div_mode — N/A (not applicable)
intel.ch0.clocks.gdm — N/A (not applicable)
intel.ch0.clocks.pdm — N/A (not applicable)
intel.ch0.clocks.command_rate — N/A (not applicable)
intel.ch0.timings.cl — N/A (parse error: tCL 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.ras — N/A (parse error: tRAS 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rc — N/A (not applicable)
intel.ch0.timings.rrld — N/A (parse error: tRRD_L 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.faw — N/A (parse error: tFAW 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.wr — N/A (parse error: tWR 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rfc2 — N/A (not applicable)
intel.ch0.timings.rfcsb — N/A (parse error: tRFCsb 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rdwr — N/A (not applicable)
intel.ch0.timings.wrrd — N/A (not applicable)
intel.ch0.timings.rdrd_sd — N/A (parse error: tRDRD(dr) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rdrd_dd — N/A (parse error: tRDRD(dd) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rdrd_scl — N/A (parse error: tRDRD(sg) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rdrd_sc — N/A (parse error: tRDRD(dg) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.wrwr_sd — N/A (not applicable)
intel.ch0.timings.wrwr_dd — N/A (not applicable)
intel.ch0.timings.wrwr_scl — N/A (parse error: tWRWR(sg) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.wrwr_sc — N/A (parse error: tWRWR(dg) 0 ticks outside plausible range [1, 2048])
intel.ch0.cad_bus.proc_odt — N/A (not applicable)
intel.ch0.cad_bus.rtt_nom — N/A (not applicable)
intel.ch0.cad_bus.rtt_wr — N/A (not applicable)
intel.ch0.cad_bus.rtt_park — N/A (not applicable)
intel.ch0.cad_bus.clk_drv — N/A (not applicable)
intel.ch0.cad_bus.addr_cmd_drv — N/A (not applicable)
intel.ch0.cad_bus.cs_odt_drv — N/A (not applicable)
intel.ch0.cad_bus.cke_drv — N/A (not applicable)
intel.ch0.voltages.vddcr_soc — N/A (not applicable)
intel.ch0.voltages.vddio_mem — N/A (not applicable)
intel.ch0.voltages.vdd_misc — N/A (not applicable)
intel.ch0.voltages.vpp — N/A (not applicable)
intel.ch0.rtl — N/A (not applicable)
intel.ch1.clocks.fclk — N/A (not applicable)
intel.ch1.clocks.div_mode — N/A (not applicable)
intel.ch1.clocks.gdm — N/A (not applicable)
intel.ch1.clocks.pdm — N/A (not applicable)
intel.ch1.clocks.command_rate — N/A (not applicable)
intel.ch1.timings.cl — N/A (parse error: tCL: register read failed)
intel.ch1.timings.rcwdwr — N/A (parse error: tRCD: register read failed)
intel.ch1.timings.rcdrd — N/A (parse error: tRCD: register read failed)
intel.ch1.timings.rp — N/A (parse error: tRP: register read failed)
intel.ch1.timings.ras — N/A (parse error: tRAS: register read failed)
intel.ch1.timings.rc — N/A (not applicable)
intel.ch1.timings.rrds — N/A (parse error: tRRD_S: register read failed)
intel.ch1.timings.rrld — N/A (parse error: tRRD_L: register read failed)
intel.ch1.timings.faw — N/A (parse error: tFAW: register read failed)
intel.ch1.timings.wtrs — N/A (parse error: tWTR_S: register read failed)
intel.ch1.timings.wtrl — N/A (parse error: tWTR_L: register read failed)
intel.ch1.timings.wr — N/A (parse error: tWR: register read failed)
intel.ch1.timings.rfc1 — N/A (parse error: tRFC1: register read failed)
intel.ch1.timings.rfc2 — N/A (not applicable)
intel.ch1.timings.rfcsb — N/A (parse error: tRFCsb: register read failed)
intel.ch1.timings.cwl — N/A (parse error: tCWL: register read failed)
intel.ch1.timings.rtp — N/A (parse error: tRTP: register read failed)
intel.ch1.timings.rdwr — N/A (not applicable)
intel.ch1.timings.wrrd — N/A (not applicable)
intel.ch1.timings.rdrd_sd — N/A (parse error: tRDRD(dr): register read failed)
intel.ch1.timings.rdrd_dd — N/A (parse error: tRDRD(dd): register read failed)
intel.ch1.timings.rdrd_scl — N/A (parse error: tRDRD(sg): register read failed)
intel.ch1.timings.rdrd_sc — N/A (parse error: tRDRD(dg): register read failed)
intel.ch1.timings.wrwr_sd — N/A (not applicable)
intel.ch1.timings.wrwr_dd — N/A (not applicable)
intel.ch1.timings.wrwr_scl — N/A (parse error: tWRWR(sg): register read failed)
intel.ch1.timings.wrwr_sc — N/A (parse error: tWRWR(dg): register read failed)
intel.ch1.cad_bus.proc_odt — N/A (not applicable)
intel.ch1.cad_bus.rtt_nom — N/A (not applicable)
intel.ch1.cad_bus.rtt_wr — N/A (not applicable)
intel.ch1.cad_bus.rtt_park — N/A (not applicable)
intel.ch1.cad_bus.clk_drv — N/A (not applicable)
intel.ch1.cad_bus.addr_cmd_drv — N/A (not applicable)
intel.ch1.cad_bus.cs_odt_drv — N/A (not applicable)
intel.ch1.cad_bus.cke_drv — N/A (not applicable)
intel.ch1.voltages.vddcr_soc — N/A (not applicable)
intel.ch1.voltages.vddio_mem — N/A (not applicable)
intel.ch1.voltages.vdd_misc — N/A (not applicable)
intel.ch1.voltages.vpp — N/A (not applicable)
intel.ch1.rtl — N/A (not applicable)
intel.ch2.clocks.fclk — N/A (not applicable)
intel.ch2.clocks.div_mode — N/A (not applicable)
intel.ch2.clocks.gdm — N/A (not applicable)
intel.ch2.clocks.pdm — N/A (not applicable)
intel.ch2.clocks.command_rate — N/A (not applicable)
intel.ch2.timings.cl — N/A (parse error: tCL 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rcwdwr — N/A (parse error: tRCD 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rcdrd — N/A (parse error: tRCD 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rp — N/A (parse error: tRP 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.ras — N/A (parse error: tRAS 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rc — N/A (not applicable)
intel.ch2.timings.rrld — N/A (parse error: tRRD_L 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.faw — N/A (parse error: tFAW 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.wtrs — N/A (parse error: tWTR_S 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.wr — N/A (parse error: tWR 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rfc1 — N/A (parse error: tRFC1 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rfc2 — N/A (not applicable)
intel.ch2.timings.rfcsb — N/A (parse error: tRFCsb 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rdwr — N/A (not applicable)
intel.ch2.timings.wrrd — N/A (not applicable)
intel.ch2.timings.rdrd_sd — N/A (parse error: tRDRD(dr) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rdrd_dd — N/A (parse error: tRDRD(dd) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rdrd_scl — N/A (parse error: tRDRD(sg) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rdrd_sc — N/A (parse error: tRDRD(dg) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.wrwr_sd — N/A (not applicable)
intel.ch2.timings.wrwr_dd — N/A (not applicable)
intel.ch2.timings.wrwr_scl — N/A (parse error: tWRWR(sg) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.wrwr_sc — N/A (parse error: tWRWR(dg) 0 ticks outside plausible range [1, 2048])
intel.ch2.cad_bus.proc_odt — N/A (not applicable)
intel.ch2.cad_bus.rtt_nom — N/A (not applicable)
intel.ch2.cad_bus.rtt_wr — N/A (not applicable)
intel.ch2.cad_bus.rtt_park — N/A (not applicable)
intel.ch2.cad_bus.clk_drv — N/A (not applicable)
intel.ch2.cad_bus.addr_cmd_drv — N/A (not applicable)
intel.ch2.cad_bus.cs_odt_drv — N/A (not applicable)
intel.ch2.cad_bus.cke_drv — N/A (not applicable)
intel.ch2.voltages.vddcr_soc — N/A (not applicable)
intel.ch2.voltages.vddio_mem — N/A (not applicable)
intel.ch2.voltages.vdd_misc — N/A (not applicable)
intel.ch2.voltages.vpp — N/A (not applicable)
intel.ch2.rtl — N/A (not applicable)
intel.ch3.clocks.fclk — N/A (not applicable)
intel.ch3.clocks.div_mode — N/A (not applicable)
intel.ch3.clocks.gdm — N/A (not applicable)
intel.ch3.clocks.pdm — N/A (not applicable)
intel.ch3.clocks.command_rate — N/A (not applicable)
intel.ch3.timings.cl — N/A (parse error: tCL: register read failed)
intel.ch3.timings.rcwdwr — N/A (parse error: tRCD: register read failed)
intel.ch3.timings.rcdrd — N/A (parse error: tRCD: register read failed)
intel.ch3.timings.rp — N/A (parse error: tRP: register read failed)
intel.ch3.timings.ras — N/A (parse error: tRAS: register read failed)
intel.ch3.timings.rc — N/A (not applicable)
intel.ch3.timings.rrds — N/A (parse error: tRRD_S: register read failed)
intel.ch3.timings.rrld — N/A (parse error: tRRD_L: register read failed)
intel.ch3.timings.faw — N/A (parse error: tFAW: register read failed)
intel.ch3.timings.wtrs — N/A (parse error: tWTR_S: register read failed)
intel.ch3.timings.wtrl — N/A (parse error: tWTR_L: register read failed)
intel.ch3.timings.wr — N/A (parse error: tWR: register read failed)
intel.ch3.timings.rfc1 — N/A (parse error: tRFC1: register read failed)
intel.ch3.timings.rfc2 — N/A (not applicable)
intel.ch3.timings.rfcsb — N/A (parse error: tRFCsb: register read failed)
intel.ch3.timings.cwl — N/A (parse error: tCWL: register read failed)
intel.ch3.timings.rtp — N/A (parse error: tRTP: register read failed)
intel.ch3.timings.rdwr — N/A (not applicable)
intel.ch3.timings.wrrd — N/A (not applicable)
intel.ch3.timings.rdrd_sd — N/A (parse error: tRDRD(dr): register read failed)
intel.ch3.timings.rdrd_dd — N/A (parse error: tRDRD(dd): register read failed)
intel.ch3.timings.rdrd_scl — N/A (parse error: tRDRD(sg): register read failed)
intel.ch3.timings.rdrd_sc — N/A (parse error: tRDRD(dg): register read failed)
intel.ch3.timings.wrwr_sd — N/A (not applicable)
intel.ch3.timings.wrwr_dd — N/A (not applicable)
intel.ch3.timings.wrwr_scl — N/A (parse error: tWRWR(sg): register read failed)
intel.ch3.timings.wrwr_sc — N/A (parse error: tWRWR(dg): register read failed)
intel.ch3.cad_bus.proc_odt — N/A (not applicable)
intel.ch3.cad_bus.rtt_nom — N/A (not applicable)
intel.ch3.cad_bus.rtt_wr — N/A (not applicable)
intel.ch3.cad_bus.rtt_park — N/A (not applicable)
intel.ch3.cad_bus.clk_drv — N/A (not applicable)
intel.ch3.cad_bus.addr_cmd_drv — N/A (not applicable)
intel.ch3.cad_bus.cs_odt_drv — N/A (not applicable)
intel.ch3.cad_bus.cke_drv — N/A (not applicable)
intel.ch3.voltages.vddcr_soc — N/A (not applicable)
intel.ch3.voltages.vddio_mem — N/A (not applicable)
intel.ch3.voltages.vdd_misc — N/A (not applicable)
intel.ch3.voltages.vpp — N/A (not applicable)
intel.ch3.rtl — N/A (not applicable)
spd[0x50].die_type — N/A (not applicable)
platform.agesa — N/A (not applicable)
platform.smu_version — N/A (not applicable)
raw.mad_inter_channel — N/A (register absent / read failed)
raw.mad_intra_ch0 — N/A (register absent / read failed)
raw.mad_intra_ch1 — N/A (register absent / read failed)
raw.mad_dimm_ch0 — N/A (register absent / read failed)
raw.mad_dimm_ch1 — N/A (register absent / read failed)
raw.mad_dimm_ch2 — N/A (register absent / read failed)
raw.mad_dimm_ch3 — N/A (register absent / read failed)
This report was auto-generated by RamSleuth v2.4.14. It contains no personal information (no username, hostname, IP, MAC, or serial numbers).
Alright, DS figured it out. The collector looks at the dmi entry folder as a file, errors, the continue on error arg swallows it, so it reports 0. That way it never triggers the override guard. The test creates the mock entry as a file, so it passes. The parser is reading the wrong values on this system too. Here’s DS’s summary:
DeepSeek V4.1 Flash’s Report
The bug: intel_smbios::collect_from walks /sys/firmware/dmi/entries/, then reads each 17-<n> (17-0, 17-1 here) as if it were a file. On Linux sysfs each entry is a directory — the data is in 17-<n>/raw. std::fs::read on a directory errors, the loop’s Err(_) => continue swallows it, so every entry is skipped and populated_count stays 0. That means your L3 override guard (populated_count >= 2 && derived_mode == Dual) can never fire, so the MMIO Single is accepted as L1 VerifiedHardware.
Why the tests miss it: the fixture (write_entry in the test module) creates 17-<n> as a plain file, not a 17-<n>/raw directory, so fs::read succeeds there. The tests validate a layout the kernel never produces.
Fix #1 (the blocker): read path.join("raw").
Then the parser needs fixing too — the field offsets/indexing are off for this board (12600KF / Z690M-ITX/ax, DDR4):
- Size is at
0x0C (word; bit 15 = MB/KB) with the 0x1C extended-size fallback — not 0x28, which here is Memory Technology (0x0000_0803, misread as 2051 MiB).
- Locator string refs are at
0x10 (Device Locator) / 0x11 (Bank Locator) — not 0x06/0x0C (those are the Memory Error Handle and the Size word).
- String-table indexing is off by one.
string_at assumes the string area starts with an empty segment (parts[ref]), but a real SMBIOS table starts at the first string, so ref 1 is parts[0], not parts[1]. The fixture hides this too — type17_file does out.push(0) before the strings, injecting the empty segment the parser assumes. Fix: parts[ref - 1].
- Channel classifier: this firmware names the DIMMs
Controller0-ChannelA-DIMM0 and Controller1-ChannelA-DIMM0 — both say ChannelA; the channel is the Controller index. channel_of only matches standalone A–D tokens, so it can’t tell them apart → Ambiguous, never Dual.
With #1 + the parser fixes, this box reports populated_count: 2, dimm_sizes: [16384, 16384], locators Controller0-ChannelA-DIMM0/Controller1-ChannelA-DIMM0, derived_mode: Dual, and the live probe flips to DualSymmetric / Override / dimm_count: 2.
One aside: the override now correctly reports Dual, but the underlying MMIO decode still says Single on this host — so the register read at the 0xd800 base may be worth a look separately for DDR4 Alder Lake.
Optional extra: the full crate test run also fails a pre-existing test — intel_readout::tests::read_regs_on_this_host_is_structural_and_panic_free asserts ch.index == i, but this Alder Lake DDR4 host exposes subchannels 0,2, not 0,1. Separate from the channel-mode issue, but it’s a real failure on this hardware.
The patched version reads correctly:
channel_mode: Some(DualSymmetric)
channel_trust: Some(Override)
channel_annotation: "[Override: MCHBAR decoded Single-Channel
dimm_count: 2 }"
And here’s the raw hex dumps and dmidecode:
17-0/raw hex dump
0000000 11 5c 0c 00 0b 00 fe ff 40 00 40 00 00 40 09 00
0000016 01 02 1a 80 00 60 09 03 04 05 06 01 00 00 00 00
0000032 10 0e b0 04 46 05 b0 04 03 08 00 00 04 ef 00 00
0000048 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000064 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000080 00 00 00 00 00 00 00 00 00 00 00 00 43 6f 6e 74
0000096 72 6f 6c 6c 65 72 30 2d 43 68 61 6e 6e 65 6c 41
0000112 2d 44 49 4d 4d 30 00 42 41 4e 4b 20 30 00 54 65
0000128 61 6d 20 47 72 6f 75 70 20 49 6e 63 00 30 31 30
0000144 34 44 38 31 37 00 39 38 37 36 35 34 33 32 31 30
0000160 00 54 45 41 4d 47 52 4f 55 50 2d 55 44 34 2d 33
0000176 36 30 30 20 20 00 00
0000183
17-1/raw hex dump
0000000 11 5c 0d 00 0b 00 fe ff 40 00 40 00 00 40 09 00
0000016 01 02 1a 80 00 60 09 03 04 05 06 01 00 00 00 00
0000032 10 0e b0 04 46 05 b0 04 03 08 00 00 04 ef 00 00
0000048 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000064 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000080 00 00 00 00 00 00 00 00 00 00 00 00 43 6f 6e 74
0000096 72 6f 6c 6c 65 72 31 2d 43 68 61 6e 6e 65 6c 41
0000112 2d 44 49 4d 4d 30 00 42 41 4e 4b 20 30 00 54 65
0000128 61 6d 20 47 72 6f 75 70 20 49 6e 63 00 30 31 30
0000144 34 44 38 31 36 00 39 38 37 36 35 34 33 32 31 30
0000160 00 54 45 41 4d 47 52 4f 55 50 2d 55 44 34 2d 33
0000176 36 30 30 20 20 00 00
0000183
dmidecode
dmidecode 3.7
Getting SMBIOS data from sysfs.
SMBIOS 3.5.0 present.
Handle 0x000C, DMI type 17, 92 bytes
Memory Device
Array Handle: 0x000B
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 16 GiB
Form Factor: DIMM
Set: None
Locator: Controller0-ChannelA-DIMM0
Bank Locator: BANK 0
Type: DDR4
Type Detail: Synchronous
Speed: 2400 MT/s
Manufacturer: Team Group Inc
Serial Number: 0104D817
Asset Tag: 9876543210
Part Number: TEAMGROUP-UD4-3600
Rank: 1
Configured Memory Speed: 3600 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.35 V
Configured Voltage: 1.2 V
Memory Technology: DRAM
Memory Operating Mode Capability: Volatile memory
Firmware Version: Not Specified
Module Manufacturer ID: Bank 5, Hex 0xEF
Module Product ID: Unknown
Memory Subsystem Controller Manufacturer ID: Unknown
Memory Subsystem Controller Product ID: Unknown
Non-Volatile Size: None
Volatile Size: 16 GiB
Cache Size: None
Logical Size: None
Handle 0x000D, DMI type 17, 92 bytes
Memory Device
Array Handle: 0x000B
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 16 GiB
Form Factor: DIMM
Set: None
Locator: Controller1-ChannelA-DIMM0
Bank Locator: BANK 0
Type: DDR4
Type Detail: Synchronous
Speed: 2400 MT/s
Manufacturer: Team Group Inc
Serial Number: 0104D816
Asset Tag: 9876543210
Part Number: TEAMGROUP-UD4-3600
Rank: 1
Configured Memory Speed: 3600 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.35 V
Configured Voltage: 1.2 V
Memory Technology: DRAM
Memory Operating Mode Capability: Volatile memory
Firmware Version: Not Specified
Module Manufacturer ID: Bank 5, Hex 0xEF
Module Product ID: Unknown
Memory Subsystem Controller Manufacturer ID: Unknown
Memory Subsystem Controller Product ID: Unknown
Non-Volatile Size: None
Volatile Size: 16 GiB
Cache Size: None
Logical Size: None
And the probe-report after the patch:
probe-report-2
RamSleuth Probe Report
12th Gen Intel(R) Core™ i5-12600KF — AlderLake on linux (kernel 7.3.0-rc5-tkg-bore-llvm), RamSleuth v2.4.14
System
| Field |
Value |
| CPU |
12th Gen Intel(R) Core™ i5-12600KF |
| Vendor |
Intel |
| Generation |
AlderLake |
| PCI Host Bridge |
0x4648 |
| Kernel |
7.3.0-rc5-tkg-bore-llvm |
| OS |
linux |
| Arch |
x86_64 |
| RamSleuth Version |
2.4.14 |
| Telemetry Source |
dev-mem |
Decoded Telemetry
CPU
| Field |
Value |
| vendor |
Intel AlderLake |
| brand |
12th Gen Intel(R) Core™ i5-12600KF |
| CPU Core Voltage |
0.616 V [est] |
AMD
N/A (unsupported hardware)
Intel
| Field |
Value |
| channel mode |
Dual-Channel (Symmetric) [unverified] |
| channel annotation |
[Override: MCHBAR decoded Single-Channel, but SMBIOS Type 17 confirms 2 DIMMs across Channel A/B. Reporting Dual-Channel] |
Channel 0
| Clock |
Value |
| MCLK |
3600.00 MHz |
| MT/s |
7200 MT/s |
| UCLK |
3600.00 MHz |
| FCLK |
N/A (not applicable) |
| UCLK:MCLK |
N/A (not applicable) |
| gear mode |
1x |
| GDM |
N/A (not applicable) |
| PDM |
N/A (not applicable) |
| command rate |
N/A (not applicable) |
| Timing (ticks) |
Value |
| tCL |
N/A (parse error: tCL 0 ticks outside plausible range [1, 2048]) |
| tRCDWR |
2 |
| tRCDRD |
2 |
| tRP |
8 |
| tRAS |
N/A (parse error: tRAS 0 ticks outside plausible range [1, 2048]) |
| tRC |
N/A (not applicable) |
| tRRDS |
4 |
| tRRLD |
N/A (parse error: tRRD_L 0 ticks outside plausible range [1, 2048]) |
| tFAW |
N/A (parse error: tFAW 0 ticks outside plausible range [1, 2048]) |
| tWTRS |
26 |
| tWTRL |
2 |
| tWR |
N/A (parse error: tWR 0 ticks outside plausible range [1, 2048]) |
| tRFC1 |
1024 |
| tRFC2 |
N/A (not applicable) |
| tRFCsb |
N/A (parse error: tRFCsb 0 ticks outside plausible range [1, 2048]) |
| tCWL |
1 |
| tRTP |
1 |
| tRDWR |
N/A (not applicable) |
| tWRRD |
N/A (not applicable) |
| tRDRD(SD) |
N/A (parse error: tRDRD(dr) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(CCD) |
N/A (parse error: tRDRD(dd) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(SCL) |
N/A (parse error: tRDRD(sg) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(SC) |
N/A (parse error: tRDRD(dg) 0 ticks outside plausible range [1, 2048]) |
| tWRWR(SD) |
N/A (not applicable) |
| tWRWR(CCD) |
N/A (not applicable) |
| tWRWR(SCL) |
N/A (parse error: tWRWR(sg) 0 ticks outside plausible range [1, 2048]) |
| tWRWR(SC) |
N/A (parse error: tWRWR(dg) 0 ticks outside plausible range [1, 2048]) |
| CAD bus (ohms) |
Value |
| proc ODT |
N/A (not applicable) |
| RTT nom |
N/A (not applicable) |
| RTT wr |
N/A (not applicable) |
| RTT park |
N/A (not applicable) |
| CLK drive |
N/A (not applicable) |
| ADD/CMD drive |
N/A (not applicable) |
| CS/ODT drive |
N/A (not applicable) |
| CKE drive |
N/A (not applicable) |
| Rail (V) |
Value |
| VDDCR_SOC |
N/A (not applicable) |
| VDDIO_MEM |
N/A (not applicable) |
| VDD_MISC |
N/A (not applicable) |
| VPP |
N/A (not applicable) |
| RTL (ticks) |
Value |
| RTL |
N/A (not applicable) |
Channel 1
| Clock |
Value |
| MCLK |
3600.00 MHz |
| MT/s |
7200 MT/s |
| UCLK |
3600.00 MHz |
| FCLK |
N/A (not applicable) |
| UCLK:MCLK |
N/A (not applicable) |
| gear mode |
1x |
| GDM |
N/A (not applicable) |
| PDM |
N/A (not applicable) |
| command rate |
N/A (not applicable) |
| Timing (ticks) |
Value |
| tCL |
N/A (parse error: tCL: register read failed) |
| tRCDWR |
N/A (parse error: tRCD: register read failed) |
| tRCDRD |
N/A (parse error: tRCD: register read failed) |
| tRP |
N/A (parse error: tRP: register read failed) |
| tRAS |
N/A (parse error: tRAS: register read failed) |
| tRC |
N/A (not applicable) |
| tRRDS |
N/A (parse error: tRRD_S: register read failed) |
| tRRLD |
N/A (parse error: tRRD_L: register read failed) |
| tFAW |
N/A (parse error: tFAW: register read failed) |
| tWTRS |
N/A (parse error: tWTR_S: register read failed) |
| tWTRL |
N/A (parse error: tWTR_L: register read failed) |
| tWR |
N/A (parse error: tWR: register read failed) |
| tRFC1 |
N/A (parse error: tRFC1: register read failed) |
| tRFC2 |
N/A (not applicable) |
| tRFCsb |
N/A (parse error: tRFCsb: register read failed) |
| tCWL |
N/A (parse error: tCWL: register read failed) |
| tRTP |
N/A (parse error: tRTP: register read failed) |
| tRDWR |
N/A (not applicable) |
| tWRRD |
N/A (not applicable) |
| tRDRD(SD) |
N/A (parse error: tRDRD(dr): register read failed) |
| tRDRD(CCD) |
N/A (parse error: tRDRD(dd): register read failed) |
| tRDRD(SCL) |
N/A (parse error: tRDRD(sg): register read failed) |
| tRDRD(SC) |
N/A (parse error: tRDRD(dg): register read failed) |
| tWRWR(SD) |
N/A (not applicable) |
| tWRWR(CCD) |
N/A (not applicable) |
| tWRWR(SCL) |
N/A (parse error: tWRWR(sg): register read failed) |
| tWRWR(SC) |
N/A (parse error: tWRWR(dg): register read failed) |
| CAD bus (ohms) |
Value |
| proc ODT |
N/A (not applicable) |
| RTT nom |
N/A (not applicable) |
| RTT wr |
N/A (not applicable) |
| RTT park |
N/A (not applicable) |
| CLK drive |
N/A (not applicable) |
| ADD/CMD drive |
N/A (not applicable) |
| CS/ODT drive |
N/A (not applicable) |
| CKE drive |
N/A (not applicable) |
| Rail (V) |
Value |
| VDDCR_SOC |
N/A (not applicable) |
| VDDIO_MEM |
N/A (not applicable) |
| VDD_MISC |
N/A (not applicable) |
| VPP |
N/A (not applicable) |
| RTL (ticks) |
Value |
| RTL |
N/A (not applicable) |
Channel 2
| Clock |
Value |
| MCLK |
3600.00 MHz |
| MT/s |
7200 MT/s |
| UCLK |
3600.00 MHz |
| FCLK |
N/A (not applicable) |
| UCLK:MCLK |
N/A (not applicable) |
| gear mode |
1x |
| GDM |
N/A (not applicable) |
| PDM |
N/A (not applicable) |
| command rate |
N/A (not applicable) |
| Timing (ticks) |
Value |
| tCL |
N/A (parse error: tCL 0 ticks outside plausible range [1, 2048]) |
| tRCDWR |
N/A (parse error: tRCD 0 ticks outside plausible range [1, 2048]) |
| tRCDRD |
N/A (parse error: tRCD 0 ticks outside plausible range [1, 2048]) |
| tRP |
N/A (parse error: tRP 0 ticks outside plausible range [1, 2048]) |
| tRAS |
N/A (parse error: tRAS 0 ticks outside plausible range [1, 2048]) |
| tRC |
N/A (not applicable) |
| tRRDS |
1 |
| tRRLD |
N/A (parse error: tRRD_L 0 ticks outside plausible range [1, 2048]) |
| tFAW |
N/A (parse error: tFAW 0 ticks outside plausible range [1, 2048]) |
| tWTRS |
N/A (parse error: tWTR_S 0 ticks outside plausible range [1, 2048]) |
| tWTRL |
24 |
| tWR |
N/A (parse error: tWR 0 ticks outside plausible range [1, 2048]) |
| tRFC1 |
N/A (parse error: tRFC1 0 ticks outside plausible range [1, 2048]) |
| tRFC2 |
N/A (not applicable) |
| tRFCsb |
N/A (parse error: tRFCsb 0 ticks outside plausible range [1, 2048]) |
| tCWL |
16 |
| tRTP |
16 |
| tRDWR |
N/A (not applicable) |
| tWRRD |
N/A (not applicable) |
| tRDRD(SD) |
N/A (parse error: tRDRD(dr) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(CCD) |
N/A (parse error: tRDRD(dd) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(SCL) |
N/A (parse error: tRDRD(sg) 0 ticks outside plausible range [1, 2048]) |
| tRDRD(SC) |
N/A (parse error: tRDRD(dg) 0 ticks outside plausible range [1, 2048]) |
| tWRWR(SD) |
N/A (not applicable) |
| tWRWR(CCD) |
N/A (not applicable) |
| tWRWR(SCL) |
N/A (parse error: tWRWR(sg) 0 ticks outside plausible range [1, 2048]) |
| tWRWR(SC) |
N/A (parse error: tWRWR(dg) 0 ticks outside plausible range [1, 2048]) |
| CAD bus (ohms) |
Value |
| proc ODT |
N/A (not applicable) |
| RTT nom |
N/A (not applicable) |
| RTT wr |
N/A (not applicable) |
| RTT park |
N/A (not applicable) |
| CLK drive |
N/A (not applicable) |
| ADD/CMD drive |
N/A (not applicable) |
| CS/ODT drive |
N/A (not applicable) |
| CKE drive |
N/A (not applicable) |
| Rail (V) |
Value |
| VDDCR_SOC |
N/A (not applicable) |
| VDDIO_MEM |
N/A (not applicable) |
| VDD_MISC |
N/A (not applicable) |
| VPP |
N/A (not applicable) |
| RTL (ticks) |
Value |
| RTL |
N/A (not applicable) |
Channel 3
| Clock |
Value |
| MCLK |
3600.00 MHz |
| MT/s |
7200 MT/s |
| UCLK |
3600.00 MHz |
| FCLK |
N/A (not applicable) |
| UCLK:MCLK |
N/A (not applicable) |
| gear mode |
1x |
| GDM |
N/A (not applicable) |
| PDM |
N/A (not applicable) |
| command rate |
N/A (not applicable) |
| Timing (ticks) |
Value |
| tCL |
N/A (parse error: tCL: register read failed) |
| tRCDWR |
N/A (parse error: tRCD: register read failed) |
| tRCDRD |
N/A (parse error: tRCD: register read failed) |
| tRP |
N/A (parse error: tRP: register read failed) |
| tRAS |
N/A (parse error: tRAS: register read failed) |
| tRC |
N/A (not applicable) |
| tRRDS |
N/A (parse error: tRRD_S: register read failed) |
| tRRLD |
N/A (parse error: tRRD_L: register read failed) |
| tFAW |
N/A (parse error: tFAW: register read failed) |
| tWTRS |
N/A (parse error: tWTR_S: register read failed) |
| tWTRL |
N/A (parse error: tWTR_L: register read failed) |
| tWR |
N/A (parse error: tWR: register read failed) |
| tRFC1 |
N/A (parse error: tRFC1: register read failed) |
| tRFC2 |
N/A (not applicable) |
| tRFCsb |
N/A (parse error: tRFCsb: register read failed) |
| tCWL |
N/A (parse error: tCWL: register read failed) |
| tRTP |
N/A (parse error: tRTP: register read failed) |
| tRDWR |
N/A (not applicable) |
| tWRRD |
N/A (not applicable) |
| tRDRD(SD) |
N/A (parse error: tRDRD(dr): register read failed) |
| tRDRD(CCD) |
N/A (parse error: tRDRD(dd): register read failed) |
| tRDRD(SCL) |
N/A (parse error: tRDRD(sg): register read failed) |
| tRDRD(SC) |
N/A (parse error: tRDRD(dg): register read failed) |
| tWRWR(SD) |
N/A (not applicable) |
| tWRWR(CCD) |
N/A (not applicable) |
| tWRWR(SCL) |
N/A (parse error: tWRWR(sg): register read failed) |
| tWRWR(SC) |
N/A (parse error: tWRWR(dg): register read failed) |
| CAD bus (ohms) |
Value |
| proc ODT |
N/A (not applicable) |
| RTT nom |
N/A (not applicable) |
| RTT wr |
N/A (not applicable) |
| RTT park |
N/A (not applicable) |
| CLK drive |
N/A (not applicable) |
| ADD/CMD drive |
N/A (not applicable) |
| CS/ODT drive |
N/A (not applicable) |
| CKE drive |
N/A (not applicable) |
| Rail (V) |
Value |
| VDDCR_SOC |
N/A (not applicable) |
| VDDIO_MEM |
N/A (not applicable) |
| VDD_MISC |
N/A (not applicable) |
| VPP |
N/A (not applicable) |
| RTL (ticks) |
Value |
| RTL |
N/A (not applicable) |
SPD
Module 0x50 (DDR4)
| Field |
Value |
| maker |
0xEF (bank 5) |
| die maker |
SK hynix |
| die type |
N/A (not applicable) |
| devices |
8 |
| part |
TEAMGROUP-UD4-3600 |
| serial |
0104D817 |
| rank |
1 |
| density |
16384 Mbit |
| speed |
3200 MT/s |
- profile 1 (XMP): 3200 MT/s, 15-19-19-37 @ 1.350 V
Platform
| Field |
Value |
| CPU clock (MHz) |
800.22 MHz |
| motherboard |
Z690M-ITX/ax |
| BIOS |
21.01 + 09/26/2025 |
| AGESA |
N/A (not applicable) |
| SMU version |
N/A (not applicable) |
| total capacity |
31.2 GiB |
| per-DIMM sizes |
16.0 GiB |
Raw Registers
| Register |
Value |
| MC_BIOS_REQ |
0x79E00124 |
| TC_CH0_DBP |
0xFFFFFFFF |
| TC_CH0_RAP |
0xFFFFFFFF |
| TC_CH0_RFP |
0xFFFFFFFF |
| TC_CH0_RAP2 |
0xFFFFFFFF |
| TC_CH0_RDRD |
0xFFFFFFFF |
| TC_CH0_RDWR |
0xFFFFFFFF |
| TC_CH0_WRRD |
0xFFFFFFFF |
| TC_CH0_WRWR |
0xFFFFFFFF |
| TC_CH1_DBP |
0xFFFFFFFF |
| TC_CH1_RAP |
0xFFFFFFFF |
| TC_CH1_RFP |
0xFFFFFFFF |
| TC_CH1_RAP2 |
0xFFFFFFFF |
| TC_CH1_RDRD |
0xFFFFFFFF |
| TC_CH1_RDWR |
0xFFFFFFFF |
| TC_CH1_WRRD |
0xFFFFFFFF |
| TC_CH1_WRWR |
0xFFFFFFFF |
| TC_CH2_DBP |
0xFFFFFFFF |
| TC_CH2_RAP |
0xFFFFFFFF |
| TC_CH2_RFP |
0xFFFFFFFF |
| TC_CH2_RAP2 |
0xFFFFFFFF |
| TC_CH2_RDRD |
0xFFFFFFFF |
| TC_CH2_RDWR |
0xFFFFFFFF |
| TC_CH2_WRRD |
0xFFFFFFFF |
| TC_CH2_WRWR |
0xFFFFFFFF |
| TC_CH3_DBP |
0xFFFFFFFF |
| TC_CH3_RAP |
0xFFFFFFFF |
| TC_CH3_RFP |
0xFFFFFFFF |
| TC_CH3_RAP2 |
0xFFFFFFFF |
| TC_CH3_RDRD |
0xFFFFFFFF |
| TC_CH3_RDWR |
0xFFFFFFFF |
| TC_CH3_WRRD |
0xFFFFFFFF |
| TC_CH3_WRWR |
0xFFFFFFFF |
| MCL0_PRE |
0x01000208 |
| MCL0_ACT |
0x00000400 |
| MCL0_ACT2 |
0xFFFFFFFF |
| MCL0_WTR |
0x0100021A |
| MCL0_RFP |
0x00000400 |
| MCL0_RFP2 |
0x00000000 |
| MCL0_RDRD |
0x00000000 |
| MCL0_WRWR |
0x00620000 |
| MCL1_PRE |
0x10000000 |
| MCL1_ACT |
0x00000100 |
| MCL1_ACT2 |
0x00000000 |
| MCL1_WTR |
0x10001800 |
| MCL1_RFP |
0x00000000 |
| MCL1_RFP2 |
0x00000000 |
| MCL1_RDRD |
0x00000000 |
| MCL1_WRWR |
0x00000000 |
| MAD_INTER_CHANNEL |
N/A (absent) |
| MAD_INTRA_CH0 |
N/A (absent) |
| MAD_INTRA_CH1 |
N/A (absent) |
| MAD_DIMM_CH0 |
N/A (absent) |
| MAD_DIMM_CH1 |
N/A (absent) |
| MAD_DIMM_CH2 |
N/A (absent) |
| MAD_DIMM_CH3 |
N/A (absent) |
| MCHBAR_BASE |
0xFEDC0000 |
| MCHBAR_ENABLED |
true |
N/A Reasons
amd (whole branch) — N/A (unsupported hardware)
intel.ch0.clocks.fclk — N/A (not applicable)
intel.ch0.clocks.div_mode — N/A (not applicable)
intel.ch0.clocks.gdm — N/A (not applicable)
intel.ch0.clocks.pdm — N/A (not applicable)
intel.ch0.clocks.command_rate — N/A (not applicable)
intel.ch0.timings.cl — N/A (parse error: tCL 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.ras — N/A (parse error: tRAS 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rc — N/A (not applicable)
intel.ch0.timings.rrld — N/A (parse error: tRRD_L 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.faw — N/A (parse error: tFAW 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.wr — N/A (parse error: tWR 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rfc2 — N/A (not applicable)
intel.ch0.timings.rfcsb — N/A (parse error: tRFCsb 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rdwr — N/A (not applicable)
intel.ch0.timings.wrrd — N/A (not applicable)
intel.ch0.timings.rdrd_sd — N/A (parse error: tRDRD(dr) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rdrd_dd — N/A (parse error: tRDRD(dd) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rdrd_scl — N/A (parse error: tRDRD(sg) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.rdrd_sc — N/A (parse error: tRDRD(dg) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.wrwr_sd — N/A (not applicable)
intel.ch0.timings.wrwr_dd — N/A (not applicable)
intel.ch0.timings.wrwr_scl — N/A (parse error: tWRWR(sg) 0 ticks outside plausible range [1, 2048])
intel.ch0.timings.wrwr_sc — N/A (parse error: tWRWR(dg) 0 ticks outside plausible range [1, 2048])
intel.ch0.cad_bus.proc_odt — N/A (not applicable)
intel.ch0.cad_bus.rtt_nom — N/A (not applicable)
intel.ch0.cad_bus.rtt_wr — N/A (not applicable)
intel.ch0.cad_bus.rtt_park — N/A (not applicable)
intel.ch0.cad_bus.clk_drv — N/A (not applicable)
intel.ch0.cad_bus.addr_cmd_drv — N/A (not applicable)
intel.ch0.cad_bus.cs_odt_drv — N/A (not applicable)
intel.ch0.cad_bus.cke_drv — N/A (not applicable)
intel.ch0.voltages.vddcr_soc — N/A (not applicable)
intel.ch0.voltages.vddio_mem — N/A (not applicable)
intel.ch0.voltages.vdd_misc — N/A (not applicable)
intel.ch0.voltages.vpp — N/A (not applicable)
intel.ch0.rtl — N/A (not applicable)
intel.ch1.clocks.fclk — N/A (not applicable)
intel.ch1.clocks.div_mode — N/A (not applicable)
intel.ch1.clocks.gdm — N/A (not applicable)
intel.ch1.clocks.pdm — N/A (not applicable)
intel.ch1.clocks.command_rate — N/A (not applicable)
intel.ch1.timings.cl — N/A (parse error: tCL: register read failed)
intel.ch1.timings.rcwdwr — N/A (parse error: tRCD: register read failed)
intel.ch1.timings.rcdrd — N/A (parse error: tRCD: register read failed)
intel.ch1.timings.rp — N/A (parse error: tRP: register read failed)
intel.ch1.timings.ras — N/A (parse error: tRAS: register read failed)
intel.ch1.timings.rc — N/A (not applicable)
intel.ch1.timings.rrds — N/A (parse error: tRRD_S: register read failed)
intel.ch1.timings.rrld — N/A (parse error: tRRD_L: register read failed)
intel.ch1.timings.faw — N/A (parse error: tFAW: register read failed)
intel.ch1.timings.wtrs — N/A (parse error: tWTR_S: register read failed)
intel.ch1.timings.wtrl — N/A (parse error: tWTR_L: register read failed)
intel.ch1.timings.wr — N/A (parse error: tWR: register read failed)
intel.ch1.timings.rfc1 — N/A (parse error: tRFC1: register read failed)
intel.ch1.timings.rfc2 — N/A (not applicable)
intel.ch1.timings.rfcsb — N/A (parse error: tRFCsb: register read failed)
intel.ch1.timings.cwl — N/A (parse error: tCWL: register read failed)
intel.ch1.timings.rtp — N/A (parse error: tRTP: register read failed)
intel.ch1.timings.rdwr — N/A (not applicable)
intel.ch1.timings.wrrd — N/A (not applicable)
intel.ch1.timings.rdrd_sd — N/A (parse error: tRDRD(dr): register read failed)
intel.ch1.timings.rdrd_dd — N/A (parse error: tRDRD(dd): register read failed)
intel.ch1.timings.rdrd_scl — N/A (parse error: tRDRD(sg): register read failed)
intel.ch1.timings.rdrd_sc — N/A (parse error: tRDRD(dg): register read failed)
intel.ch1.timings.wrwr_sd — N/A (not applicable)
intel.ch1.timings.wrwr_dd — N/A (not applicable)
intel.ch1.timings.wrwr_scl — N/A (parse error: tWRWR(sg): register read failed)
intel.ch1.timings.wrwr_sc — N/A (parse error: tWRWR(dg): register read failed)
intel.ch1.cad_bus.proc_odt — N/A (not applicable)
intel.ch1.cad_bus.rtt_nom — N/A (not applicable)
intel.ch1.cad_bus.rtt_wr — N/A (not applicable)
intel.ch1.cad_bus.rtt_park — N/A (not applicable)
intel.ch1.cad_bus.clk_drv — N/A (not applicable)
intel.ch1.cad_bus.addr_cmd_drv — N/A (not applicable)
intel.ch1.cad_bus.cs_odt_drv — N/A (not applicable)
intel.ch1.cad_bus.cke_drv — N/A (not applicable)
intel.ch1.voltages.vddcr_soc — N/A (not applicable)
intel.ch1.voltages.vddio_mem — N/A (not applicable)
intel.ch1.voltages.vdd_misc — N/A (not applicable)
intel.ch1.voltages.vpp — N/A (not applicable)
intel.ch1.rtl — N/A (not applicable)
intel.ch2.clocks.fclk — N/A (not applicable)
intel.ch2.clocks.div_mode — N/A (not applicable)
intel.ch2.clocks.gdm — N/A (not applicable)
intel.ch2.clocks.pdm — N/A (not applicable)
intel.ch2.clocks.command_rate — N/A (not applicable)
intel.ch2.timings.cl — N/A (parse error: tCL 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rcwdwr — N/A (parse error: tRCD 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rcdrd — N/A (parse error: tRCD 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rp — N/A (parse error: tRP 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.ras — N/A (parse error: tRAS 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rc — N/A (not applicable)
intel.ch2.timings.rrld — N/A (parse error: tRRD_L 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.faw — N/A (parse error: tFAW 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.wtrs — N/A (parse error: tWTR_S 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.wr — N/A (parse error: tWR 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rfc1 — N/A (parse error: tRFC1 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rfc2 — N/A (not applicable)
intel.ch2.timings.rfcsb — N/A (parse error: tRFCsb 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rdwr — N/A (not applicable)
intel.ch2.timings.wrrd — N/A (not applicable)
intel.ch2.timings.rdrd_sd — N/A (parse error: tRDRD(dr) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rdrd_dd — N/A (parse error: tRDRD(dd) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rdrd_scl — N/A (parse error: tRDRD(sg) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.rdrd_sc — N/A (parse error: tRDRD(dg) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.wrwr_sd — N/A (not applicable)
intel.ch2.timings.wrwr_dd — N/A (not applicable)
intel.ch2.timings.wrwr_scl — N/A (parse error: tWRWR(sg) 0 ticks outside plausible range [1, 2048])
intel.ch2.timings.wrwr_sc — N/A (parse error: tWRWR(dg) 0 ticks outside plausible range [1, 2048])
intel.ch2.cad_bus.proc_odt — N/A (not applicable)
intel.ch2.cad_bus.rtt_nom — N/A (not applicable)
intel.ch2.cad_bus.rtt_wr — N/A (not applicable)
intel.ch2.cad_bus.rtt_park — N/A (not applicable)
intel.ch2.cad_bus.clk_drv — N/A (not applicable)
intel.ch2.cad_bus.addr_cmd_drv — N/A (not applicable)
intel.ch2.cad_bus.cs_odt_drv — N/A (not applicable)
intel.ch2.cad_bus.cke_drv — N/A (not applicable)
intel.ch2.voltages.vddcr_soc — N/A (not applicable)
intel.ch2.voltages.vddio_mem — N/A (not applicable)
intel.ch2.voltages.vdd_misc — N/A (not applicable)
intel.ch2.voltages.vpp — N/A (not applicable)
intel.ch2.rtl — N/A (not applicable)
intel.ch3.clocks.fclk — N/A (not applicable)
intel.ch3.clocks.div_mode — N/A (not applicable)
intel.ch3.clocks.gdm — N/A (not applicable)
intel.ch3.clocks.pdm — N/A (not applicable)
intel.ch3.clocks.command_rate — N/A (not applicable)
intel.ch3.timings.cl — N/A (parse error: tCL: register read failed)
intel.ch3.timings.rcwdwr — N/A (parse error: tRCD: register read failed)
intel.ch3.timings.rcdrd — N/A (parse error: tRCD: register read failed)
intel.ch3.timings.rp — N/A (parse error: tRP: register read failed)
intel.ch3.timings.ras — N/A (parse error: tRAS: register read failed)
intel.ch3.timings.rc — N/A (not applicable)
intel.ch3.timings.rrds — N/A (parse error: tRRD_S: register read failed)
intel.ch3.timings.rrld — N/A (parse error: tRRD_L: register read failed)
intel.ch3.timings.faw — N/A (parse error: tFAW: register read failed)
intel.ch3.timings.wtrs — N/A (parse error: tWTR_S: register read failed)
intel.ch3.timings.wtrl — N/A (parse error: tWTR_L: register read failed)
intel.ch3.timings.wr — N/A (parse error: tWR: register read failed)
intel.ch3.timings.rfc1 — N/A (parse error: tRFC1: register read failed)
intel.ch3.timings.rfc2 — N/A (not applicable)
intel.ch3.timings.rfcsb — N/A (parse error: tRFCsb: register read failed)
intel.ch3.timings.cwl — N/A (parse error: tCWL: register read failed)
intel.ch3.timings.rtp — N/A (parse error: tRTP: register read failed)
intel.ch3.timings.rdwr — N/A (not applicable)
intel.ch3.timings.wrrd — N/A (not applicable)
intel.ch3.timings.rdrd_sd — N/A (parse error: tRDRD(dr): register read failed)
intel.ch3.timings.rdrd_dd — N/A (parse error: tRDRD(dd): register read failed)
intel.ch3.timings.rdrd_scl — N/A (parse error: tRDRD(sg): register read failed)
intel.ch3.timings.rdrd_sc — N/A (parse error: tRDRD(dg): register read failed)
intel.ch3.timings.wrwr_sd — N/A (not applicable)
intel.ch3.timings.wrwr_dd — N/A (not applicable)
intel.ch3.timings.wrwr_scl — N/A (parse error: tWRWR(sg): register read failed)
intel.ch3.timings.wrwr_sc — N/A (parse error: tWRWR(dg): register read failed)
intel.ch3.cad_bus.proc_odt — N/A (not applicable)
intel.ch3.cad_bus.rtt_nom — N/A (not applicable)
intel.ch3.cad_bus.rtt_wr — N/A (not applicable)
intel.ch3.cad_bus.rtt_park — N/A (not applicable)
intel.ch3.cad_bus.clk_drv — N/A (not applicable)
intel.ch3.cad_bus.addr_cmd_drv — N/A (not applicable)
intel.ch3.cad_bus.cs_odt_drv — N/A (not applicable)
intel.ch3.cad_bus.cke_drv — N/A (not applicable)
intel.ch3.voltages.vddcr_soc — N/A (not applicable)
intel.ch3.voltages.vddio_mem — N/A (not applicable)
intel.ch3.voltages.vdd_misc — N/A (not applicable)
intel.ch3.voltages.vpp — N/A (not applicable)
intel.ch3.rtl — N/A (not applicable)
spd[0x50].die_type — N/A (not applicable)
platform.agesa — N/A (not applicable)
platform.smu_version — N/A (not applicable)
raw.mad_inter_channel — N/A (register absent / read failed)
raw.mad_intra_ch0 — N/A (register absent / read failed)
raw.mad_intra_ch1 — N/A (register absent / read failed)
raw.mad_dimm_ch0 — N/A (register absent / read failed)
raw.mad_dimm_ch1 — N/A (register absent / read failed)
raw.mad_dimm_ch2 — N/A (register absent / read failed)
raw.mad_dimm_ch3 — N/A (register absent / read failed)
This report was auto-generated by RamSleuth v2.4.14. It contains no personal information (no username, hostname, IP, MAC, or serial numbers).
Another small catch while reading the probe-report again, it doubles what it reads as MCLK and reports that as MT/s. So it thinks my 3600 “MHz” (1800Mhz, 3600MT/s) DDR4 is running at 7200MT/s.