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

Reply via email to