Thanh, are you using libfreeipmi instead of the ipmi-sensors executable? I am not quite sure about your senario, anyway good news is it works as you expect.
Thanks, Kaiwang 2012/2/27 Dinh Khac Thanh <[email protected]>: > Hi Kaiwang, > > I found out that It works if I reopen the cache before getting the sensor > data. Thanks anyway. > > Best regards > Thanh > > > On Mon, Feb 27, 2012 at 12:04 PM, Dinh Khac Thanh <[email protected]> wrote: >> >> Hi Kaiwang, >> >> Thanks for your reply. I tested with/without recreating the cache before >> getting the sensor data. It works fine when the cache is recreated, e.g: >> CPU1 Temp 46 C nominal >> CPU2 Temp N/A unavailable >> ... >> Fan11 N/A unavailable >> Intrusion N/A unavailable >> PS Status N/A unavailable >> >> but not when the cache is reused: >> >> PS Status N/A unavailable >> PS Status N/A unavailable >> PS Status N/A unavailable >> ... >> PS Status N/A unavailable >> >> The number of records in both cases are 30. >> The code is based on ipmi-sensors.c >> >> Best regards >> Thanh >> >> >> On Fri, Feb 24, 2012 at 9:12 PM, Kaiwang Chen <[email protected]> >> wrote: >>> >>> 2012/2/24 Dinh Khac Thanh <[email protected]>: >>> > Hi, >>> > >>> > I am working on a monitoring application that needs to get sensor >>> > information via IPMI every 10 seconds. I have skimmed through the >>> > source >>> > code for ipmi-sensors to learn how to use freeipmi. >>> > >>> > My question is: If I am using the same IPMI session to get sensor data, >>> > do I >>> > need to recreate the SDR cache every time before reading the data? >>> >>> I believe not. The cache is checked before real ipmi traffic, and it's >>> a noop when the cache exists and is up to date. There is one sdr cache >>> per ipmi node, which defaults to >>> ~/.freeipmi/sdr-cache/sdr-cache-<localhost>.<ipminode> >>> >>> The logic resides in common code path defined in >>> common/toolsdr/tool-sdr-cache-common.c:sdr_cache_create_and_load(), >>> which is called by run_cmd_args(), which in turn called by >>> _ipmi_sensors(). You can find _ipmi_sensors as callback in main >>> function. All of them are in ipmi-sensors/ipmi-sensors.c, in the >>> trunk(revision 8603). >>> >>> >>> > >>> > Best regards >>> > Thanh >>> > >>> > _______________________________________________ >>> > Freeipmi-devel mailing list >>> > [email protected] >>> > https://lists.gnu.org/mailman/listinfo/freeipmi-devel >>> > >>> >>> Thanks, >>> Kaiwang >> >> >> >> >> -- >> Dinh Khac Thanh >> You can do anything, but not everything >> You miss 100 percent of the shots you never take > > > > > -- > Dinh Khac Thanh > You can do anything, but not everything > You miss 100 percent of the shots you never take _______________________________________________ Freeipmi-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/freeipmi-devel
