Got it now.<br><br>Thank you very much :-)<br><br>-------- Original Message --------<br>On 4 Oct 2019, 19:14, Matthew Barth < msbarth@linux.ibm.com> wrote:<blockquote class="protonmail_quote"><br><p dir="ltr"></p>
<p dir="ltr">On 10/4/19 5:38 AM, rgrs wrote:<br>
> Hi Matt,<br>
><br>
> Thanks for the reply.<br>
><br>
>> floor speed (the lowest the fans are allowed) based on the given average<br>
>> sensor values for the group of sensors<br>
><br>
> Is this all hwmon values? as in RPM : Average_temp_in_group<br>
No, as you pulled it from the events.yaml for fan control, its input<br>
into fan control. You can find this action function in action.hpp/cpp<br>
within phosphor-fan-presence/control. This is all for configuring how<br>
you want the fan control algorithm to work.<br>
><br>
> Thanks,<br>
> Raj<br>
><br>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
> On Friday, October 4, 2019 2:29 AM, Matthew Barth <<a href="mailto:msbarth@linux.ibm.com">msbarth@linux.ibm.com</a>> wrote:<br>
><br>
>> On 10/1/19 3:26 AM, rgrs wrote:<br>
>><br>
>>> Hi Matt,<br>
>>> Please can you help me with mapping values in events.yaml?<br>
>>> (<a href="https://github.com/openbmc/phosphor-fan-presence/blob/master/control/example/events.yaml">https://github.com/openbmc/phosphor-fan-presence/blob/master/control/example/events.yaml</a>)<br>
>>> How are these values derived?<br>
>>> How do I make sure, that this is valid for my platform?<br>
>>> Please can you point to documentation regarding this, i am not able to find from github search.<br>
>><br>
>> Unfortunately in this repo's development there was not alot of time<br>
>> given to get a fully functional and flexible solution in place for<br>
>> delivery on the system using this as its fan control solution.<br>
>> Documentation is limited to the example yaml files and the doxygen<br>
>> located within the source. Enhancing this documentation is on my list of<br>
>> todo's when I get the time.<br>
>><br>
>>> actions:<br>
>>><br>
>>> =========<br>
>>><br>
>>> - name: set_floor_from_average_sensor_value<br>
>>><br>
>>> ============================================<br>
>>><br>
>>> map:<br>
>>><br>
>>> =====<br>
>>><br>
>>> value:<br>
>>><br>
>>> =======<br>
>>><br>
>>> - 27000: 3500<br>
>>><br>
>>> ==============<br>
>>><br>
>>> - 32000: 4600<br>
>>><br>
>>> ==============<br>
>>><br>
>>> - 37000: 5200<br>
>>><br>
>>> ==============<br>
>>><br>
>>> - 40000: 5800<br>
>>><br>
>>> ==============<br>
>>><br>
>>> type: std::map<int64_t, uint64_t><br>
>>><br>
>>> ==================================<br>
>>><br>
>>> - name: set_ceiling_from_average_sensor_value<br>
>>><br>
>>> ==============================================<br>
>>><br>
>>> map:<br>
>>><br>
>>> =====<br>
>>><br>
>>> value:<br>
>>><br>
>>> =======<br>
>>><br>
>>> - 25000: 7200<br>
>>><br>
>>> ==============<br>
>>><br>
>>> - 27000: 10500<br>
>>><br>
>>> ===============<br>
>>><br>
>>> type: std::map<int64_t, uint64_t><br>
>>><br>
>>> ==================================<br>
>><br>
>> These values are derived by performing thermal characterization. In this<br>
>> case, it was thermally determined that the values for setting the fan<br>
>> floor speed (the lowest the fans are allowed) based on the given average<br>
>> sensor values for the group of sensors defined on the event containing<br>
>> this action. Similarly, a fan ceiling speed is put in place based on the<br>
>> same group of sensors' average value so the fans are not allowed to<br>
>> increase above that speed.<br>
>><br>
>> Validating thermal control parameters for any type of fan control needs<br>
>> characterization done against the system's components(Proc, dimms, pci<br>
>> cards, etc..) to enabled the correct fan control parameters.<br>
>><br>
>> Matt<br>
>><br>
>>> Thanks,<br>
>>> Raj<br>
>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
>>> On Thursday, September 26, 2019 8:19 PM, Matthew Barth <a href="mailto:msbarth@linux.ibm.com">msbarth@linux.ibm.com</a> wrote:<br>
>>><br>
>>>> On 9/25/19 1:45 AM, rgrs wrote:<br>
>>>><br>
>>>>> Hi Matt,<br>
>>>>><br>
>>>>>> Is the `pwm[#]_enable` sysfs file set to a '1' at any point after the AC cycle (i.e. after a poweron?)?<br>
>>>>><br>
>>>>> No<br>
>>>>><br>
>>>>>> If you think the configs are set correctly, is the hwmon service for the pwm devices running after the AC cycle while at BMC standby?<br>
>>>>><br>
>>>>> I'm not sure, I think phosphor-fan starts after chassis power-on.<br>
>>>><br>
>>>> I was asking if the hwmon service is started at BMC standby. It sounds<br>
>>>> like it still may be config related but I'm not able to determine where<br>
>>>> it may be. If you believe that hwmon is not setting the pwm[#]_enable<br>
>>>> file correctly, please debug and provide a fix if that's the case, it'd<br>
>>>> be much appreciated!<br>
>>>> Matt<br>
>>>><br>
>>>>> Thanks,<br>
>>>>> Raj<br>
>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
>>>>> On Tuesday, September 24, 2019 8:25 PM, Matthew Barth <a href="mailto:msbarth@linux.ibm.com">msbarth@linux.ibm.com</a> wrote:<br>
>>>>><br>
>>>>>> On 9/23/19 11:25 PM, rgrs wrote:<br>
>>>>>><br>
>>>>>>> Thanks Matt :) It works now.<br>
>>>>>>> I have one small issue on configuration of ADT7462.<br>
>>>>>>> After AC power cycle, it defaults to "automatic" fan control.<br>
>>>>>>> We need to change this "manual" so that phosphor-fan control register writes are not ignored by ADT7462.<br>
>>>>>>> I came across <a href="https://github.com/openbmc/docs/blob/master/sensor-architecture.md">https://github.com/openbmc/docs/blob/master/sensor-architecture.md</a><br>
>>>>>>><br>
>>>>>>>> ENABLE<br>
>>>>>>>> Will write a value to a pwmN_enable file on startup if present.<br>
>>>>>>>> ENABLE_fan1 = 2 #Write a 2 to pwm1_enable<br>
>>>>>>><br>
>>>>>>> But this doesn't seem to work. We need it to be initialized to '1'.<br>
>>>>>>> (It always defaults to 2 after AC cycle)<br>
>>>>>><br>
>>>>>> This sounds like the correct hwmon config to use to set it to a '1' upon<br>
>>>>>> hwmon starting after an AC cycle. First ensure your hwmon config has<br>
>>>>>> these `ENABLE_fan[#]` entries set to a corresponding `pwm[#]_enable`<br>
>>>>>> file in sysfs.<br>
>>>>>> Is the `pwm[#]_enable` sysfs file set to a '1' at any point after the AC<br>
>>>>>> cycle (i.e. after a poweron?)? If you think the configs are set<br>
>>>>>> correctly, is the hwmon service for the pwm devices running after the AC<br>
>>>>>> cycle while at BMC standby?<br>
>>>>>><br>
>>>>>>> Is host-power-on script a good place to "echo 1 > pwmN_enable"?<br>
>>>>>>> (planning to add a script to initialize before host power on)<br>
>>>>>>> Thanks,<br>
>>>>>>> Raj<br>
>>>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
>>>>>>> On Friday, September 20, 2019 9:49 PM, Matthew Barth <a href="mailto:msbarth@linux.ibm.com">msbarth@linux.ibm.com</a> wrote:<br>
>>>>>>><br>
>>>>>>>> On 9/20/19 4:55 AM, rgrs wrote:<br>
>>>>>>>><br>
>>>>>>>>> Hi Matt,<br>
>>>>>>>>> I'm able to control fan speed via busctl.<br>
>>>>>>>>> root@saber:/sys/class/hwmon/hwmon0# busctl set-property xyz.openbmc_project.Hwmon-<a href="tel:2429843755">2429843755</a>.Hwmon1 /xyz/openbmc_project/sensors/fan_tach/FAN0 xyz.openbmc_project.Control.FanPwm Target t '250'<br>
>>>>>>>>> root@saber:/sys/class/hwmon/hwmon0# cat fan*_input<br>
>>>>>>>>> 12498<br>
>>>>>>>>> 0<br>
>>>>>>>><br>
>>>>>>>> Great! that's progress.<br>
>>>>>>>><br>
>>>>>>>>> I need a way to verify if the sensor associations are working properly that fans will ramp up when associated temperature sensor's value increases.<br>
>>>>>>>><br>
>>>>>>>> Be sure that your fans.yaml contains the correct sensor name ("FAN0",<br>
>>>>>>>> etc..) for each fan that contains the Target property on the FanPwm<br>
>>>>>>>> interface.<br>
>>>>>>>> You can use busctl to monitor the target pwm sensor changes based on<br>
>>>>>>>> what you configured within events.yaml for speed increases. This would<br>
>>>>>>>> show that fan control is requesting updated targets to hwmon. Then hwmon<br>
>>>>>>>> would write these values out to the pwm sysfs file for your fan<br>
>>>>>>>> controller device.<br>
>>>>>>>><br>
>>>>>>>>> Thanks,<br>
>>>>>>>>> Raj<br>
>>>>>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
>>>>>>>>> On Friday, September 20, 2019 2:57 PM, rgrs <a href="mailto:rgrs@protonmail.com">rgrs@protonmail.com</a> wrote:<br>
>>>>>>>>><br>
>>>>>>>>>> Hi Matt,<br>
>>>>>>>>>><br>
>>>>>>>>>>>> Not sure I follow what you mean by "no pwm writes", is there an<br>
>>>>>>>>>><br>
>>>>>>>>>> application writing to the fan sensor's pwm interface target property?<br>
>>>>>>>>>> I thought phoshor-fan control writes to pwm to increase fan speed based on temperature sensors mentioned in events.yaml<br>
>>>>>>>>>> (recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml)<br>
>>>>>>>>>> Is it not the case?<br>
>>>>>>>>>> Thanks,<br>
>>>>>>>>>> Raj<br>
>>>>>>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
>>>>>>>>>> On Thursday, September 19, 2019 8:26 PM, Matthew Barth <a href="mailto:msbarth@linux.ibm.com">msbarth@linux.ibm.com</a> wrote:<br>
>>>>>>>>>><br>
>>>>>>>>>>> On 9/19/19 5:16 AM, rgrs wrote:<br>
>>>>>>>>>>><br>
>>>>>>>>>>>> Hi Patrick, Lei,<br>
>>>>>>>>>>>> Thank you, I made some changes according your comments<br>
>>>>>>>>>>>><br>
>>>>>>>>>>>> - added Mutability::Read to fan yaml.<br>
>>>>>>>>>>>> - I didn't see ipmi-sensor-inventory.yaml of romulus having fan sensors, so removed them from IPMI.<br>
>>>>>>>>>>>><br>
>>>>>>>>>>>> Now,"busctl monitor" displays Fan tach reads, no pwm writes.<br>
>>>>>>>>>>><br>
>>>>>>>>>>> Not sure I follow what you mean by "no pwm writes", is there an<br>
>>>>>>>>>>> application writing to the fan sensor's pwm interface target property?<br>
>>>>>>>>>>><br>
>>>>>>>>>>>> Is there any way to manually set PWM value and test this?<br>
>>>>>>>>>>>> How do I verify PWM values are being written to ADT7462?<br>
>>>>>>>>>>><br>
>>>>>>>>>>> If no other application are writing to the PWM sysfs entries, you should<br>
>>>>>>>>>>> be able to `echo` a value to each fan's PWM sysfs file to alter the fan<br>
>>>>>>>>>>> speeds.<br>
>>>>>>>>>>><br>
>>>>>>>>>>>> Another observation is Inventory.Item seems to have invalid(stale) entries.<br>
>>>>>>>>>>><br>
>>>>>>>>>>> I believe inventory is persisted by default so that could explain why<br>
>>>>>>>>>>> these entries are still showing up. These are persisted under<br>
>>>>>>>>>>> `/var/lib/phosphor-inventory-manager/..`.<br>
>>>>>>>>>>><br>
>>>>>>>>>>>> IPMI sensor names appear in inventory even after removing from IPMI sensor yaml files (exported JSON in attachment).<br>
>>>>>>>>>>>> Logs:<br>
>>>>>>>>>>>> busctl monitor | grep -i fan<br>
>>>>>>>>>>>> ========================================================================================================================================================<br>
>>>>>>>>>>>> Monitoring bus message stream.<br>
>>>>>>>>>>>> Sender=:1.45 Path=/xyz/openbmc_project/sensors/fan_tach/FAN0 Interface=<a href="http://org.freedesktop.DBus.Properties">org.freedesktop.DBus.Properties</a> Member=PropertiesChanged<br>
>>>>>>>>>>>> Sender=:1.45 Path=/xyz/openbmc_project/sensors/fan_tach/FAN1 Interface=<a href="http://org.freedesktop.DBus.Properties">org.freedesktop.DBus.Properties</a> Member=PropertiesChanged<br>
>>>>>>>>>>>> Sender=:1.45 Path=/xyz/openbmc_project/sensors/fan_tach/FAN2 Interface=<a href="http://org.freedesktop.DBus.Properties">org.freedesktop.DBus.Properties</a> Member=PropertiesChanged<br>
>>>>>>>>>>>> [...]<br>
>>>>>>>>>>>> Sender=:1.45 Path=/xyz/openbmc_project/sensors/fan_tach/FAN1 Interface=<a href="http://org.freedesktop.DBus.Properties">org.freedesktop.DBus.Properties</a> Member=PropertiesChanged<br>
>>>>>>>>>>>> Sender=:1.45 Path=/xyz/openbmc_project/sensors/fan_tach/FAN3 Interface=<a href="http://org.freedesktop.DBus.Properties">org.freedesktop.DBus.Properties</a> Member=PropertiesChanged<br>
>>>>>>>>>>>> ^C<br>
>>>>>>>>>>>> busctl get-property xyz.openbmc_project.Hwmon-<a href="tel:2429843755">2429843755</a>.Hwmon1 /xyz/openbmc_project/sensors/fan_tach/FAN0 xyz.openbmc_project.Control.FanPwm Target<br>
>>>>>>>>>>>> =============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================<br>
>>>>>>>>>>>> t 0<br>
>>>>>>>>>>>> busctl set-property xyz.openbmc_project.Hwmon-<a href="tel:2429843755">2429843755</a>.Hwmon1 /xyz/openbmc_project/sensors/fan_tach/FAN0 xyz.openbmc_project.Control.FanPwm Target 8000<br>
>>>>>>>>>>>> ==============================================================================================================================================================<br>
>>>>>>>>>>><br>
>>>>>>>>>>> This is not a valid call to `busctl set-property...`, its missing the<br>
>>>>>>>>>>> property's signature type (refer to `busctl help`). Also, a target PWM<br>
>>>>>>>>>>> of 8000 is invalid, PWM is 0 - 255.<br>
>>>>>>>>>>><br>
>>>>>>>>>>>> Failed to create bus message: Invalid argument<br>
>>>>>>>>>>>> busctl introspect --no-pager xyz.openbmc_project.Hwmon-<a href="tel:2429843755">2429843755</a>.Hwmon1 /xyz/openbmc_project/sensors/fan_tach/FAN1<br>
>>>>>>>>>>>> ===================================================================================================================================================================<br>
>>>>>>>>>>>> NAME TYPE SIGNATURE RESULT/VALUE FLAGS<br>
>>>>>>>>>>>> org.freedesktop.DBus.Introspectable interface - - -<br>
>>>>>>>>>>>> .Introspect method - s -<br>
>>>>>>>>>>>> org.freedesktop.DBus.Peer interface - - -<br>
>>>>>>>>>>>> .GetMachineId method - s -<br>
>>>>>>>>>>>> .Ping method - - -<br>
>>>>>>>>>>>> <a href="http://org.freedesktop.DBus.Properties">org.freedesktop.DBus.Properties</a> interface - - -<br>
>>>>>>>>>>>> .Get method ss v -<br>
>>>>>>>>>>>> .GetAll method s a{sv} -<br>
>>>>>>>>>>>> .Set method ssv - -<br>
>>>>>>>>>>>> .PropertiesChanged signal sa{sv}as - -<br>
>>>>>>>>>>>> xyz.openbmc_project.Control.FanPwm interface - - -<br>
>>>>>>>>>>>> .Target property t 0 emits-change writable<br>
>>>>>>>>>>>> xyz.openbmc_project.Sensor.Value interface - - -<br>
>>>>>>>>>>>> .MaxValue property x 0 emits-change writable<br>
>>>>>>>>>>>> .MinValue property x 0 emits-change writable<br>
>>>>>>>>>>>> .Scale property x 0 emits-change writable<br>
>>>>>>>>>>>> .Unit property s "xyz.openbmc_project.Sensor.Value.Unit.… emits-change writable<br>
>>>>>>>>>>>> .Value property x 2983 emits-change writable<br>
>>>>>>>>>>>> xyz.openbmc_project.State.Decorator.OperationalStatus interface - - -<br>
>>>>>>>>>>>> .Functional property b true emits-change writable<br>
>>>>>>>>>>>> Thanks,<br>
>>>>>>>>>>>> Raj<br>
>>>>>>>>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
>>>>>>>>>>>> On Wednesday, September 18, 2019 9:35 PM, Patrick Venture <a href="mailto:venture@google.com">venture@google.com</a> wrote:<br>
>>>>>>>>>>>><br>
>>>>>>>>>>>>> On Wed, Sep 18, 2019 at 2:30 AM rgrs <a href="mailto:rgrs@protonmail.com">rgrs@protonmail.com</a> wrote:<br>
>>>>>>>>>>>>><br>
>>>>>>>>>>>>>> Hi Patrick, Matt,<br>
>>>>>>>>>>>>>> I tried instructions from this wiki: <a href="https://developer.ibm.com/linuxonpower/2019/01/07/how-to-port-openbmc">https://developer.ibm.com/linuxonpower/2019/01/07/how-to-port-openbmc</a>/<br>
>>>>>>>>>>>>>> There is no GPIO to detect presence of fans, so tach readings is used instead.<br>
>>>>>>>>>>>>>> Here's what I did while trying to enable Fan control:<br>
>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>> 1. Added Fan tach sensor in hwmon (adt7462.conf) is in the form LABEL=FANx_RPM<br>
>>>>>>>>>>>>>> 2. "ipmi-sensor-inventory.yaml" has below config:<br>
>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>> 60: &fan_tach<br>
>>>>>>>>>>>>>> sensorType: 0x04<br>
>>>>>>>>>>>>>> path: /xyz/openbmc_project/sensors/fan_tach/FAN0_RPM<br>
>>>>>>>>>>>>>> sensorReadingType: 0x01<br>
>>>>>>>>>>>>>> multiplierM: 100<br>
>>>>>>>>>>>>>> offsetB: 0<br>
>>>>>>>>>>>>>> bExp: 0<br>
>>>>>>>>>>>>>> unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS<br>
>>>>>>>>>>>>>> scale: 0<br>
>>>>>>>>>>>>>> rExp: 0<br>
>>>>>>>>>>>>>> serviceInterface: <a href="http://org.freedesktop.DBus.Properties">org.freedesktop.DBus.Properties</a><br>
>>>>>>>>>>>>>> readingType: readingData<br>
>>>>>>>>>>>>>> interfaces:<br>
>>>>>>>>>>>>>> xyz.openbmc_project.Sensor.Value:<br>
>>>>>>>>>>>>>> Value:<br>
>>>>>>>>>>>>>> Offsets:<br>
>>>>>>>>>>>>>> 0xFF:<br>
>>>>>>>>>>>>>> type: int64_t<br>
>>>>>>>>>>>>>> and FAN PWM as<br>
>>>>>>>>>>>>>> 89: &fanpwm<br>
>>>>>>>>>>>>>> sensorType: 0x04<br>
>>>>>>>>>>>>>> path: /xyz/openbmc_project/sensors/fan_tach/FAN0_RPM<br>
>>>>>>>>>>>>>> sensorReadingType: 0x01<br>
>>>>>>>>>>>>>> multiplierM: 1<br>
>>>>>>>>>>>>>> offsetB: 0<br>
>>>>>>>>>>>>>> bExp: 0<br>
>>>>>>>>>>>>>> mutability: Mutability::Write<br>
>>>>>>>>>>>>><br>
>>>>>>>>>>>>> You may need to add ::Read here too, I'm not sure anymore, but you can<br>
>>>>>>>>>>>>> check the script that builds this:<br>
>>>>>>>>>>>>> <a href="https://github.com/openbmc/phosphor-host-ipmid/blob/master/scripts/writesensor.mako.cpp#L69">https://github.com/openbmc/phosphor-host-ipmid/blob/master/scripts/writesensor.mako.cpp#L69</a><br>
>>>>>>>>>>>>> It'll default to read, but if you've only set write, I don't know.<br>
>>>>>>>>>>>>><br>
>>>>>>>>>>>>>> serviceInterface: <a href="http://org.freedesktop.DBus.Properties">org.freedesktop.DBus.Properties</a><br>
>>>>>>>>>>>>>> readingType: readingData<br>
>>>>>>>>>>>>>> interfaces:<br>
>>>>>>>>>>>>>> xyz.openbmc_project.Control.FanPwm:<br>
>>>>>>>>>>>>>> Target:<br>
>>>>>>>>>>>>>> Offsets:<br>
>>>>>>>>>>>>>> 0xFF:<br>
>>>>>>>>>>>>>> type: uint64_t<br>
>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>> 3. I copied meta-romulus/recipes-phosphor/fans to my platform and changed FAN names from "fanx" to "FANx_RPM" in yaml files.<br>
>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>> This is what get in busctl tree related to Fans:<br>
>>>>>>>>>>>>>> (I expected to see FanPwm entries in busctl and I'm not sure why there are multiple entries in inventory).<br>
>>>>>>>>>>>>>> Service xyz.openbmc_project.Hwmon-<a href="tel:2429843755">2429843755</a>.Hwmon1:<br>
>>>>>>>>>>>>>> `-/xyz`-/xyz/openbmc_project<br>
>>>>>>>>>>>>>> `-/xyz/openbmc_project/sensors |-/xyz/openbmc_project/sensors/fan_tach | |-/xyz/openbmc_project/sensors/fan_tach/FAN0_RPM | |-/xyz/openbmc_project/sensors/fan_tach/FAN1_RPM | |-/xyz/openbmc_project/sensors/fan_tach/FAN2_RPM |`-/xyz/openbmc_project/sensors/fan_tach/FAN3_RPM<br>
>>>>>>>>>>>>>> `-/xyz/openbmc_project/sensors/temperature`-/xyz/openbmc_project/sensors/temperature/BACKPLANE_TEMP<br>
>>>>>>>>>>>>><br>
>>>>>>>>>>>>> You don't get a separate entry for the PWM from phosphor-hwmon.<br>
>>>>>>>>>>>>> It's a separate interface on the same service and path.<br>
>>>>>>>>>>>>> I recommend you introspect on the path and see what interfaces are<br>
>>>>>>>>>>>>> available (as well as adding "| read" above):<br>
>>>>>>>>>>>>> busctl introspect --no-pager<br>
>>>>>>>>>>>>> xyz.openbmc_project.Hwmon-<a href="tel:2429843755">2429843755</a>.Hwmon1<br>
>>>>>>>>>>>>> /xyz/openbmc_project/sensors/fan_tach/FAN0_RPM<br>
>>>>>>>>>>>>><br>
>>>>>>>>>>>>>> Service xyz.openbmc_project.Inventory.Manager:<br>
>>>>>>>>>>>>>> `-/xyz`-/xyz/openbmc_project<br>
>>>>>>>>>>>>>> `-/xyz/openbmc_project/inventory`-/xyz/openbmc_project/inventory/system<br>
>>>>>>>>>>>>>> `-/xyz/openbmc_project/inventory/system/chassis`-/xyz/openbmc_project/inventory/system/chassis/motherboard<br>
>>>>>>>>>>>>>> |-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN0<br>
>>>>>>>>>>>>>> | `-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN0/FAN0 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN0_RPM |`-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN0_RPM/FAN0_RPM<br>
>>>>>>>>>>>>>> |-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN1<br>
>>>>>>>>>>>>>> | `-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN1/FAN1 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN1_RPM |`-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN1_RPM/FAN1_RPM<br>
>>>>>>>>>>>>>> |-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN2<br>
>>>>>>>>>>>>>> | `-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN2/FAN2 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN2_RPM |`-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN2_RPM/FAN2_RPM<br>
>>>>>>>>>>>>>> |-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN3<br>
>>>>>>>>>>>>>> | `-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN3/FAN3 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN3_RPM |`-/xyz/openbmc_project/inventory/system/chassis/motherboard/FAN3_RPM/FAN3_RPM<br>
>>>>>>>>>>>>>> |-/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0<br>
>>>>>>>>>>>>>> |-/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1<br>
>>>>>>>>>>>>>> |-/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2<br>
>>>>>>>>>>>>>> `-/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3<br>
>>>>>>>>>>>>>> Thanks,<br>
>>>>>>>>>>>>>> Raj<br>
>>>>>>>>>>>>>> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
>>>>>>>>>>>>>> On Tuesday, September 17, 2019 9:18 PM, Patrick Venture <a href="mailto:venture@google.com">venture@google.com</a> wrote:<br>
>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>> On Tue, Sep 17, 2019 at 8:32 AM Matthew Barth <a href="mailto:msbarth@linux.ibm.com">msbarth@linux.ibm.com</a> wrote:<br>
>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>>> On 9/17/19 5:40 AM, rgrs wrote:<br>
>>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>>>> Hi,<br>
>>>>>>>>>>>>>>>>> I need some help with phosphor hwmon related to fan sensors.<br>
>>>>>>>>>>>>>>>>> I'm trying to control Fans in a server motherboard using ADT7462<br>
>>>>>>>>>>>>>>>>> controller. Hw mon porting is done and the sysfs interfaces are working<br>
>>>>>>>>>>>>>>>>> as expected.<br>
>>>>>>>>>>>>>>>>> While I am able to read RPM, i don't find pwm/target to control the fans<br>
>>>>>>>>>>>>>>>>> exposed as dbus objects.<br>
>>>>>>>>>>>>>>>>> Do you have the hwmon config set similar to this to denote the fan<br>
>>>>>>>>>>>>>>>>> targets are of PWM type?<br>
>>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>>> <a href="https://github.com/openbmc/openbmc/blob/master/meta-ibm/meta-romulus/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller%401e786000.conf">https://github.com/openbmc/openbmc/blob/master/meta-ibm/meta-romulus/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/pwm-tacho-controller%401e786000.conf</a><br>
>>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>>>> busctl --no-page tree xyz.openbmc_project.FanSensor<br>
>>>>>>>>>>>>>>>>> ====================================================<br>
>>>>>>>>>>>>>>>>> Failed to introspect object / of service xyz.openbmc_project.FanSensor:<br>
>>>>>>>>>>>>>>>>> The name is not activatable<br>
>>>>>>>>>>>>>>>>> No objects discovered.<br>
>>>>>>>>>>>>>>>>> That does not look like a hwmon service name. If you are using<br>
>>>>>>>>>>>>>>>>> phosphor-objmgr, you can use `# mapper get-service /xyz/openbmc_project/sensors/fan_tach` otherwise you'll need to find the<br>
>>>>>>>>>>>>>>>>> hwmon service name associated with your fan controller device.<br>
>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>> running`busctl tree --no-pager` will just list everything, and you<br>
>>>>>>>>>>>>>>> should see your fans in there. You can use the mapper too. I was<br>
>>>>>>>>>>>>>>> curious, are you using entity-manager/dbus-sensors? When you mention<br>
>>>>>>>>>>>>>>> FanSensor as the service, that's what it sounds like.<br>
>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>>>> I came across this post, I think it is similar to my issue.<br>
>>>>>>>>>>>>>>>>> (<a href="https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-hwmon/+/8353">https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-hwmon/+/8353</a>)<br>
>>>>>>>>>>>>>>>>> Please someone point to latest documentation or reference Fan porting<br>
>>>>>>>>>>>>>>>>> from openBMC repo?<br>
>>>>>>>>>>>>>>>>> What are the exact fields in YAML that are used create FanPWM objects.<br>
>>>>>>>>>>>>>>>>> The Romulus machine should be a good reference for PWM based fan control<br>
>>>>>>>>>>>>>>>>> using phosphor-hwmon. It uses the<br>
>>>>>>>>>>>>>>>>> phosphor-fan-presence/[control|monitor] apps for controlling and<br>
>>>>>>>>>>>>>>>>> monitoring fans<br>
>>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>>> <a href="https://github.com/openbmc/openbmc/tree/master/meta-ibm/meta-romulus">https://github.com/openbmc/openbmc/tree/master/meta-ibm/meta-romulus</a><br>
>>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>>>> (I'm using Feb release in my sandbox,<br>
>>>>>>>>>>>>>>>>> <a href="https://github.com/openbmc/docs/blob/master/release/release-notes.md#26-feb-4-2019">https://github.com/openbmc/docs/blob/master/release/release-notes.md#26-feb-4-2019</a>)<br>
>>>>>>>>>>>>>>>>> Thanks,<br>
>>>>>>>>>>>>>>>>> Raj<br>
>>>>>>>>>>>>>>>><br>
>>>>>>>>>>>>>>>> Matt<br>
><br>
><br>
</p>
</div>