Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.kernel > #93877 > unrolled thread
| Started by | Al Ma <AlMa0@ro.ru> |
|---|---|
| First post | 2026-08-25 02:40 +0200 |
| Last post | 2026-09-26 16:10 +0200 |
| Articles | 6 — 2 participants |
Back to article view | Back to linux.debian.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Bug#1110749: ee1004: DDR4 SPD cannot be read, decode-dimms fails, “Failed to select page 0 (-6)” Al Ma <AlMa0@ro.ru> - 2026-08-25 02:40 +0200
Bug#1110749: ee1004: DDR4 SPD cannot be read, decode-dimms fails, “Failed to select page 0 (-6)” Al Ma <AlMa0@ro.ru> - 2026-08-30 17:40 +0200
Bug#1110749: ee1004: DDR4 SPD cannot be read, decode-dimms fails, “Failed to select page 0 (-6)” Al Ma <AlMa0@ro.ru> - 2026-09-11 22:40 +0200
Bug#1110749: ee1004: DDR4 SPD cannot be read, decode-dimms fails, “Failed to select page 0 (-6)” Uwe Kleine-König <ukleinek@debian.org> - 2026-09-23 16:10 +0200
Bug#1110749: Typo correction: Re: Bug#1110749: ee1004: DDR4 SPD cannot be read, decode-dimms fails, “Failed to select page 0 (-6)” Al Ma <AlMa0@ro.ru> - 2026-09-26 16:10 +0200
Bug#1110749: ee1004: DDR4 SPD cannot be read, decode-dimms fails, “Failed to select page 0 (-6)” Al Ma <AlMa0@ro.ru> - 2026-09-26 16:10 +0200
| From | Al Ma <AlMa0@ro.ru> |
|---|---|
| Date | 2026-08-25 02:40 +0200 |
| Subject | Bug#1110749: ee1004: DDR4 SPD cannot be read, decode-dimms fails, “Failed to select page 0 (-6)” |
| Message-ID | <NvNmN-d3uU-1@gated-at.bofh.it> |
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: linux-i2c@vger.kernel.org, jdelvare@suse.de
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
[toc] | [next] | [standalone]
| From | Al Ma <AlMa0@ro.ru> |
|---|---|
| Date | 2026-08-30 17:40 +0200 |
| Message-ID | <NxPNv-ebtr-1@gated-at.bofh.it> |
| In reply to | #93877 |
> if you installed your memory modules following the recommended order
According to page 1-5 of my motherboard manual, dated 2019-10-28, the slots DIMM_A1 and DIMM_C1 should be used when installing two modules (and indeed, they are used as per `dmidecode -t memory` and from what I recall).
> Please try unloading the ee1004 driver, then running i2cdetect again.
Here we go:
# modprobe -r ee1004 && i2cdetect -y 0 && modprobe ee1004
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- 56 -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
What next?
[toc] | [prev] | [next] | [standalone]
| From | Al Ma <AlMa0@ro.ru> |
|---|---|
| Date | 2026-09-11 22:40 +0200 |
| Message-ID | <NCgcp-gBCe-3@gated-at.bofh.it> |
| In reply to | #93946 |
Awesome! Below, I'll comment on whatever I can meaningfully comment. > * Short term, you want to blacklist the ee1004 driver on your system. > It is not a good idea to load a driver which binds to the wrong > device. Here we go, following https://wiki.debian.org/KernelModuleBlacklisting: $ echo "blacklist ee1004" | sudo tee /etc/modprobe.d/ee1004.conf blacklist ee1004 $ sudo depmod -ae depmod: WARNING: -e needs -E or -F $ sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-6.12.107+deb13-amd64 Can the above warning be ignored? > * Still mid term, we probably want to blacklist SPD probing explicitly > for your motherboard (we'll need to know the contents of > /sys/devices/virtual/dmi/id/board_vendor and > /sys/devices/virtual/dmi/id/board_name on your system). Maybe this > can be implemented as an empty entry in mux_dmi_table (as in, we know > the board requires multiplexing, but we don't know yet to implement > it on that board). Here we go: $ cat /sys/devices/virtual/dmi/id/board_vendor ASUSTeK COMPUTER INC. $ cat /sys/devices/virtual/dmi/id/board_name WS C422 PRO_SE > * Long term, we need the hardware vendor to provide technical > information about the board so that we can implement SMBus > multiplexing support in the i2c-i801 driver (if that's really how > things are implemented on your board - that's only a guess from me at > this point). Asus provided information about their Z8 series long ago > and I was able to add support for it back then. It would be wonderful > if they could provide similar information about the WS C422 PRO/SE so > that a kernel developer can add support. > The user manuals for the board lie at https://www.asus.com/de/motherboards-components/motherboards/workstation/ws-c422-pro-se/helpdesk_manual?model2Name=WS-C422-PRO-SE . As for anything deeper, it would be better if you, as a developer, contacted them directly. (In fact, the last time I actually succeeded in issuing a ticket was a long time ago, before the warranty ran out.) An ASUS support contact form lies at https://www.asus.com/support/product/contactus/services/questionform .
[toc] | [prev] | [next] | [standalone]
| From | Uwe Kleine-König <ukleinek@debian.org> |
|---|---|
| Date | 2026-09-23 16:10 +0200 |
| Message-ID | <NGvPz-1lAm-3@gated-at.bofh.it> |
| In reply to | #94070 |
[Multipart message — attachments visible in raw view] — view raw
On Fri, Sep 11, 2026 at 10:33:07PM +0200, Al Ma wrote: > Awesome! > > Below, I'll comment on whatever I can meaningfully comment. > > > * Short term, you want to blacklist the ee1004 driver on your system. > > It is not a good idea to load a driver which binds to the wrong > > device. > > Here we go, following https://wiki.debian.org/KernelModuleBlacklisting: > > $ echo "blacklist ee1004" | sudo tee /etc/modprobe.d/ee1004.conf > blacklist ee1004 > $ sudo depmod -ae > depmod: WARNING: -e needs -E or -F > $ sudo update-initramfs -u > update-initramfs: Generating /boot/initrd.img-6.12.107+deb13-amd64 > > Can the above warning be ignored? I think yes. AFAIK that depmod step isn't needed and the wiki should be fixed. Does that help? > > * Still mid term, we probably want to blacklist SPD probing explicitly > > for your motherboard (we'll need to know the contents of > > /sys/devices/virtual/dmi/id/board_vendor and > > /sys/devices/virtual/dmi/id/board_name on your system). Maybe this > > can be implemented as an empty entry in mux_dmi_table (as in, we know > > the board requires multiplexing, but we don't know yet to implement > > it on that board). > > Here we go: > > $ cat /sys/devices/virtual/dmi/id/board_vendor > ASUSTeK COMPUTER INC. > $ cat /sys/devices/virtual/dmi/id/board_name > WS C422 PRO_SE If the above is confirmed to help, I think we have everything to implement a quirk with the same effect as blacklisting manually. Best regards Uwe
[toc] | [prev] | [next] | [standalone]
| From | Al Ma <AlMa0@ro.ru> |
|---|---|
| Date | 2026-09-26 16:10 +0200 |
| Subject | Bug#1110749: Typo correction: Re: Bug#1110749: ee1004: DDR4 SPD cannot be read, decode-dimms fails, “Failed to select page 0 (-6)” |
| Message-ID | <NHBgd-1VAq-1@gated-at.bofh.it> |
| In reply to | #94186 |
>> $ echo "blacklist ee1004" | sudo tee /etc/modprobe.d/ee1004.conf
>> blacklist ee1004
>> $ sudo depmod -ae
>> depmod: WARNING: -e needs -E or -F
>> $ sudo update-initramfs -u
>> update-initramfs: Generating /boot/initrd.img-6.12.107+deb13-amd64
>>
>> Can the above warning be ignored?
>
> I think yes. AFAIK that depmod step isn't needed and the wiki should be
> fixed.
>
> Does that help?
>
Here we go (after many reboots):
$ cat /etc/modprobe.d/ee1004.conf
blacklist ee1004
$ lsmod | grep ee1004
$ sudo dmesg | egrep "i2c|ee1004"
$ sudo decode-dimms
No EEPROM found, try loading the eeprom, at24 or or ee1004 module
$ sudo i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- 56 -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
$
It helps in the sense that the error message “ee1004 0-0056: Failed to select page 0 (-6)” is gone. It doesn't help in the sense that I still don't know how to programmatically read SPD-EEPROM of the modules installed on my system.
Alma
[toc] | [prev] | [next] | [standalone]
| From | Al Ma <AlMa0@ro.ru> |
|---|---|
| Date | 2026-09-26 16:10 +0200 |
| Message-ID | <NHBge-1VAq-7@gated-at.bofh.it> |
| In reply to | #94186 |
>> $ echo "blacklist ee1004" | sudo tee /etc/modprobe.d/ee1004.conf
>> blacklist ee1004
>> $ sudo depmod -ae
>> depmod: WARNING: -e needs -E or -F
>> $ sudo update-initramfs -u
>> update-initramfs: Generating /boot/initrd.img-6.12.107+deb13-amd64
>>
>> Can the above warning be ignored?
>
> I think yes. AFAIK that depmod step isn't needed and the wiki should be
> fixed.
>
> Does that help?
>
Here we go (after many reboots):
$ cat /etc/modprobe.d/ee1004.conf
blacklist ee1004
$ lsmod | grep ee1004
$ sudo dmesg | egrep "i2c|ee1004"
$ sudo decode-dimms
No EEPROM found, try loading the eeprom, at24 or or ee1004 module
$ sudo i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- 56 -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
$
It helps in the sense that the error messages are gone. Is doesn't help in the sense that I still don't know how to programmatically read SPD-EEPROM of the modules installed on my system.
Alma
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.kernel
csiph-web