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