Menu ▾ ▴

#203 ipmi_sdr - ipmi_sdr_print_sensor_oem_intel() needs a re-work

version-cvs
open
nobody
None
5
2016-05-17
2013-02-27
No

Code to blame follows. The code is wrong as has been discussed on mailing list:

case 8: /\* SR2300, redundant, PS1 & PS2 present \*/
if \(verbose\) \{
printf\("Power Redundancy       : No\n"\);
printf\("Power Supply 2 Sensor  : %x\n",
oem->data\[8\]\);
\} else if \(csv\_output\) \{
printf\("Power Redundancy,PS@%02xh,nr\n",
oem->data\[8\]\);
\} else \{
printf
\("Power Redundancy | PS@%02xh            | nr\n",
oem->data\[8\]\);
\}
case 9: /\* SR2300, non-redundant, PSx present \*/
if \(verbose\) \{
printf\("Power Redundancy       : Yes\n"\);
printf\("Power Supply Sensor    : %x\n",
oem->data\[7\]\);
printf\("Power Supply Sensor    : %x\n",
oem->data\[8\]\);
\} else if \(csv\_output\) \{
printf
\("Power Redundancy,PS@%02xh + PS@%02xh,ok\n",
oem->data\[7\], oem->data\[8\]\);
\} else \{
printf
\("Power Redundancy | PS@%02xh + PS@%02xh   | ok\n",
oem->data\[7\], oem->data\[8\]\);
\}
break;
\}
if \(verbose\)
printf\("\n"\);
break;

Follows copy-paste from Liebig Holger:

\[Liebig, Holger\]
To answer this myself: in http://download.intel.com/support/motherboards/server/sb/imm\_tps\_12.pdf page 200 is a list and description of Intel OEM SDRs including the Power Unit Map SDR type. The same information can be found in a dusty yellow cover document from 2004 for the ESB2 BMC from Intel. A real world SDR including such an OEM SDR can be found on http://communities.intel.com/thread/11855?start=15&tstart=0, so this seems to be a common OEM SDR type for Intel systems.

Based on this information:
\- a break for the case 8 is indeed missing
\- case 8 should output the PSU sensor number from oem->data\[7\] instead of oem->data\[8\] since only one PSU sensor number is available.
\- the comments for case 8 and case 9 are misleading and should be swapped
\- references to specific system codes \(SR2300/SR1300\) could be removed
\- the "redundancy available" information should evaluate the "Power Supplies Required" field of the SDR and not simply rely on the number of PSU sensors being > 1. The sample in table 107 on page 200 requires 2 PSU for the system to work and has 3 PSU sensors \(2+1 redundancy\)

Holger

Discussion

  • Zdenek Styblik

    Zdenek Styblik - 2013-08-18
    • Group: version-1.8.13 --> version-1.8.14
     
  • Zdenek Styblik

    Zdenek Styblik - 2016-05-17
    • Group: version-1.8.14 --> version-cvs
     

Log in to post a comment.