Ubuntu See Live RAM Timings Decode DIMMS

This was another discovery mission, have left it here as I went rather than afterwards write-up, there is a program called decode-dimms I found out should do what I want.

$ sudo apt-get install i2c-tools $ sudo modprobe eeprom $ decode-dimms
 * 1) decode-dimms version 5733 (2009-06-09 13:13:41 +0200)

Memory Serial Presence Detect Decoder By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner, Jean Delvare, Trent Piepho and others

Number of SDRAM DIMMs detected and decoded: 0

hmm

$ sudo i2cdetect -l i2c-0	i2c      	NVIDIA i2c adapter 0 at 1:00.0  	I2C adapter i2c-1	i2c      	NVIDIA i2c adapter 1 at 1:00.0  	I2C adapter i2c-2	i2c      	NVIDIA i2c adapter 9 at 1:00.0  	I2C adapter

Not seeing the SM Bus. sensors-detect should see what module needs loading. (I selected 'no' to scanning the 3 Nvidia busses and also didn't want it loading these modules each time so 'no' at the end!)

$ sudo sensors-detect
 * 1) sensors-detect revision 5984 (2011-07-10 21:22:53 +0200)
 * 2) System: Hewlett-Packard HP Compaq 8200 Elite MT PC
 * 3) Board: Hewlett-Packard 1495

This program will help you determine which kernel modules you need to load to use lm_sensors most effectively. It is generally safe and recommended to accept the default answers to all questions, unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors. Do you want to scan for them? This is totally safe. (YES/no): Module cpuid loaded successfully. Silicon Integrated Systems SIS5595... No VIA VT82C686 Integrated Sensors... No VIA VT8231 Integrated Sensors... No AMD K8 thermal sensors... No AMD Family 10h thermal sensors... No AMD Family 11h thermal sensors... No AMD Family 12h and 14h thermal sensors... No AMD Family 15h thermal sensors... No AMD Family 15h power sensors... No Intel digital thermal sensor...                            Success! (driver `coretemp') Intel AMB FB-DIMM thermal sensor... No VIA C7 thermal sensor... No VIA Nano thermal sensor... No

Some Super I/O chips contain embedded sensors. We have to write to standard I/O ports to probe them. This is usually safe. Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... Yes Found unknown chip with ID 0x1c11 Probing for Super-I/O at 0x4e/0x4f Trying family `National Semiconductor/ITE'... No Trying family `SMSC'... Yes Found unknown chip with ID 0x0b00

Some systems (mainly servers) implement IPMI, a set of common interfaces through which system health data may be retrieved, amongst other things. We first try to get the information from SMBIOS. If we don't find it there, we have to read from arbitrary I/O ports to probe for such interfaces. This is normally safe. Do you want to scan for IPMI interfaces? (YES/no): Found `IPMI BMC KCS'...                                    Success! (confidence 8, driver `to-be-written')

Some hardware monitoring chips are accessible through the ISA I/O ports. We have to write to arbitrary I/O ports to probe them. This is usually safe though. Yes, you do have ISA I/O ports even if you do not have any ISA slots! Do you want to scan the ISA I/O ports? (YES/no): Probing for `National Semiconductor LM78' at 0x290... No Probing for `National Semiconductor LM79' at 0x290... No Probing for `Winbond W83781D' at 0x290... No Probing for `Winbond W83782D' at 0x290... No

Lastly, we can probe the I2C/SMBus adapters for connected hardware monitoring devices. This is the most risky part, and while it works reasonably well on most systems, it has been reported to cause trouble on some systems. Do you want to probe the I2C/SMBus adapters now? (YES/no): Using driver `i2c-i801' for device 0000:00:1f.3: Intel Cougar Point (PCH) Module i2c-i801 loaded successfully.

Next adapter: NVIDIA i2c adapter 0 at 1:00.0 (i2c-0) Do you want to scan it? (YES/no/selectively): no

Next adapter: NVIDIA i2c adapter 1 at 1:00.0 (i2c-1) Do you want to scan it? (YES/no/selectively): no

Next adapter: NVIDIA i2c adapter 9 at 1:00.0 (i2c-2) Do you want to scan it? (YES/no/selectively): no

Next adapter: SMBus I801 adapter at f000 (i2c-3) Do you want to scan it? (YES/no/selectively): Client found at address 0x50 Handled by driver `eeprom' (already loaded), chip type `eeprom' (note: this is probably NOT a sensor chip!) Client found at address 0x52 Handled by driver `eeprom' (already loaded), chip type `eeprom' (note: this is probably NOT a sensor chip!)

Now follows a summary of the probes I have just done. Just press ENTER to continue:

Driver `to-be-written': * ISA bus Chip `IPMI BMC KCS' (confidence: 8)

Driver `coretemp': * Chip `Intel digital thermal sensor' (confidence: 9)

Note: there is no driver for IPMI BMC KCS yet. Check http://www.lm-sensors.org/wiki/Devices for updates.

To load everything that is needed, add this to /etc/modules: coretemp If you have some drivers built into your kernel, the list above will contain too many modules. Skip the appropriate ones!
 * 1) cut here
 * 2) Chip drivers
 * 1) cut here

Do you want to add these lines automatically to /etc/modules? (yes/NO)no

Unloading i2c-i801... OK Unloading cpuid... OK

Ok so I need the i2c-i801 module loading to see the SMBus.

$ sudo modprobe i2c-i801 $ sudo i2cdetect -l i2c-0	i2c      	NVIDIA i2c adapter 0 at 1:00.0  	I2C adapter i2c-1	i2c      	NVIDIA i2c adapter 1 at 1:00.0  	I2C adapter i2c-2	i2c      	NVIDIA i2c adapter 9 at 1:00.0  	I2C adapter i2c-3	smbus    	SMBus I801 adapter at f000      	SMBus adapter

Not sure about this never ran it, so left in here FYI what it produces.

$ sudo i2cdetect 3 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-3. I will probe address range 0x03-0x77. Continue? [Y/n] 0 1  2  3  4  5  6  7  8  9  a  b  c  d  e  f 00:          -- -- -- -- -- 08 -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: 30 -- 32 -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 50: UU -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --

Hopefully can finally see what the DIMMS are running at.

$ decode-dimms
 * 1) decode-dimms version 5733 (2009-06-09 13:13:41 +0200)

Memory Serial Presence Detect Decoder By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner, Jean Delvare, Trent Piepho and others

Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/3-0050 Guessing DIMM is in                            bank 1

---=== SPD EEPROM Information ===--- EEPROM CRC of bytes 0-116                      OK (0xF02A) Total number of bytes in EEPROM                256 Fundamental Memory type                        DDR3 SDRAM Module Type                                    UDIMM
 * 1) of bytes written to SDRAM EEPROM              176

---=== Memory Characteristics ===--- Fine time base                                 2.500 ps Medium time base                                0.125 ns Maximum module speed                            1333MHz (PC3-10666) Size                                           4096 MB Banks x Rows x Columns x Bits                   8 x 15 x 10 x 64 Ranks                                          2 SDRAM Device Width                             8 bits tCL-tRCD-tRP-tRAS                              8-8-8-24 Supported CAS Latencies (tCL)                  9T, 8T, 7T, 6T

---=== Timing Parameters ===--- Minimum Write Recovery time (tWR)              15.000 ns Minimum Row Active to Row Active Delay (tRRD)   6.000 ns Minimum Active to Auto-Refresh Delay (tRC)      49.125 ns Minimum Recovery Delay (tRFC)                   160.000 ns Minimum Write to Read CMD Delay (tWTR)          7.500 ns Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns Minimum Four Activate Window Delay (tFAW)       30.000 ns

---=== Optional Features ===--- Operable voltages                              1.5V RZQ/6 supported? Yes RZQ/7 supported? Yes DLL-Off Mode supported? Yes Operating temperature range                    0-95C Refresh Rate in extended temp range            1X Auto Self-Refresh? Yes On-Die Thermal Sensor readout? No Partial Array Self-Refresh? No Thermal Sensor Accuracy                        Not implemented SDRAM Device Type                              Standard Monolithic

---=== Physical Characteristics ===--- Module Height (mm)                             30 Module Thickness (mm)                          2 front, 2 back Module Width (mm)                              133.5 Module Reference Card                          B

---=== Manufacturer Data ===--- Module Manufacturer                            Kingston Manufacturing Location Code                    0x04 Manufacturing Date                             2012-W02 Assembly Serial Number                         0x441458DB Part Number                                    9905403-400.A00LF

Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/3-0052 Guessing DIMM is in                            bank 3

---=== SPD EEPROM Information ===--- EEPROM CRC of bytes 0-116                      OK (0x7134) Total number of bytes in EEPROM                256 Fundamental Memory type                        DDR3 SDRAM Module Type                                    UDIMM
 * 1) of bytes written to SDRAM EEPROM              176

---=== Memory Characteristics ===--- Fine time base                                 2.500 ps Medium time base                                0.125 ns Maximum module speed                            1333MHz (PC3-10666) Size                                           4096 MB Banks x Rows x Columns x Bits                   8 x 15 x 10 x 64 Ranks                                          2 SDRAM Device Width                             8 bits tCL-tRCD-tRP-tRAS                              8-8-8-24 Supported CAS Latencies (tCL)                  9T, 8T, 7T, 6T

---=== Timing Parameters ===--- Minimum Write Recovery time (tWR)              15.000 ns Minimum Row Active to Row Active Delay (tRRD)   6.000 ns Minimum Active to Auto-Refresh Delay (tRC)      49.125 ns Minimum Recovery Delay (tRFC)                   160.000 ns Minimum Write to Read CMD Delay (tWTR)          7.500 ns Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns Minimum Four Activate Window Delay (tFAW)       30.000 ns

---=== Optional Features ===--- Operable voltages                              1.5V RZQ/6 supported? Yes RZQ/7 supported? Yes DLL-Off Mode supported? Yes Operating temperature range                    0-95C Refresh Rate in extended temp range            1X Auto Self-Refresh? No On-Die Thermal Sensor readout? No Partial Array Self-Refresh? Yes Thermal Sensor Accuracy                        Not implemented SDRAM Device Type                              Standard Monolithic

---=== Physical Characteristics ===--- Module Height (mm)                             30 Module Thickness (mm)                          2 front, 2 back Module Width (mm)                              133.5 Module Reference Card                          B

---=== Manufacturer Data ===--- Module Manufacturer                            Kingston Manufacturing Location Code                    0x04 Manufacturing Date                             2011-W46 Assembly Serial Number                         0x591F3A3E Part Number                                    9905403-439.A00LF

Number of SDRAM DIMMs detected and decoded: 2

So can see these HP ramms are in fact Kingston and running at

tCL-tRCD-tRP-tRAS                              8-8-8-24

Supported CAS Latencies (tCL)                  9T, 8T, 7T, 6T