Ipmitool command & entity-manager question

吳秉昌 wh800805 at gmail.com
Fri Oct 1 17:52:11 AEST 2021


Hi Johnathan & Konstantin

Thanks for your explanation. It is very helpful to me.
I adjust the json file to fix this issue.

And I have one more question need help.
I try to enable the SEL, I add below setting 
PACKAGECONFIG:append = " log-threshold log-pulse send-to-logger”

When event occurred, but SEL still empty.

event occurred log: 
Jan 01 00:04:25 fws7830bmc adcsensor[283]: Sensor MB_P3V3 high threshold 3.531 assert: value 3.588 raw data 1794
Jan 01 00:06:08 fws7830bmc adcsensor[283]: Sensor MB_P3V3 high threshold 3.531 assert: value 3.54 raw data 1770

Ipmitoo sel log:
SEL Information
Version          : 1.5 (v1.5, v2 compliant)
Entries          : 0
Free Space       : 65535 bytes or more
Percent Used     : unknown
Last Add Time    : Not Available
Last Del Time    : Not Available
Overflow         : false
Supported Cmds   : 'Reserve’ 

Please give me some advice. Thanks

BR
Paul


> Johnathan Mantey <johnathanx.mantey at intel.com> 於 2021年9月30日 下午11:00 寫道:
> 
> 
> 
> 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> <mailto:johnathanx.mantey at intel.com <mailto:johnathanx.mantey at intel.com>>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20211001/8fc92993/attachment-0001.htm>


More information about the openbmc mailing list