2

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?

  • IIRC memtest shows the type of RAM - do you have one of the many Linux live disks that has memtest as an option? – ivanivan Nov 19 '17 at 1:14
2

Yes, it looks like the 00:1f.3 SMBus device is hidden by the BIOS.

If it works under Windows with CPU-Z, the first step is to check if the device shows up in the hardware manager under Windows. If it does, one needs to figure out how to enable it, which I'm not sure how to do - maybe ACPI options.

Once it's enabled, you can read out the RAM timing with decode-dimms after loading the kernel modules i2c_dev and eeprom. The configuration EEPROM of the RAM chips must show up under /sys/bus/i2c/drivers/eeprom. At least that's how it works on my system.

No, it's not possible to "read this information into /dev/mem". /dev/mem represents the main memory, what we want are special EEPROMs on the RAM modules, that are only accessible via a serial bus, the SMBus.

-2

try it with

dmidecode –type memory

or

dmidecode -t 17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.