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 > >> [email protected] > >> https://lists.gnu.org/mailman/listinfo/freeipmi-devel > -- Albert Chu [email protected] Computer Scientist High Performance Systems Division Lawrence Livermore National Laboratory _______________________________________________ Freeipmi-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/freeipmi-devel
