Chandrasekharapuram Venkateswaran-CVC008 wrote:
> I am currently trying to get openHPI and openIPMI installed and 
> working on HP DL360. I have all of the packages installed (openIPMI 
> 2.0.10, openHPI-2.6.3 along with hp-openIPMI driver).
>  
> I am using the libipmi plugin. The IPMI driver is up and running along 
> with the openhpid daemon. When I use ipmitool to retrieve the sensors 
> I get all the sensors (about 28 of them). When I used the openhpi 
> clients (such as hpisensor etc), the count is 5. After turning on the 
> debugging in the ipmi plugin, here is what I noticed...
>  
> There are 28 entries of Entities ADDED (which matches with what 
> ipmitool returns). However, there are *ONLY* 5 entries of Entities 
> which are marked PRESENT.
> During ipmi_discover_resources, events will be sent to the 
> infrastructure queue for *ONLY* the entities that are marked 
> *PRESENT*. Hence, hpisensor or any of the hpi clients or even for that 
> matter the apps that use SaHPI apis return only 5 as these are the 
> only ones that are inserted into the HPI data model.
>  
> I started looking at the openIPMI code (mainly entity.c and sensor.c) 
> and noticed the following:
>  
> 1) ent_detect_presence is called to detect the presence of the entity 
> (following the IPMI spec). If neither the  Presence Sensor exists nor 
> the Presence Bit sensor is set, detect_no_presence_sensor_presence is 
> called to try and see if the sensors (try_presence_sensors), 
> controls(try_presence_controls) detect something.
>  
> 2) In try_presence_sensors, sensor_detect_send is called.
>  
> 3) sensor_detect_send checks if ignore_if_no_entity bit is set in the 
> sensor SDR. If this bit is SET, we do not ping the sensor. If the 
> whole point is to detect the presence of the entity and probing the 
> sensor is required in order to do that - should we still be checking 
> this BIT ? I removed this check and now I am able to retrieve all the 
> sensors even with hpisensor client. But, want to make sure that I am 
> not missing something here...
That is a difficult question.  That bit says "Ignore sensor if Entity is 
not present or disabled".  If you should ignore it if the entity is not 
present, why would you use it to detect entity presence?

I added this check as documented in the 2005-02-24 changelog entry:

    * lib/entity.c: Ignore controls and sensors for presence if they
    are supposed to be ignored when the entity is not present.  I
    think I previously misunderstood this bit (not like it is well
    explained, anyway).

IIRC, I was having trouble with false positives and after reviewing the 
use of this bit, it seemed best to do this.  So I'm not quite sure what 
to do about this.  It would be nice if we could ask the people who 
maintain the IPMI spec about this.

-Corey

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to