Hey Jim,

On Wed, 2012-02-22 at 04:58 -0800, Jim Mankovich wrote:
> Al,
> 
> I interpreted the ** statement as meaning the 8 bit "Sensor Units 1" field 
> should
> be written with zero since the ** statement identifies the entire 8 bit 
> value, 00h, not
> a 2 bit value 00b.    But, given that the ** is next to "Analog (numeric) 
> Data Format" it
> would seem to only apply to this 2 bit field within the 8 bit "Sensor Units 
> 1" field.
> 
> "** Specifies threshold and 'analog' reading, if 'analog' reading provided.  
> If neither
> thresholds nor analog reading are provided, this field should be written as 
> 00h."
> 
> In the cases where you saw 00b in the Analog (numeric) Data Format field, was
> the value of the entire "Sensor Unit 1" field zero?   An entire 8 bit field 
> of zero would
> seem to make sense for a Discrete sensor.

Yes, but an entire 8 bit field of zero for "Sensor Unit 1" would also
make sense for an discrete sensor w/ an analog reading.  Which is why I
think your original interpretation was not safe.

I'd have to think about this a tad more, but perhaps using sensor_unit_2
and sensor_unit_3 in combination might make some of the guesses more
valid.  Here's a guess:

if ((sensor_unit_1 & 0xC0) == 0xC0
    || (sensor_unit_1 == 0
        && sensor_unit_2 == 0
        && sensor_unit_3 == 0))
   /* assume discrete sensor w/ no analog reading */
else
   /* assume an analog reading */

Al

> -- Jim Mankovich |jm...@hp.com  --
> 
> 
> On 2/21/2012 4:26 PM, Albert Chu wrote:
> > Hi Jim,
> >
> > On Tue, 2012-02-21 at 15:02 -0800, Jim Mankovich wrote:
> >> Al,
> >>
> >> My interpretation was that 11b means discrete and all other values  are 
> >> analog.
> > But doesn't this interpretation contradict "If neither thresholds nor
> > analog reading are provided, this field should be written as 00h."?
> >
> > The point is, how many motherboards/sensors might be incorrectly
> > affected by this change?  When I posted my original post, I decided to
> > look at a few of the motherboards we had here.  A fair number of them
> > have 00b for discrete sensors that don't return an analog reading.
> >
> > Al
> >
> >> I interpreted it this way because 11b is explicit in stating "Does not 
> >> return
> >> analog (numeric) reading" (11b == Discrete) .  For Compact Sensors 11b is  
> >> the
> >> only valid data format because Compact Sensors can only be used for 
> >> discrete (per
> >> the table at the beginning of Section 43.1 which specifies that only full 
> >> records
> >> can support analog readings).  If anything other than 11b were Discrete, 
> >> these
> >> values would need to be identified as valid in the Compact  "Sensor Units 
> >> 1" Field.
> >>
> >> 11b Discrete, all other values Analog
> >>
> >> -- Jim Mankovich |jm...@hp.com  --
> >>
> >>
> >> On 2/21/2012 3:23 PM, Albert Chu wrote:
> >>> Hey Jim,
> >>>
> >>>> I don't see why ipmtool shouldn't rely on the "analog data format"
> >>>> being set correctly instead of making assumptions.
> >>> Generally speaking, the spec isn't clear on this part (atleast in the
> >>> version I have most recently downloaded).  From 43-1 in the spec:
> >>>
> >>> ----
> >>>
> >>> [7:6] - Analog (numeric) Data Format**
> >>> 00b = unsigned
> >>> 01b = 1’s complement (signed)
> >>> 10b = 2’s complement (signed)
> >>> 11b = Does not return analog (numeric) reading
> >>>
> >>> ** Specifies threshold and ‘analog’ reading, if ‘analog’ reading
> >>> provided. If neither thresholds nor analog reading are provided, this
> >>> field should be written as 00h.
> >>>
> >>> ----
> >>>
> >>> So if this field is listed as "00b", is the sensor reading an analog
> >>> "unsigned" reading? Or is it "neither threshold nor analog reading are
> >>> provided"?  How do I know which?
> >>>
> >>> Al
> >>>
> >>> On Tue, 2012-02-21 at 12:48 -0800, Jim Mank wrote:
> >>>> Al,
> >>>>
> >>>> My email is directly related to your thread, but there are more issues
> >>>> with incorrect
> >>>> interpretation than you identified.    The "event/reading type code"
> >>>> must be used
> >>>> to identify a Threshold vrs a Discrete sensor and the "analog data
> >>>> format" flag should
> >>>> be used to identify analog vrs discrete units.   I agree that having a
> >>>> discrete sensor
> >>>> return an analog reading "makes no sense", but I don't see why ipmtool
> >>>> shouldn't
> >>>> rely on the "analog data format" being set correctly instead of making
> >>>> assumptions.
> >>>>
> >>>> -- Jim Mankovich |jm...@hp.com  --
> >>>>
> >>>>
> >>>> On 2/21/2012 12:57 PM, Albert Chu wrote:
> >>>>> I suppose this is now related to this thread I started awhile back due
> >>>>> to something I found on an HP machine.
> >>>>>
> >>>>> http://www.mail-archive.com/ipmitool-devel@lists.sourceforge.net/msg01654.html
> >>>>>
> >>>>>> The IPMI Specification is not clear if a discrete sensor can return
> >>>>>> units.
> >>>>> Agreed that it does not appear to be illegal, however to me, a discrete
> >>>>> sensor that returns an analog reading "makes no sense".  Here are some
> >>>>> sensors on an HP machine that had a discrete event type but an analog
> >>>>> reading (I'm using FreeIPMI's output):
> >>>>>
> >>>>> 6  | Power Supply 1 | Power Supply | 1200.00 | W | 'Presence detected'
> >>>>>
> >>>>> 10 | Fan 5 | Fan | 76.83 | % | 'transition to Running'
> >>>>>
> >>>>> is 1200W/76.83% high? low? normal?
> >>>>>
> >>>>> Al
> >>>>>
> >>>>>
> >>>>> On Tue, 2012-02-21 at 11:17 -0800, Schoeller, Patrick (iLO - Houston,
> >>>>> TX) wrote:
> >>>>>> The IPMI Specification is not clear if a discrete sensor can return
> >>>>>> units. I think the Event Reading Code is really the key indicator if
> >>>>>> this is a threshold sensor or a discrete sensor.  For the Discrete
> >>>>>> Sensor, the value could be anything. Again, the IPMI Specification has
> >>>>>> never clarified this and I agree with Jim that the Event Reading Code
> >>>>>> should be the determining factor.
> >>>>>>
> >>>>>> HP ProLiant servers do return a value in the data field of the "Get
> >>>>>> Sensor Reading" command on some discrete sensors. But the "Reading
> >>>>>> Mask" are set correctly for the Event Reading Code. The "ipmitool"
> >>>>>> application, however, sees a non-zero value and tries to use the
> >>>>>> "Threshold Reading Mask" bits.
> >>>>>>
> >>>>>> A patch for this had been submitted upstream by Dann Frazier a couple
> >>>>>> years ago. Not sure where it went.
> >>>>>>
> >>>>>> Pat
> >>>>>>
> >>>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Albert Chu [mailto:ch...@llnl.gov]
> >>>>>> Sent: Tuesday, February 21, 2012 13:12
> >>>>>> To: Mankovich, Jim
> >>>>>> Cc:ipmitool-devel@lists.sourceforge.net
> >>>>>> Subject: Re: [Ipmitool-devel] Sensor display logic issues
> >>>>>>
> >>>>>> Hi Jim,
> >>>>>>
> >>>>>> On Tue, 2012-02-21 at 10:03 -0800, Jim Mank wrote:
> >>>>>>> All,
> >>>>>>>
> >>>>>>> I've been looking a incorrect sensor display issues with the  ipmitool
> >>>>>>> that I would like
> >>>>>>> to get some feedback on before proposing a specific solution.
> >>>>>>>         1. ipmitool  does not properly decode discrete vrs analog 
> >>>>>>> units
> >>>>>>>            in all cases
> >>>>>>>         2. ipmitool does not correctly identify the Threshold Sensor
> >>>>>>>            class for Compact and
> >>>>>>>            Full sensors.
> >>>>>>> For #1, the IPMI spec states that the sensor units are identified in
> >>>>>>> the Full and Compact
> >>>>>>> SDR by the setting in the  "Sensor Units 1" Field bits [7:6] "Analog
> >>>>>>> (numeric) Data Format".
> >>>>>>> See the "Sensor Units 1" Field description on pages 522 and 528 of the
> >>>>>>> latest IPMI spec.
> >>>>>>> The "Sensor Units 1" Field bits [7:6] field is not used in all cases
> >>>>>>> by the ipmitool to determine
> >>>>>>> discrete vrs analog sensor units.
> >>>>>> Discrete sensors technically shouldn't have units.  Do you mean that
> >>>>>> sensors are being mis-interpreted as discrete when they should be
> >>>>>> analog?  Or vice versa?
> >>>>>>
> >>>>>> Al
> >>>>>>
> >>>>>>> For #2, both the Full and Compact SDR field "Event/Reading Type Code"
> >>>>>>> field identifies
> >>>>>>> whether or not a Event/Reading type is of class Threshold.    This
> >>>>>>> field should be used by both
> >>>>>>> the Full and Compact sensor display routines to identify  that the
> >>>>>>> given sensor class is of type
> >>>>>>> Threshold.  See "Event/Reading Type Code" on pages 519 and 525 of the
> >>>>>>> latest IPMI spec
> >>>>>>> and Table 42-1 and Table 42-2.
> >>>>>>>
> >>>>>>> In working through a possible solutions to the above issues, I started
> >>>>>>> looking in detail at the
> >>>>>>> feasibility of merging ipmi_sdr_print_sensor_compact and
> >>>>>>> ipmi_sdr_print_sensor_full into a
> >>>>>>> single function.   In investigating this, I found a  dissimilarity in
> >>>>>>> how these two routines treat the
> >>>>>>> global output flags, verbose, csv_verbose and sdr_extended.    I
> >>>>>>> believe these two routines
> >>>>>>> should be treating these global output flags  in exactly the same way.
> >>>>>>> For example, if you specify
> >>>>>>> both csv_output and verbose (-c -v) , the full print routine will
> >>>>>>> output csv formatted information
> >>>>>>> and use more verbose output for certain fields, but, the compact print
> >>>>>>> routine will not output
> >>>>>>> csv formatted information at all.   I think the compact display
> >>>>>>> routine should be changed
> >>>>>>> to interpret these global output flags in exactly the same was as the
> >>>>>>> full display routine does.
> >>>>>>>
> >>>>>>> Here are the main questions I am looking for some feedback on:
> >>>>>>>
> >>>>>>> Is my interpretation of the IPMI spec with regard to #1 and #2
> >>>>>>> consistent with other peoples
> >>>>>>> understandings?
> >>>>>>>
> >>>>>>> Can the compact sensor print routine (ipmi_sdr_print_sensor_compact)
> >>>>>>> be changed to interpret
> >>>>>>> the global output flags in the same way that the full sensor print
> >>>>>>> routine interprets them?
> >>>>>>>
> >>>>>>> Thanks in advance,
> >>>>>>> -- 
> >>>>>>> -- Jim Mankovich |jm...@hp.com  --
> >>>>>> -- 
> >>>>>> Albert Chu
> >>>>>> ch...@llnl.gov
> >>>>>> Computer Scientist
> >>>>>> High Performance Systems Division
> >>>>>> Lawrence Livermore National Laboratory
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> ------------------------------------------------------------------------------
> >>>>>> Keep Your Developer Skills Current with LearnDevNow!
> >>>>>> The most comprehensive online learning library for Microsoft developers
> >>>>>> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, 
> >>>>>> MVC3,
> >>>>>> Metro Style Apps, more. Free future releases when you subscribe now!
> >>>>>> http://p.sf.net/sfu/learndevnow-d2d
> >>>>>> _______________________________________________
> >>>>>> Ipmitool-devel mailing list
> >>>>>> Ipmitool-devel@lists.sourceforge.net
> >>>>>> https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
> >>>> ------------------------------------------------------------------------------
> >>>> Keep Your Developer Skills Current with LearnDevNow!
> >>>> The most comprehensive online learning library for Microsoft developers
> >>>> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> >>>> Metro Style Apps, more. Free future releases when you subscribe now!
> >>>> http://p.sf.net/sfu/learndevnow-d2d
> >>>> _______________________________________________
> >>>> Ipmitool-devel mailing list
> >>>> Ipmitool-devel@lists.sourceforge.net
> >>>> https://lists.sourceforge.net/lists/listinfo/ipmitool-devel
-- 
Albert Chu
ch...@llnl.gov
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory



------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to