phosphor-hwmon + phosphor-fan: Fan functional properties are mismatched when unplug fan

Thu Nguyen thu at amperemail.onmicrosoft.com
Thu Dec 17 13:23:00 AEDT 2020


On 12/17/20 05:03, Matthew Barth wrote:
>
> On 12/16/20 2:03 AM, Thu Nguyen wrote:
>> Hi,
>>
>>
>> In the current code of phosphor-hwmon, when flag 
>> --enable-update-functional-on-fail is set. The fan functional DBus 
>> property in sensors interface will be set to false when unplug fans 
>> (FAN4_2).
>>
>> ~# busctl get-property xyz.openbmc_project.Hwmon-1644477290.Hwmon1 
>> /xyz/openbmc_project/sensors/fan_tach/FAN4_2 
>> xyz.openbmc_project.State.Decorator.OperationalStatus Functional
>> b false
>>
>> AND the fan Value properties will keep the latest reading value 
>> before unplug.
>>
>> ~# busctl get-property xyz.openbmc_project.Hwmon-1644477290.Hwmon1 
>> /xyz/openbmc_project/sensors/fan_tach/FAN4_2 
>> xyz.openbmc_project.Sensor.Value Value
>>
>> d 4794
>>
>> ~# busctl get-property xyz.openbmc_project.Hwmon-1644477290.Hwmon1 
>> /xyz/openbmc_project/sensors/fan_tach/FAN4_2 
>> xyz.openbmc_project.Sensor.Value Value
>> d 4794
>>
>> This cause phosphor-fan-monitor failed to detect the fan failure so 
>> the fan functional are wrong.
>>
>> busctl get-property xyz.openbmc_project.Inventory.Manager 
>> /xyz/openbmc_project/inventory/system/chassis/motherboard/FAN4_2 
>> xyz.openbmc_project.State.Decorator.OperationalStatus Functional
>> b true
>>
>> Should phosphor-hwmon keep updating the fan value Dbus properties 
>> with error code when the fans is nonfunctional? Or 
>> phosphor-fan-monitor should also check the fan functional in sensor 
>> interface to update fan functional in inventory interface?
>>
> I recall this was something that would be needed in 
> phosphor-fan-monitor when a fan's sensor is marked faulted since the 
> value should no longer be trusted by phosphor-fan-monitor. A 
> phosphor-fan-monitor configuration option needs to be added per fan 
> sensor to check the sensor's functional property and use that to 
> update the fan's functional state in inventory as well.
>
> Please feel free to submit a patch to add this configuration option to 
> drive setting the fan's functional state in inventory based on the 
> state of a fan sensor's functional state.
>
>
> Matt
>
>>
>> Regards.
>>
>> Thu Nguyen.
>>
>>
>>
How about Fan Present property? Should we update it to false when fan 
sensor functional is false?

I think we can add option "fan_sensor_func_to_fan_inventory_func" in fan 
configuration as below:

- inventory: /system/chassis/motherboard/FAN3_1
allowed_out_of_range_time: 30
deviation: 15
num_sensors_nonfunc_for_fan_nonfunc: 1
fan_sensor_func_to_fan_inventory_func: true
sensors:
- name: FAN3_1
has_target: true
target_interface: xyz.openbmc_project.Control.FanPwm
factor: 82
offset: 0

In phosphor-fan-monitor, for each fan, we will signal the fan functional 
property in sensor, and update the fan function in inventory when that 
property is changed. Maybe we should update fan present in inventory also.


Thu Nguyen

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20201217/589c4536/attachment.htm>


More information about the openbmc mailing list