I have a HP Probook 6470b laptop with HP MBO 179C and Intel mobile HM76 chipset. I would like to find out a CAS latency of my DDR3 memory module without opening the laptop.
I was told that the SMBus should show up as device 00:1f.3, but it is missing.
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1c.3 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 4 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
23:00.0 FireWire (IEEE 1394): JMicron Technology Corp. IEEE 1394 Host Controller (rev 30)
23:00.1 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 30)
23:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (rev 30)
24:00.0 Network controller: Broadcom Limited BCM43228 802.11a/b/g/n
It means it has been hidden by the BIOS and that it is possible to unhide the SMBus on older Intel chipsets, up to ICH6, but nothing for recent chipsets.
From Intel 5 Series chipset, no more Southbridge I/O Controller Hub (ICH) is used but PCH (Platform Controller Hub).
Taking advantage of Intel Nehalem CPUs with integrated graphics and PCI Express ports, the Intel management engine (ME) and a display controller for integrated graphics, once housed in north bridge, are moved into the Platform Controller Hub (PCH). The I/O Controller Hub (ICH) function is integrated into the PCH, removing the need for separate north bridge and south bridge.
Here on i2c-i801 driver documentation page I read that It could be the SMBus was hidden on purpose because it'll be driven by ACPI. There are ways to unhide ICH SMBus, but I didn't found how to do it with PCH SMBus.
Reading how to communicate with EEPROM to get Serial Presence Detect (SPD) data I found out about i2c-tools. Unlike dmidecode which reads memory data from BIOS, i2c-tools requires SMBus controller support in the kernel, the EEPROM kernel driver, and also that the SPD EEPROMs are connected to the SMBus.
Running i2cdetect from i2c-tools:
modprobe i2c-dev
i2cdetect -l
and got this:
i2c-3 i2c i915 gmbus dpc I2C adapter
i2c-1 i2c i915 gmbus vga I2C adapter
i2c-8 i2c DPDDC-D I2C adapter
i2c-6 i2c DPDDC-B I2C adapter
i2c-4 i2c i915 gmbus dpb I2C adapter
i2c-2 i2c i915 gmbus panel I2C adapter
i2c-0 i2c i915 gmbus ssc I2C adapter
i2c-7 i2c DPDDC-C I2C adapter
i2c-5 i2c i915 gmbus dpd I2C adapter
Those are all sensors from my iGPU card. No SMBus listed.
Is it possible to see CAS latency on Linux on this laptop? Why is CPU-Z on Windows capable to see this information and under Linux this SMBus is hidden? Is is possible to read this info in /dev/mem, and how?