VR Fault Logs
Mike Jones
proclivis at gmail.com
Wed Jun 16 02:41:01 AEST 2021
Hi,
I’m working on adding fault log capabilities to ltc2978.c driver which covers ADI’s family of PMBus VR controllers and sequencer/managers.
These parts have a blackbox fault log that triggers on over current and many other hardware problems. End users use this information for remote diagnosis.
Putting aside whether or not this should have a standard hwmon interface or not, for now I added debugfs nodes to this driver to test functionality.
What I want to discuss is use model, as it would apply to obmc if exposed through a redfish api.
As it works now, the log is fetched like this:
cat /sys/kernel/debug/pmbus/hwmon1/raw_data > /tmp/ltc2974.raw
This creates a raw binary file of the log.
To interpret the log, hexdump it like:
hexdump -ve '"%07.7_ax " 16/1 "%02x " "\n"' /tmp/ltc2974.raw
This creates the following text:
0000000 18 00 00 00 00 00 00 00 00 ff ff 27 db 0c db 4e
0000010 80 41 80 f0 c2 ff 7b 00 00 ff ff 27 db 1e db 0f
0000020 80 02 80 00 00 ff ff 27 db 22 db f0 81 ee 80 00
0000030 00 ff ff 2b db 22 db 47 81 bd 87 00 00 00 00 00
0000040 00 00 00 00 00 00 00 00 db 22 00 00 00 00 00 08
0000050 c2 ef 80 00 80 4b 00 00 db 22 00 00 00 00 db 06
0000060 80 00 80 51 00 00 db 27 00 00 00 00 80 00 81 a0
0000070 00 00 db 22 00 00 00 00 80 00 80 04 00 00 db 22
0000080 00 00 00 00 00 08 c2 f0 80 00 80 41 00 00 db 22
0000090 00 00 00 00 db 05 80 00 80 a8 00 00 db 27 00 00
00000a0 00 00 80 00 81 0b 00 00 db 22 00 00 00 00 80 00
00000b0 80 06 00 00 db 22 00 00 00 00 00 08 c2 ef 80 00
00000c0 80 43 00 00 db 22 00 00 00 00 db 05 80 00 80 0e
00000d0 00 00 db 27 00 00 00 00 80 00 81 72 00 00 db 22
00000e0 00 00 00 00 80 00 80 06 00 00 db 22 00 00 00 00
00000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Use this tool to decode:
http://pmbus.analogplayground.com/fault
For example:
http://pmbus.analogplayground.com/fault?_hasdata=&f1=10&f2=2&f3=0000000++18+00+00+00+00+00+00+00+00+ff+ff+27+db+0c+db+4e%0D%0A0000010++80+41+80+f0+c2+ff+7b+00+00+ff+ff+27+db+1e+db+0f%0D%0A0000020++80+02+80+00+00+ff+ff+27+db+22+db+f0+81+ee+80+00%0D%0A0000030++00+ff+ff+2b+db+22+db+47+81+bd+87+00+00+00+00+00%0D%0A0000040++00+00+00+00+00+00+00+00+db+22+00+00+00+00+00+08%0D%0A0000050++c2+ef+80+00+80+4b+00+00+db+22+00+00+00+00+db+06%0D%0A0000060++80+00+80+51+00+00+db+27+00+00+00+00+80+00+81+a0%0D%0A0000070++00+00+db+22+00+00+00+00+80+00+80+04+00+00+db+22%0D%0A0000080++00+00+00+00+00+08+c2+f0+80+00+80+41+00+00+db+22%0D%0A0000090++00+00+00+00+db+05+80+00+80+a8+00+00+db+27+00+00%0D%0A00000a0++00+00+80+00+81+0b+00+00+db+22+00+00+00+00+80+00%0D%0A00000b0++80+06+00+00+db+22+00+00+00+00+00+08+c2+ef+80+00%0D%0A00000c0++80+43+00+00+db+22+00+00+00+00+db+05+80+00+80+0e%0D%0A00000d0++00+00+db+27+00+00+00+00+80+00+81+72+00+00+db+22%0D%0A00000e0++00+00+00+00+80+00+80+06+00+00+db+22+00+00+00+00%0D%0A00000f0++00+00+00+00+00+00+00+00+00+00+00+00+00+00+00
Press that url and see the decoded data.
Obmc could call this tool for decoding, or built into obmc. However, every vendor has it’s own proprietary formats.
I’m looking for feedback on this model of a driver as it relates to obmc integration. Is there a better model?
You can comment on usefulness if you want, but my interest is more on integration. I have customers that would use this, if they design in this family of parts. They use it to day in their proprietary BMCs.
Mike
Sent from my iPad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20210615/37b48276/attachment-0001.htm>
More information about the openbmc
mailing list