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 13:54:29 -0700

I found the specification website in an old e-mail:

http://software.intel.com/en-us/articles/intel-node-manager-programmers-reference-kit/

the PDF link is towards the bottom of the page.

Al

On Fri, 2013-06-14 at 10:41 -0700, Albert Chu wrote:
> 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]