Yep - and the crucial ones worked too. Here is all the command output below. Thank you so much Jean for solving this issue. [root:/sys/bus/i2c/devices] # cd /sys/bus/i2c/devices [root:/sys/bus/i2c/devices] # ls i2c-0 i2c-1 [root:/sys/bus/i2c/devices] # [root:/sys/bus/i2c/devices] # modprobe i2c-dev [root:/sys/bus/i2c/devices] # modprobe i2c-i801 [root:/sys/bus/i2c/devices] # ls i2c-0 i2c-1 i2c-2 [root:/sys/bus/i2c/devices] # [root:/sys/bus/i2c/devices] # i2cdetect 2 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-2. I will probe address range 0x03-0x77. Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- 08 -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: 30 -- -- -- 34 35 -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 50: 50 -- 52 -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- [root:/sys/bus/i2c/devices] # [root:/sys/bus/i2c/devices] # [root:/sys/bus/i2c/devices] # [root:/sys/bus/i2c/devices] # echo ee1004 0x50 > /sys/bus/i2c/devices/i2c-2/new_device [root:/sys/bus/i2c/devices] # echo ee1004 0x52 > /sys/bus/i2c/devices/i2c-2/new_device [root:/sys/bus/i2c/devices] # [root:/sys/bus/i2c/devices] # cd ~ [root:~] # ./decode-dimms.new # decode-dimms version $Revision$ Memory Serial Presence Detect Decoder By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner, Jean Delvare, Trent Piepho and others Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/2-0050 Guessing DIMM is in bank 1 ---=== SPD EEPROM Information ===--- EEPROM CRC of bytes 0-125 OK (0x9912) # of bytes written to SDRAM EEPROM 384 Total number of bytes in EEPROM 512 Fundamental Memory type DDR4 SDRAM SPD Revision 1.1 Module Type UDIMM EEPROM CRC of bytes 128-253 OK (0xDF74) ---=== Memory Characteristics ===--- Maximum module speed 2400 MHz (PC4-19200) Size 16384 MB Banks x Rows x Columns x Bits 16 x 16 x 10 x 64 SDRAM Device Width 8 bits Ranks 2 Rank Mix Symmetrical Primary Bus Width 64 bits AA-RCD-RP-RAS (cycles) 16-16-16-39 Supported CAS Latencies 24T, 23T, 22T, 21T, 20T, 19T, 18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T, 9T ---=== Timings at Standard Speeds ===--- AA-RCD-RP-RAS (cycles) as DDR4-2400 16-16-16-39 AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35 AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-30 AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-26 ---=== Timing Parameters ===--- Minimum Cycle Time (tCKmin) 0.833 ns Maximum Cycle Time (tCKmax) 1.600 ns Minimum CAS Latency Time (tAA) 13.320 ns Minimum RAS to CAS Delay (tRCD) 13.320 ns Minimum Row Precharge Delay (tRP) 13.320 ns Minimum Active to Precharge Delay (tRAS) 32.000 ns Minimum Active to Auto-Refresh Delay (tRC) 45.320 ns Minimum Recovery Delay (tRFC1) 350.000 ns Minimum Recovery Delay (tRFC2) 260.000 ns Minimum Recovery Delay (tRFC4) 160.000 ns Minimum Four Activate Window Delay (tFAW) 21.000 ns Minimum Row Active to Row Active Delay (tRRD_S) 3.000 ns Minimum Row Active to Row Active Delay (tRRD_L) 4.900 ns Minimum CAS to CAS Delay (tCCD_L) 5.000 ns Minimum Write Recovery Time (tWR) 15.000 ns Minimum Write to Read Time (tWTR_S) 2.500 ns Minimum Write to Read Time (tWTR_L) 7.500 ns ---=== Other Information ===--- Package Type Monolithic Maximum Activate Count Unlimited Post Package Repair Not supported Module Nominal Voltage 1.2 V Thermal Sensor No ---=== Physical Characteristics ===--- Module Height 32 mm Module Thickness 2 mm front, 2 mm back Module Reference Card B revision 1 ---=== Manufacturer Data ===--- Module Manufacturer Crucial Technology DRAM Manufacturer Micron Technology Manufacturing Date 2019-W10 Assembly Serial Number 0xE1C50F14 Part Number BLS16G4D30AESB.M16FE Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/2-0052 Guessing DIMM is in bank 3 ---=== SPD EEPROM Information ===--- EEPROM CRC of bytes 0-125 OK (0x9912) # of bytes written to SDRAM EEPROM 384 Total number of bytes in EEPROM 512 Fundamental Memory type DDR4 SDRAM SPD Revision 1.1 Module Type UDIMM EEPROM CRC of bytes 128-253 OK (0xDF74) ---=== Memory Characteristics ===--- Maximum module speed 2400 MHz (PC4-19200) Size 16384 MB Banks x Rows x Columns x Bits 16 x 16 x 10 x 64 SDRAM Device Width 8 bits Ranks 2 Rank Mix Symmetrical Primary Bus Width 64 bits AA-RCD-RP-RAS (cycles) 16-16-16-39 Supported CAS Latencies 24T, 23T, 22T, 21T, 20T, 19T, 18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T, 9T ---=== Timings at Standard Speeds ===--- AA-RCD-RP-RAS (cycles) as DDR4-2400 16-16-16-39 AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35 AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-30 AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-26 ---=== Timing Parameters ===--- Minimum Cycle Time (tCKmin) 0.833 ns Maximum Cycle Time (tCKmax) 1.600 ns Minimum CAS Latency Time (tAA) 13.320 ns Minimum RAS to CAS Delay (tRCD) 13.320 ns Minimum Row Precharge Delay (tRP) 13.320 ns Minimum Active to Precharge Delay (tRAS) 32.000 ns Minimum Active to Auto-Refresh Delay (tRC) 45.320 ns Minimum Recovery Delay (tRFC1) 350.000 ns Minimum Recovery Delay (tRFC2) 260.000 ns Minimum Recovery Delay (tRFC4) 160.000 ns Minimum Four Activate Window Delay (tFAW) 21.000 ns Minimum Row Active to Row Active Delay (tRRD_S) 3.000 ns Minimum Row Active to Row Active Delay (tRRD_L) 4.900 ns Minimum CAS to CAS Delay (tCCD_L) 5.000 ns Minimum Write Recovery Time (tWR) 15.000 ns Minimum Write to Read Time (tWTR_S) 2.500 ns Minimum Write to Read Time (tWTR_L) 7.500 ns ---=== Other Information ===--- Package Type Monolithic Maximum Activate Count Unlimited Post Package Repair Not supported Module Nominal Voltage 1.2 V Thermal Sensor No ---=== Physical Characteristics ===--- Module Height 32 mm Module Thickness 2 mm front, 2 mm back Module Reference Card B revision 1 ---=== Manufacturer Data ===--- Module Manufacturer Crucial Technology DRAM Manufacturer Micron Technology Manufacturing Date 2019-W10 Assembly Serial Number 0xE1C4CF8D Part Number BLS16G4D30AESB.M16FE Number of SDRAM DIMMs detected and decoded: 2 [root:~] # # dmesg -w [ 181.304884] i801_smbus 0000:00:1f.4: SPD Write Disable is set [ 181.304917] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt [ 199.450787] ee1004 2-0050: Currently selected page: 1 [ 199.450789] ee1004 2-0050: 512 byte EE1004-compliant SPD EEPROM, read-only [ 199.450844] i2c i2c-2: new_device: Instantiated device ee1004 at 0x50 [ 199.474452] ee1004 2-0052: Currently selected page: 1 [ 199.474454] ee1004 2-0052: 512 byte EE1004-compliant SPD EEPROM, read-only [ 199.474538] i2c i2c-2: new_device: Instantiated device ee1004 at 0x52 [ 216.816208] ee1004 2-0050: Selected page 0 [ 216.820355] ee1004 2-0050: read 32@0 --> 32 [ 216.824490] ee1004 2-0050: read 32@32 --> 32 [ 216.828717] ee1004 2-0050: read 32@64 --> 32 [ 216.832939] ee1004 2-0050: read 32@96 --> 32 [ 216.837314] ee1004 2-0052: read 32@0 --> 32 [ 216.841541] ee1004 2-0052: read 32@32 --> 32 [ 216.845844] ee1004 2-0052: read 32@64 --> 32 [ 216.850016] ee1004 2-0052: read 32@96 --> 32 [ 216.854424] ee1004 2-0050: read 32@128 --> 32 [ 216.858548] ee1004 2-0050: read 32@160 --> 32 [ 216.862726] ee1004 2-0050: read 32@192 --> 32 [ 216.866886] ee1004 2-0050: read 32@224 --> 32 [ 216.867358] ee1004 2-0050: Selected page 1 [ 216.871490] ee1004 2-0050: read 32@0 --> 32 [ 216.875690] ee1004 2-0050: read 32@32 --> 32 [ 216.879863] ee1004 2-0050: read 32@64 --> 32 [ 216.884010] ee1004 2-0050: read 32@96 --> 32 [ 216.885058] ee1004 2-0052: Selected page 0 [ 216.889209] ee1004 2-0052: read 32@128 --> 32 [ 216.893385] ee1004 2-0052: read 32@160 --> 32 [ 216.897521] ee1004 2-0052: read 32@192 --> 32 [ 216.901702] ee1004 2-0052: read 32@224 --> 32 [ 216.902190] ee1004 2-0052: Selected page 1 [ 216.906348] ee1004 2-0052: read 32@0 --> 32 [ 216.910507] ee1004 2-0052: read 32@32 --> 32 [ 216.914681] ee1004 2-0052: read 32@64 --> 32 [ 216.918841] ee1004 2-0052: read 32@96 --> 32 On Fri, Apr 19, 2019 at 8:45 PM Dreamcat4 <dreamcat4@xxxxxxxxx> wrote: > > Oh sorry. Forgot to include my dmesg -w output (with trident-z kit). > Crucial kit test result will be in next msg then. > > dmesg -w > [268514.855020] ee1004 2-0050: Currently selected page: 0 > [268514.855022] ee1004 2-0050: 512 byte EE1004-compliant SPD EEPROM, read-only > [268514.855325] ee1004 2-0052: Currently selected page: 0 > [268514.855327] ee1004 2-0052: 512 byte EE1004-compliant SPD EEPROM, read-only > > [268533.107783] ee1004 2-0050: read 32@0 --> 32 > [268533.112049] ee1004 2-0050: read 32@32 --> 32 > [268533.116399] ee1004 2-0050: read 32@64 --> 32 > [268533.120908] ee1004 2-0050: read 32@96 --> 32 > [268533.125561] ee1004 2-0052: read 32@0 --> 32 > [268533.129723] ee1004 2-0052: read 32@32 --> 32 > [268533.134000] ee1004 2-0052: read 32@64 --> 32 > [268533.138231] ee1004 2-0052: read 32@96 --> 32 > [268533.142785] ee1004 2-0050: read 32@128 --> 32 > [268533.147004] ee1004 2-0050: read 32@160 --> 32 > [268533.151337] ee1004 2-0050: read 32@192 --> 32 > [268533.155616] ee1004 2-0050: read 32@224 --> 32 > [268533.156148] ee1004 2-0050: Selected page 1 > [268533.160319] ee1004 2-0050: read 32@0 --> 32 > [268533.164631] ee1004 2-0050: read 32@32 --> 32 > [268533.168870] ee1004 2-0050: read 32@64 --> 32 > [268533.173116] ee1004 2-0050: read 32@96 --> 32 > [268533.174186] ee1004 2-0052: Selected page 0 > [268533.178331] ee1004 2-0052: read 32@128 --> 32 > [268533.182631] ee1004 2-0052: read 32@160 --> 32 > [268533.187121] ee1004 2-0052: read 32@192 --> 32 > [268533.191507] ee1004 2-0052: read 32@224 --> 32 > [268533.192091] ee1004 2-0052: Selected page 1 > [268533.196267] ee1004 2-0052: read 32@0 --> 32 > [268533.200619] ee1004 2-0052: read 32@32 --> 32 > [268533.204900] ee1004 2-0052: read 32@64 --> 32 > [268533.209183] ee1004 2-0052: read 32@96 --> 32 > > On Fri, Apr 19, 2019 at 8:43 PM Dreamcat4 <dreamcat4@xxxxxxxxx> wrote: > > > > Awesome thanks! > > Just to reminder that of my system specs, i have this ASUS maximus ix > > apex (z270) motherboard, and both my ram kits, one a crucial ballistix > > (BLS2K16G4D30AESB), the other a g.skill trident-z (F4-3200C15-16GTZ), > > neither decoded with this motherboard. > > > > Well compiled it, tried just tried now, and with the trident-z kit, > > and decode-dimms.new (my download of the newer online version of this > > script), and works! > > > > Will need to reboot and double check for the Cruicial kit, which will > > be coming shortly, in my next message. > > > > Here is the output from the trident-z kit > > > > $ sudo ./decode-dimms.new > > # decode-dimms version $Revision$ > > > > Memory Serial Presence Detect Decoder > > By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner, > > Jean Delvare, Trent Piepho and others > > > > > > Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/2-0050 > > Guessing DIMM is in bank 1 > > > > ---=== SPD EEPROM Information ===--- > > EEPROM CRC of bytes 0-125 OK (0x7EAF) > > # of bytes written to SDRAM EEPROM 384 > > Total number of bytes in EEPROM 512 > > Fundamental Memory type DDR4 SDRAM > > SPD Revision 1.0 > > Module Type UDIMM > > EEPROM CRC of bytes 128-253 OK (0xDF74) > > > > ---=== Memory Characteristics ===--- > > Maximum module speed 2132 MHz (PC4-17000) > > Size 16384 MB > > Banks x Rows x Columns x Bits 16 x 16 x 10 x 64 > > SDRAM Device Width 8 bits > > Ranks 2 > > Rank Mix Symmetrical > > Primary Bus Width 64 bits > > AA-RCD-RP-RAS (cycles) 15-15-15-36 > > Supported CAS Latencies 16T, 15T, 14T, 13T, > > 12T, 11T, 10T > > > > ---=== Timings at Standard Speeds ===--- > > AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-31 > > AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-27 > > > > ---=== Timing Parameters ===--- > > Minimum Cycle Time (tCKmin) 0.938 ns > > Maximum Cycle Time (tCKmax) 1.500 ns > > Minimum CAS Latency Time (tAA) 13.750 ns > > Minimum RAS to CAS Delay (tRCD) 13.750 ns > > Minimum Row Precharge Delay (tRP) 13.750 ns > > Minimum Active to Precharge Delay (tRAS) 33.000 ns > > Minimum Active to Auto-Refresh Delay (tRC) 46.750 ns > > Minimum Recovery Delay (tRFC1) 350.000 ns > > Minimum Recovery Delay (tRFC2) 260.000 ns > > Minimum Recovery Delay (tRFC4) 160.000 ns > > Minimum Four Activate Window Delay (tFAW) 21.000 ns > > Minimum Row Active to Row Active Delay (tRRD_S) 3.700 ns > > Minimum Row Active to Row Active Delay (tRRD_L) 5.300 ns > > Minimum CAS to CAS Delay (tCCD_L) 5.625 ns > > > > ---=== Other Information ===--- > > Package Type Monolithic > > Maximum Activate Count Unlimited > > Post Package Repair One row per bank group > > Soft PPR Not Supported > > Module Nominal Voltage 1.2 V > > Thermal Sensor No > > > > ---=== Physical Characteristics ===--- > > Module Height 32 mm > > Module Thickness 2 mm front, 2 mm back > > Module Reference Card B revision 1 > > > > ---=== Manufacturer Data ===--- > > Module Manufacturer G Skill Intl > > DRAM Manufacturer Samsung > > Part Number F4-3200C15-16GTZ > > > > > > Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/2-0052 > > Guessing DIMM is in bank 3 > > > > ---=== SPD EEPROM Information ===--- > > EEPROM CRC of bytes 0-125 OK (0x7EAF) > > # of bytes written to SDRAM EEPROM 384 > > Total number of bytes in EEPROM 512 > > Fundamental Memory type DDR4 SDRAM > > SPD Revision 1.0 > > Module Type UDIMM > > EEPROM CRC of bytes 128-253 OK (0xDF74) > > > > ---=== Memory Characteristics ===--- > > Maximum module speed 2132 MHz (PC4-17000) > > Size 16384 MB > > Banks x Rows x Columns x Bits 16 x 16 x 10 x 64 > > SDRAM Device Width 8 bits > > Ranks 2 > > Rank Mix Symmetrical > > Primary Bus Width 64 bits > > AA-RCD-RP-RAS (cycles) 15-15-15-36 > > Supported CAS Latencies 16T, 15T, 14T, 13T, > > 12T, 11T, 10T > > > > ---=== Timings at Standard Speeds ===--- > > AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-31 > > AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-27 > > > > ---=== Timing Parameters ===--- > > Minimum Cycle Time (tCKmin) 0.938 ns > > Maximum Cycle Time (tCKmax) 1.500 ns > > Minimum CAS Latency Time (tAA) 13.750 ns > > Minimum RAS to CAS Delay (tRCD) 13.750 ns > > Minimum Row Precharge Delay (tRP) 13.750 ns > > Minimum Active to Precharge Delay (tRAS) 33.000 ns > > Minimum Active to Auto-Refresh Delay (tRC) 46.750 ns > > Minimum Recovery Delay (tRFC1) 350.000 ns > > Minimum Recovery Delay (tRFC2) 260.000 ns > > Minimum Recovery Delay (tRFC4) 160.000 ns > > Minimum Four Activate Window Delay (tFAW) 21.000 ns > > Minimum Row Active to Row Active Delay (tRRD_S) 3.700 ns > > Minimum Row Active to Row Active Delay (tRRD_L) 5.300 ns > > Minimum CAS to CAS Delay (tCCD_L) 5.625 ns > > > > ---=== Other Information ===--- > > Package Type Monolithic > > Maximum Activate Count Unlimited > > Post Package Repair One row per bank group > > Soft PPR Not Supported > > Module Nominal Voltage 1.2 V > > Thermal Sensor No > > > > ---=== Physical Characteristics ===--- > > Module Height 32 mm > > Module Thickness 2 mm front, 2 mm back > > Module Reference Card B revision 1 > > > > ---=== Manufacturer Data ===--- > > Module Manufacturer G Skill Intl > > DRAM Manufacturer Samsung > > Part Number F4-3200C15-16GTZ > > > > > > Number of SDRAM DIMMs detected and decoded: 2 > > [id:~] $ > > > > > > A quick recap of what Jean has changed in the ee1004.c > > > > $ diff ee1004.c foo.c > > 59a60,76 > > > static int ee1004_get_current_page(void) > > > { > > > int err; > > > > > > err = i2c_smbus_read_byte(ee1004_set_page[0]); > > > if (err == -ENXIO) { > > > /* Nack means page 1 is selected */ > > > return 1; > > > } else if (err < 0) { > > > /* Anything else is a real error, bail out */ > > > return err; > > > } else { > > > /* Ack means page 0 is selected, returned value meaningless */ > > > return 0; > > > } > > > } > > > > > 108a126,135 > > > if (status == -ENXIO) { > > > /* > > > * Don't give up just yet. Some memory > > > * modules will select the page but not > > > * ack the command. Check which page is > > > * selected now. > > > */ > > > if (ee1004_get_current_page() == page) > > > status = 0; > > > } > > 193,198c220,221 > > < err = i2c_smbus_read_byte(ee1004_set_page[0]); > > < if (err == -ENXIO) { > > < /* Nack means page 1 is selected */ > > < ee1004_current_page = 1; > > < } else if (err < 0) { > > < /* Anything else is a real error, bail out */ > > --- > > > err = ee1004_get_current_page(); > > > if (err < 0) > > 200,203c223 > > < } else { > > < /* Ack means page 0 is selected, returned value meaningless */ > > < ee1004_current_page = 0; > > < } > > --- > > > ee1004_current_page = err; > > > > > > > > > > On Fri, Apr 19, 2019 at 7:39 PM Jean Delvare <jdelvare@xxxxxxx> wrote: > > > > > > On Thu, 18 Apr 2019 18:19:46 +0300, Jarkko Nikula wrote: > > > > Same system. Working set (two DIMMs) is Micron and failing set is > > > > Crucial. Interestingly decode-dimm was able to parse also Crucial when > > > > plugged in together with Micron and all of them probed with ee1004 but > > > > not when there were 2* or 4* Crusial DIMMs alone. > > > > > > Dreamcat4, I have put an updated ee1004 driver at: > > > > > > http://jdelvare.nerim.net/devel/lm-sensors/drivers/ee1004/ > > > > > > Please build it and give it a try. It includes a hack which may > > > workaround the weird behavior of your memory modules. > > > > > > You'll still need to instantiate the 2 ee1004 devices manually, as > > > before. You should be able to read from the eeprom files without error > > > now, and hopefully decode-dimms will even print sensible values. > > > > > > -- > > > Jean Delvare > > > SUSE L3 Support