Control: found 1110749 6.12.101
Control: retitle 1110749 ee1004: DDR4 SPD cannot be read, decode-dimms fails,
“Failed to select page 0 (-6)”
Control: X-Debbugs-CC: [email protected], [email protected]
thanks
Now tested with two equal 32 GB RDIMMs Samsung M393A4K40CB2-CVF installed in
DIMM_A1 and DIMM_C1 on ASUS WS C422 PRO/SE with BIOS 4801 with kernel
6.12.101+deb13-amd64. The SPD EEPROM is detected and the ee1004 driver is bound
to it, but the driver's attempt to select page 0 fails with -ENXIO.
Consequently, the driver's sysfs eeprom attribute cannot be read, and
decode-dimms fails. Here is the excerpt from boot time:
[ 8.550652] ipmi_si: Trying ACPI-specified kcs state machine at i/o address
0xca2, slave address 0x20, irq 0
[ 8.596883] input: PC Speaker as /devices/platform/pcspkr/input/input5
[ 8.608418] ee1004 0-0056: Failed to select page 0 (-6)
[ 8.608532] ee1004 0-0056: 512 byte EE1004-compliant SPD EEPROM, read-only
[ 8.774836] videodev: Linux video capture interface: v2.00
# decode-dimms
Cannot read /sys/bus/i2c/drivers/ee1004/0-0056/eeprom at /usr/bin/decode-dimms
line 2455.
The SPD device is instantiated at 0x56:
# dmesg | grep "i2c"| head -1
[ 3.138736] i2c i2c-0: Successfully instantiated SPD at 0x56
The device at 0x56 is claimed by ee1004 (“UU” below):
# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- UU UU -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Direct access to the page-selection addresses 0x36/0x37 fails:
# i2cget -f -y 0 0x36
Error: Read failed
# i2cget -f -y 0 0x37
Error: Read failed
i2cdump returns 0xff for every byte, although the device is claimed by ee1004:
# i2cdump -f -y 0 0x56
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
Could this be related to the way ee1004 attempts to select the SPD page on this
particular I2C adapter/controller? In particular, “Failed to select page 0
(-6)” appears to occur before the actual SPD contents can be read.
The SMBus adapter is as follows:
# readlink -f /sys/bus/i2c/devices/i2c-0
/sys/devices/pci0000:00/0000:00:1f.4/i2c-0
# lspci -nn -s 00:1f.4
00:1f.4 SMBus [0c05]: Intel Corporation 200 Series/Z370 Chipset Family SMBus
Controller [8086:a2a3]
Gratefully,
Alma