Ipmitool command & entity-manager question
Johnathan Mantey
johnathanx.mantey at intel.com
Fri Oct 1 01:00:10 AEST 2021
On 9/30/21 3:13 AM, 吳秉昌 wrote:
> Hi Andrei
>
> My question is that I set MB_P12V "upper critical" is 13.23, "upper non critical" is 12.6, etc .
> When I login web page, I can see the setting what I want.
> But when I use “Ipmitool sensor” command, the response is wrong. Like below
>
> MB P12V | 7.215 | Volts | ok | na |6.386 | 6.723 | 7.429 | 7.829 | na
>
> I am not sure am I miss something.
>
> Thanks
> Paul
>
ipmitool uses SDR records to calculate how to translate the 8-bit sensor
reading into a value in range.
For intel-ipmi-oem the SDRs are generated on the fly, with most being
Type 1. The Type 1 has a M, M(B), R, and R(B) value that is calculated
from the values in the JSON. The code inside this section uses several
of the entries in the JSON to generate the M and R values.
We were recently bit by this calculation, because the calculation used
the "worst case" values of reading(min), reading(max), UC, and UNC, and
combined them for the M and R.
Somehow the UNC and UC values were outside the reading range, and the M
and R values were calculated in a way that made the sensor output
incorrect as displayed by ipmitool.
You may want to investigate if the SDRs are correct. Use 'impitool sdr
dump sdrs.bin' and find the SDR for the sensors of interest and see if
the M and R values are sensible.
If they aren't find the code generating those values and identify how
the values are created. Adjust your JSON as necessary.
>> Andrei Kartashev <a.kartashev at yadro.com> 於 2021年9月30日 下午6:03 寫道:
>>
>> Hello,
>>
>> What is your question exactly?
>> If it is about precision, then you should take in account that IPMI use
>> 8-bit variables to represent values and some coefficients which
>> calculated based on MinValue/MaxValue parameters of corresponding
>> Sensor interface.
>> You will never get exact values in IPMI, unless you values can fit to
>> 8-bit integer.
>>
>> On Thu, 2021-09-30 at 17:07 +0800, 吳秉昌 wrote:
>>> Hi all
>>>
>>> I add the sensor in entity-manager config like below
>>> {
>>> "Index": 2,
>>> "Name": "MB_VMEM",
>>> "PowerState": "On",
>>> "ScaleFactor": 1,
>>> "Thresholds": [
>>> {
>>> "Direction": "greater than",
>>> "Name": "upper critical",
>>> "Severity": 1,
>>> "Value": 1.32
>>> },
>>> {
>>> "Direction": "greater than",
>>> "Name": "upper non critical",
>>> "Severity": 0,
>>> "Value": 1.26
>>> },
>>> {
>>> "Direction": "less than",
>>> "Name": "lower non critical",
>>> "Severity": 0,
>>> "Value": 1.14
>>> },
>>> {
>>> "Direction": "less than",
>>> "Name": "lower critical",
>>> "Severity": 1,
>>> "Value": 1.08
>>> }
>>> ],
>>> "Type": "ADC"
>>> },
>>> {
>>> "Index": 3,
>>> "Name": "MB_P12V",
>>> "PowerState": "On",
>>> "ScaleFactor": 0.23,
>>> "Thresholds": [
>>> {
>>> "Direction": "greater than",
>>> "Name": "upper critical",
>>> "Severity": 1,
>>> "Value": 13.23
>>> },
>>> {
>>> "Direction": "greater than",
>>> "Name": "upper non critical",
>>> "Severity": 0,
>>> "Value": 12.6
>>> },
>>> {
>>> "Direction": "less than",
>>> "Name": "lower non critical",
>>> "Severity": 0,
>>> "Value": 11.4
>>> },
>>> {
>>> "Direction": "less than",
>>> "Name": "lower critical",
>>> "Severity": 1,
>>> "Value": 10.77
>>> }
>>> ],
>>> "Type": "ADC"
>>> },
>>> {
>>> "Index": 4,
>>> "Name": "MB_P5V",
>>> "PowerState": "On",
>>> "ScaleFactor": 0.55,
>>> "Thresholds": [
>>> {
>>> "Direction": "greater than",
>>> "Name": "upper critical",
>>> "Severity": 1,
>>> "Value": 5.48
>>> },
>>> {
>>> "Direction": "greater than",
>>> "Name": "upper non critical",
>>> "Severity": 0,
>>> "Value": 5.24
>>> },
>>> {
>>> "Direction": "less than",
>>> "Name": "lower non critical",
>>> "Severity": 0,
>>> "Value": 4.76
>>> },
>>> {
>>> "Direction": "less than",
>>> "Name": "lower critical",
>>> "Severity": 1,
>>> "Value": 4.48
>>> }
>>> ],
>>> "Type": "ADC"
>>> },
>>> {
>>> "Index": 5,
>>> "Name": "MB_P5V_SB",
>>> "PowerState": "On",
>>> "ScaleFactor": 0.25,
>>> "Thresholds": [
>>> {
>>> "Direction": "greater than",
>>> "Name": "upper critical",
>>> "Severity": 1,
>>> "Value": 5.48
>>> },
>>> {
>>> "Direction": "greater than",
>>> "Name": "upper non critical",
>>> "Severity": 0,
>>> "Value": 5.24
>>> },
>>> {
>>> "Direction": "less than",
>>> "Name": "lower non critical",
>>> "Severity": 0,
>>> "Value": 4.76
>>> },
>>> {
>>> "Direction": "less than",
>>> "Name": "lower critical",
>>> "Severity": 1,
>>> "Value": 4.48
>>> }
>>> ],
>>> "Type": "ADC"
>>> },
>>>
>>>
>>> I use the busctrl command to see MB_P5V_SB information, it is normal.
>>> root at fws7830bmc:~# busctl introspect --no-pager
>>> xyz.openbmc_project.EntityManager
>>> /xyz/openbmc_project/inventory/system/board/FWS7830_
>>> Baseboard/MB_P5V
>>> NAME TYPE SIGNATURE
>>> RESULT/VALUE FLAGS
>>> org.freedesktop.DBus.Introspectable interface -
>>> - -
>>> .Introspect method -
>>> s -
>>> org.freedesktop.DBus.Peer interface -
>>> - -
>>> .GetMachineId method -
>>> s -
>>> .Ping method -
>>> - -
>>> org.freedesktop.DBus.Properties interface -
>>> - -
>>> .Get method ss
>>> v -
>>> .GetAll method s
>>> a{sv} -
>>> .Set method ssv
>>> - -
>>> .PropertiesChanged signal
>>> sa{sv}as - -
>>> xyz.openbmc_project.Configuration.ADC interface -
>>> - -
>>> .Index property t
>>> 4 emits-change
>>> .Name property s
>>> "MB_P5V" emits-change
>>> .PowerState property s
>>> "On" emits-change
>>> .ScaleFactor property d
>>> 0.55 emits-change
>>> .Type property s
>>> "ADC" emits-change
>>> xyz.openbmc_project.Configuration.ADC.Thresholds0 interface -
>>> - -
>>> .Delete method -
>>> - -
>>> .Direction property s
>>> "greater than" emits-change writable
>>> .Name property s
>>> "upper critical" emits-change writable
>>> .Severity property d
>>> 1 emits-change writable
>>> .Value property d
>>> 5.48 emits-change writable
>>> xyz.openbmc_project.Configuration.ADC.Thresholds1 interface -
>>> - -
>>> .Delete method -
>>> - -
>>> .Direction property s
>>> "greater than" emits-change writable
>>> .Name property s
>>> "upper non critical" emits-change writable
>>> .Severity property d
>>> 0 emits-change writable
>>> .Value property d
>>> 5.24 emits-change writable
>>> xyz.openbmc_project.Configuration.ADC.Thresholds2 interface -
>>> - -
>>> .Delete method -
>>> - -
>>> .Direction property s
>>> "less than" emits-change writable
>>> .Name property s
>>> "lower non critical" emits-change writable
>>> .Severity property d
>>> 0 emits-change writable
>>> .Value property d
>>> 4.76 emits-change writable
>>> xyz.openbmc_project.Configuration.ADC.Thresholds3 interface -
>>> - -
>>> .Delete method -
>>> - -
>>> .Direction property s
>>> "less than" emits-change writable
>>> .Name property s
>>> "lower critical" emits-change writable
>>> .Severity property d
>>> 1 emits-change writable
>>> .Value property d
>>> 4.48 emits-change writable
>>>
>>> But I use "ipmitoo sensor” command, it return the error information
>>> below as
>>> MB P3V3 | 3.271 | Volts | ok | na |
>>> 2.947 | 3.046 | 3.511 | 3.596 | na
>>> MB P5V | 2.982 | Volts | ok | na |
>>> 2.662 | 2.829 | 3.123 | 3.264 | na
>>> MB P5V SB | 5.048 | Volts | ok | na |
>>> 4.484 | 4.766 | 5.245 | 5.471 | na
>>> MB P12V | 7.215 | Volts | ok | na |
>>> 6.386 | 6.723 | 7.429 | 7.829 | na
>>>
>>> Please give me some advise.
>>>
>>> Many thanks
>>> Paul
>>>
>>
>> --
>> Best regards,
>> Andrei Kartashev
>>
>>
>
--
Johnathan Mantey
Senior Software Engineer
*azad te**chnology partners*
Contributing to Technology Innovation since 1992
Phone: (503) 712-6764
Email: johnathanx.mantey at intel.com <mailto:johnathanx.mantey at intel.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20210930/7a5075b5/attachment-0001.sig>
More information about the openbmc
mailing list