Holger,

By all means it should adhere to the spec, but I'm confused as to how
this 11b value got introduced, when it should have been correct when
read from the vendor-supplied SDRs?

Was this value written when setting a threshold perhaps?  If so, it
seems that the value should have been passed through as provided
instead.

Andy

On Tue, Jul 2, 2013 at 8:56 AM, Liebig, Holger
<holger.lie...@ts.fujitsu.com> wrote:
> We got a response from one of our customers that an old version of 
> ipmi-sensors did not report the CPU temperature thresholds with some of our 
> systems. I checked this and it was easily reproducible with the latest 
> version of FreeIPMI and quite any of our systems, so I started looking for 
> the root cause. FreeIPMI is using the sensor capabilities bits to determine 
> if sensor thresholds are available or not. In our case this is encoded as 11b 
> for reasons nobody seems to recall. From the spec:
>
> Sensor Threshold Access Support
> [3:2] - 00b = no thresholds.
>         01b = thresholds are readable, per Reading Mask, below.
>         10b = thresholds are readable and settable per Reading Mask and
>               Settable Threshold Mask, respectively.
>         11b = Fixed, unreadable, thresholds. Which thresholds are supported is
>               reflected by the Reading Mask. The threshold value fields report
>               the values that are ‘hard-coded’ in the sensor.
>
> The only explanation I have is that 11b was interpreted by early Fujitsu SDR 
> development as "Fixed/hard coded" in the above sentence and then carried over 
> to any follow up system, while FreeIPMI is focusing on the "unreadable" word 
> and does no further checking.
>
> My proposal would be to solve this in an OEM specific way, so 
> --interpret-oem-data would be needed for correct output. Let me know if you 
> have any thoughts on this proposal or regarding the interpretation of the 
> spec.
>
> Thanks & best regards,
> Holger Liebig
>
> -----------------------------------
> svn diff
> Index: ipmi-sensors-output-common.c
> ===================================================================
> --- ipmi-sensors-output-common.c        (revision 9745)
> +++ ipmi-sensors-output-common.c        (working copy)
> @@ -451,12 +451,22 @@
>        goto cleanup;
>      }
>
> -  if (threshold_access_support == IPMI_SDR_NO_THRESHOLDS_SUPPORT
> -      || threshold_access_support == 
> IPMI_SDR_FIXED_UNREADABLE_THRESHOLDS_SUPPORT)
> -    {
> -      rv = 0;
> -      goto cleanup;
> -    }
> +    if ( state_data->oem_data.manufacturer_id == 
> IPMI_IANA_ENTERPRISE_ID_FUJITSU)
> +        {
> +          /* FTS, indicate fixed thresholds in SDR with 11b. IPMI Spec. 
> ambiguous if you insist on the 'unreadable' */
> +          if (threshold_access_support == IPMI_SDR_NO_THRESHOLDS_SUPPORT )
> +            {
> +              rv = 0;
> +              goto cleanup;
> +            }
> +        }
> +
> +    else if (threshold_access_support == IPMI_SDR_NO_THRESHOLDS_SUPPORT
> +            || threshold_access_support == 
> IPMI_SDR_FIXED_UNREADABLE_THRESHOLDS_SUPPORT)
> +      {
> +        rv = 0;
> +        goto cleanup;
> +      }
>
>    /* achu:
>     *
>
> _______________________________________________
> Freeipmi-devel mailing list
> Freeipmi-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/freeipmi-devel
>

_______________________________________________
Freeipmi-devel mailing list
Freeipmi-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/freeipmi-devel

Reply via email to