Re: [decode-dimms] Crucial Ballistix BLS2K16G4D30AESB, cannot decode / understand timings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



A small further development:

Found out there was actually a BIOS setting to enable SPD write after
all. Because this is an overclocking board. It was just buried in a
mess of menus / almost impossible to find.

I enabled the option and rebooted. Unfortunately enabling the SPD
write, it did not change any of the bad behaviour.

dmesg -w
[  147.799024] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[  147.799056] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt

[  351.051412] ee1004 2-0050: 512 byte EE1004-compliant SPD EEPROM, read-only
[  351.051425] i2c i2c-2: new_device: Instantiated device ee1004 at 0x50

[  362.268407] ee1004 2-0052: 512 byte EE1004-compliant SPD EEPROM, read-only
[  362.268426] i2c i2c-2: new_device: Instantiated device ee1004 at 0x52

[  378.888376] ee1004 2-0050: Failed to select page 0 (-6)


So my suspicion / hunch is that:

* Perhaps this is something missing or broken in the ee1004 driver,
that fails with these ASUS motherboards

Is it that this ee1004 driver was not used for quite a while? And only
came back recently for the DDR4 support. Than maybe that would make
some sense. And if ASUS was not specifically tested as a hardware
configuration. Could be doing some strange thing perhaps. Standing
in-between mapping the smbus to access the RAM. It's just a hunch.
Really I have no idea! Best guess.





On Mon, Apr 15, 2019 at 3:45 PM Dreamcat4 <dreamcat4@xxxxxxxxx> wrote:
>
> On Mon, Apr 15, 2019 at 2:24 PM Jean Delvare <jdelvare@xxxxxxx> wrote:
> >
> > On Mon, 15 Apr 2019 14:47:12 +0300, Jarkko Nikula wrote:
> > > On 4/12/19 9:42 PM, Jean Delvare wrote:
> > > > Jarkko, are you aware of any setting of the Z370 SMBus controller that
> > > > would block writes to I2C address 0x36? I have a vague memory of some
> > > > setting that aimed at protecting SPD EEPROMs but as I remember it was
> > > > only for address range 0x50-0x57. But I don't remember the details to
> > > > be honest.
> > >
> > > Not sure but specification for SMBus Host Configuration register (0x40)
> > > bit SPD Write Disable (SPDWD) says only 0x50-0x57:
> > >
> > > "When this bit is set to 1, writes to SMBus addresses 50h – 57h are
> > > disabled. Note: This bit is R/WO and will be reset on PLTRST# assertion.
> > > This bit should be set by BIOS to ‘1’. Software can only program this
> > > bit when both the START bit and Host Busy bit are ‘0’; otherwise, the
> > > write may result in undefined behavior."
> >
> > Thanks Jarkko, that's what I found as well when looking specifically in
> > the datasheet of the Z370 chipset.
> >
> > From the dump provided by Dreamcat4:
> >
> > > 40: 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >
> > The SPD protection is indeed enabled, as I would expect. But it should
> > not affect SPD page selection which is in address range 0x30-0x37.
> >
> > Anyway it's not possible to disable the SPD protection at run-time, as
> > the bit is Write-Once according to the spreadsheet.
> >
> > I'm out of idea, sorry. The only thing I can suggest is to try
> > different memory modules on this mainboard, and/or these memory modules
> > on another mainboard, to figure out if the problem comes from the
> > memory modules or the mainboard.
>
> Jean, I have just tried different ram kit in same motherboard. And it
> does not seem to be doing much differently, its same behaviour, same
> error messages.
>
> [root:~] # ./decode-dimms.new
> Cannot read /sys/bus/i2c/drivers/ee1004/2-0050/eeprom at
> ./decode-dimms.new line 2358.
>
> dmesg -w
> [  763.518594] ee1004 2-0050: Failed to select page 0 (-6)
>
>
> decode-dimms (older version with ubuntu distribution):
>
> [root:/] # decode-dimms
> No EEPROM found, try loading the eeprom or at24 module
> [root:/] # decode-dimms
> No EEPROM found, try loading the eeprom or at24 module
> [root:/] # decode-dimms
> No EEPROM found, try loading the eeprom or at24 module
> [root:/] # decode-dimms
> No EEPROM found, try loading the eeprom or at24 module
> [root:/] #
>
>
> other command:
> [root:/] # modprobe i2c-dev
> [root:/] # i2cdetect 2
> Error: Could not open file `/dev/i2c-2' or `/dev/i2c/2': No such file
> or directory
> [root:/] 1 # cd /sys/bus/i2c/devices/
> [root:/sys/bus/i2c/devices] # ls
> i2c-0  i2c-1
> [root:/sys/bus/i2c/devices] # sudo modprobe i2c-i801
> [root:/sys/bus/i2c/devices] # ls
> i2c-0  i2c-1  i2c-2
> [root:/sys/bus/i2c/devices] # modprobe ee1004
> [root:/sys/bus/i2c/devices] #
> [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: -- -- -- -- -- -- -- -- 18 -- 1a -- -- -- -- --
> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 30: 30 31 -- -- 34 35 -- -- -- -- -- -- -- -- -- --
> 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
> 50: 50 -- 52 -- -- -- -- -- -- -- -- -- -- -- -- --
> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 70: -- -- -- -- -- -- -- --
> [root:/sys/bus/i2c/devices] #
> [root:/sys/bus/i2c/devices] # modprobe ee1004
> [root:/sys/bus/i2c/devices] #
>
>
>
>
>
>
> dmesg -w
> [  271.121124] i801_smbus 0000:00:1f.4: SPD Write Disable is set
> [  271.121155] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
>
>
> [  413.409031] ee1004 2-0050: 512 byte EE1004-compliant SPD EEPROM, read-only
> [  413.409044] i2c i2c-2: new_device: Instantiated device ee1004 at 0x50
>
> [  425.137122] ee1004 2-0052: 512 byte EE1004-compliant SPD EEPROM, read-only
> [  425.137139] i2c i2c-2: new_device: Instantiated device ee1004 at 0x52
>
> [  620.196055] ee1004 2-0050: Currently selected page: 1
> [  620.196056] ee1004 2-0050: 512 byte EE1004-compliant SPD EEPROM, read-only
> [  620.196275] ee1004 2-0052: Currently selected page: 1
> [  620.196276] ee1004 2-0052: 512 byte EE1004-compliant SPD EEPROM, read-only
>
>
>
>
>
> >
> > You could also try your memory modules separately, in case the problem
> > is a bad interaction between the 2. The SPD page selection is kind of a
> > broadcast command, affecting all memory modules at once, and I'm not
> > really sure what would happen if one module behaves OK and the other
> > not.
> >
> > --
> > Jean Delvare
> > SUSE L3 Support




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux