Kernel ACPI Error SMBus/IPMI/GenericSerialBus

I found the next error message in the log

May 8 10:48:57 srv kernel: ACPI Error: SMBus/IPMI/GenericSerialBus write requires Buffer of length 66, found length 32 (20130517/exfield-299)
May 8 10:48:57 srv kernel: ACPI Error: Method parse/execution failed [\_SB_.PMI0._PMM] (Node ffff88042949d960), AE_AML_BUFFER_LIMIT (20130517/psparse-536)
May 8 10:48:57 srv kernel: ACPI Exception: AE_AML_BUFFER_LIMIT, Evaluating _PMM (20130517/power_meter-339)

The message is generated every 5 minutes when lm-sensors try to read the values from the power meter sensor(s). HP has ignored the spec for this method and the result is the error shown above.
The problem can be solved on two ways:
– you can ignore this message (it is safely to ignore)
– you can skip the power meter sensors (at least until someone fix this)

Since I already have the latest firmware, I can’t suggest the firmware update (at least for 310 gen8 server).

To reproduce the problem just find the file power1_average and try to read it

find /sys/devices/LNXSYSTM\:00/ |grep ACPI000D

In my case the file is located in /sys/devices/LNXSYSTM:00/device:00/ACPI000D:00/

Read the file

cat /sys/devices/LNXSYSTM:00/device:00/ACPI000D:00/power1_average

The result will be probably 0 and the error will be thrown in the log.

To solve the problem check the exact sensor which is affected with:

[root@srv log]# sensors
...
power_meter-acpi-0
Adapter: ACPI interface
power1:        0.00 W  (interval = 300.00 s)
 
....

As you can see above, the sensor is power_meter-acpi-0. Now disable the sensor by adding

chip "power_meter-acpi-0"
        ignore power1

at the end of the /etc/sensors3.conf file.

The reboot is recommended but it is not necessary.

Check the sensor again with

[root@srv log]# sensors
...
power_meter-acpi-0
Adapter: ACPI interface
....

As you can see, the line “power1….” is missing and the log is empty.

More info
https://bugs.launchpad.net/ubuntu/+source/acpi/+bug/606999
http://www.nexusco.net/frequent-acpi-errors-starting-smbus-ipmi-write-requires-buffer-length-42/

10 thoughts on “Kernel ACPI Error SMBus/IPMI/GenericSerialBus

  1. Hello,

    I’m having the same problem with a microserver gen8 with a debian install, i did all of this but still the problem persist. What can i do to investicate a bit further?

  2. Thank you for the useful post, Marinko!

    I had a similar problem on Debian Jessie, but the errors in the log were written every 15 seconds.

    This was due to the acpi_power_meter being loaded.

    I removed it with
    rmmod acpi_power_meter

    So far it works well. For the next reboot – we’ll see 🙂
    I haven’t done any BIOS update yet, but HP’s site says the newest BIOS for the DL320e gen8 is from 2015.

    Hope this helps.

    Kind regards,
    Nikolay

  3. Huh… This post was written almost three years ago and the problem still exists 🙂

  4. I was thinking the exact same thing. I believe it only happens on HP hardware but I could be wrong. I still have this issue and yes the sensor gets ignored but the warning still persists.

  5. Thanks. Can’t believe this isn’t fixed even in 2018… was wondering what this error was on my unraid server.

    Probably won’t be buying HP again…

  6. Me too. Also run HP Gen8 with unRAID and have the same issue. Do after every restart: rmmod acpi_power_meter

    That solved the problem until next restart… just anoying such things…

  7. rmmod only takes effect right away but doesn’t persist after reboot. If you want it to persist, you have to do something like a “modprobe -r” to remove the module.

Leave a Reply

Your email address will not be published. Required fields are marked *