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 # 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
# sensors-detect revision 5984 (2011-07-10 21:22:53 +0200)
# System: Hewlett-Packard HP Compaq 8200 Elite MT PC
# 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:
#----cut here----
# Chip drivers
coretemp
#----cut here----
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!
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 # 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) # of bytes written to SDRAM EEPROM 176 Total number of bytes in EEPROM 256 Fundamental Memory type DDR3 SDRAM Module Type UDIMM ---=== 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) # of bytes written to SDRAM EEPROM 176 Total number of bytes in EEPROM 256 Fundamental Memory type DDR3 SDRAM Module Type UDIMM ---=== 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