freeipmi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Freeipmi-devel] ipmi-oem api


From: Albert Chu
Subject: Re: [Freeipmi-devel] ipmi-oem api
Date: Fri, 14 Jun 2013 10:41:39 -0700

On Fri, 2013-06-14 at 15:20 +0200, Thomas Cadeau wrote:
> Hi Albert,
> 
> Thank you for you answer.
> 
> I added ipmi_sdr_cache_create and ipmi_sdr_oem_parse_intel_node_manager.
> 
> ipmi_sdr_oem_parse_intel_node_manager (sdr_ctx,
>                              &sdr_record,
>                              0,
>                              &target_slave_address,
>                              &target_lun,
>                              &target_channel_number,
>                              NULL,
>                              NULL,
>                              NULL,
>                              NULL)
> I get the message: "invalid parameters"

The cause of the invalid parameters is probably

>                             &sdr_record,
>                              0,

where the SDR record you are passing in is 0 length.

I neglected to mention that you also need to iterate through the SDR
records in the SDR cache and pass each one to the
ipmi_sdr_oem_parse_intel_node_manager() function.  If you take a look at
the code in ipmi-oem-intelnm.c you can see how I'm iterating through the
SDR cache until I find the Intel Node Manager SDR record and parse the
slave address, lun, and channel number.

> You said: "You are likely not using the right set of target 
> channel/slave addresses, etc."
> I don't undersand what I need to configure. I using freeipmi without 
> hostname, localy.

So there is a special Intel Node Manager SDR record that contains
special info in it (like slave address, lun, channel number, etc.).
Before you can use Intel Node Manager you need to find that SDR record
and parse out the special info.

Then once you have that info, you can pass them to each of the Intel NM
functions, such as
ipmi_cmd_oem_intel_node_manager_get_node_manager_statistics().  Until
then, the messages are probably not being sent to the right location.

> Maybe there is a doc with detailed option?

There is the actual Intel Node Manager specification, which I
unfortunately can't find online right now (the doc is titled Intel
Intelligent Power Node Manager if you can find it hidden in Intel's
website).  I assumed you had the document, but if you don't, then you
perhaps are missing some of the subtleties in the API.

Hope that helps,

Al

> Thomas
> 
> 
> 
> Le 13/06/2013 23:42, Albert Chu a écrit :
> > Hi Thomas,
> >
> > On Thu, 2013-06-13 at 20:49 +0000, Thomas Cadeau wrote:
> >> Hi all,
> >>
> >> I'm trying to use libfreeipmi to get a value printed by ipmi-oem.
> >> $ ipmi-oem Intelnm get-node-manager-statistics
> >> Current Power                                 : 256 Watts
> >> Minimum Power                                 : 217 Watts
> >> Maximum Power                                 : 924 Watts
> >> ... ...
> >>
> >> Here are the functions I use in my code, with all "default" options:
> >> uint8_t target_channel_number = 0;
> >> uint8_t target_slave_address = 0;
> >> uint8_t target_lun = 0;
> >> uint8_t domainid = 0;
> >> uint8_t policyid = 0;
> >> uint8_t policyid_specified = 0;
> >> unsigned int workaround_flags = 0;
> >> //...
> >> oem_ipmi_ctx = ipmi_ctx_create ()
> >> ipmi_ctx_find_inband (.....) or ipmi_ctx_open_inband (...)
> >> ipmi_ctx_set_target (oem_ipmi_ctx, NULL, NULL);
> >> obj_cmd_rs = fiid_obj_create
> >> (tmpl_cmd_oem_intel_node_manager_get_node_manager_statistics_rs)
> >> sdr_ctx = ipmi_sdr_ctx_create ()
> >> ipmi_cmd_oem_intel_node_manager_get_node_manager_statistics(...)
> > You are likely not using the right set of target channel/slave
> > addresses, etc. if you are getting a timeout.  i.e. the messages are not
> > going to the right place so you're not getting a response.
> >
> > Are you calling ipmi_sdr_oem_parse_intel_node_manager() at some point?
> > That should go in after the ipmi_sdr_ctx_create() and after you load
> > and/or create a SDR cache (e.g.
> > ipmi_sdr_cache_create/ipmi_sdr_cache_open).  Then afterwards you can
> > pass the values into
> > ipmi_cmd_oem_intel_node_manager_get_node_manager_statistics().
> >
> > Feel free to respond if you're having more problems.
> >
> > Al
> >
> >> I check the error after each call, and I get an timeout error in
> >> ipmi_cmd_oem_intel_node_manager_get_node_manager_statistics.
> >>
> >> Of course I am doing something wrong, did I miss something? Is there a
> >> better way to have ipmi-oem values?
> >>
> >> Thank you for your answers.
> >>
> >> Thomas
> >>
> >> _______________________________________________
> >> Freeipmi-devel mailing list
> >> address@hidden
> >> https://lists.gnu.org/mailman/listinfo/freeipmi-devel
> 
-- 
Albert Chu
address@hidden
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory





reply via email to

[Prev in Thread] Current Thread [Next in Thread]