Fan control service issues - service will not start "Uncaught DBus service lookup failure exception"
Stephen Boylan
sboylan at ircona.com
Thu Apr 25 19:56:10 AEST 2019
After looking at my configuration file for /sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/ I noticed I had in an error to try fix an issue I set PWM_TARGET_fan1 = "0". Since I changed this back to what is below, now I get the following error when trying to start fan control services, similar to the original one but for a different fan.
{
"__CURSOR" : "s=fdd5653de8ca4f298bf0d04f018a68d7;i=219;b=445f19f9668b4129b216ec827ed31ddb;m=ad54afd;t=58757bd23b204;x=757e520ccf3b4259",
"__REALTIME_TIMESTAMP" : "1556185788690948",
"__MONOTONIC_TIMESTAMP" : "181750525",
"_BOOT_ID" : "445f19f9668b4129b216ec827ed31ddb",
"_UID" : "0",
"_GID" : "0",
"_MACHINE_ID" : "a361a071fa454d939ee5c5a7324cf2de",
"_HOSTNAME" : "evb-ast2500",
"_TRANSPORT" : "journal",
"_CAP_EFFECTIVE" : "3fffffffff",
"CODE_FILE" : "/home/ircadmin/OpenBMC/openbmc/build/tmp/work/armv6-openbmc-linux-gnueabi/phosphor-fan/1.0+gitAUTOINC+4b258ac8b6-r1/recipe-sysroot/usr
/include/phosphor-logging/log.hpp",
"CODE_LINE" : "105",
"CODE_FUNC" : "helper_log",
"PRIORITY" : "3",
"MESSAGE" : "Uncaught DBus service lookup failure exception",
"TRANSACTION_ID" : "2273921040",
"PATH" : "/xyz/openbmc_project/sensors/fan_tach/fan2",
"INTERFACE" : "xyz.openbmc_project.Control.FanPwm",
"SYSLOG_IDENTIFIER" : "phosphor-fan-control",
"_PID" : "1198",
"_COMM" : "phosphor-fan-co",
"_EXE" : "/usr/sbin/phosphor-fan-control",
"_CMDLINE" : "phosphor-fan-control --control",
"_SYSTEMD_CGROUP" : "/system.slice/system-phosphor\\x2dfan\\x2dcontrol.slice/phosphor-fan-control at 0.service",
"_SYSTEMD_UNIT" : "phosphor-fan-control at 0.service",
"_SYSTEMD_SLICE" : "system-phosphor\\x2dfan\\x2dcontrol.slice",
"_SYSTEMD_INVOCATION_ID" : "140d38d6360847c389c67d0bfa162589",
"_SOURCE_REALTIME_TIMESTAMP" : "1556185788690865"
}
What I don't understand here is why it's trying to access fan2 at all? I know that path does not exist and as far as I understand it I haven't tried to set it up through any configuration file.
> Also, what target mode do you have configured for the hwmon instance?
>The *.Control.FanPWM interface is created for the fan objects by the
>hwmon instance, when `TARGET_MODE = "PWM"` in the config.
Here is my configuration file for the fans, it's primarily based on the meta-romulus .conf file
1 LABEL_fan1 = "fan0"
2 LABEL_fan2 = "fan1"
3
4 PWM_TARGET_fan1 = "1"
5 PWM_TARGET_fan2 = "2"
6
7 WARNLO_fan1 = 1500
8 WARNHI_fan1 = 5000
9 CRITLO_fan1 = 1000
10 CRITHI_fan1 = 5500
11
12 WARNLO_fan2 = 1500
13 WARNHI_fan2 = 5000
14 CRITLO_fan2 = 1000
15 CRITHI_fan2 = 5500
Here is the pwm_tacho section of my dts file
153 &pwm_tacho {
154 status = "okay";
155 pinctrl-names = "default";
156 pinctrl-0 = <&pinctrl_pwm0_default
157 &pinctrl_pwm1_default>;
158
159 fan at 0 {
160 reg = <0x00>;
161 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
162 };
163
164 fan at 1 {
165 reg = <0x01>;
166 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
167 };
168 };
> It looks like they don't have that PWM interface. You can check if
> the pwm files exist under /sys/class/hwmon/hwmon*/ for the hwmon*
> that has your fans.
Here's the contents of hwmon0. I know I can manually echo values into pwm1 and pwm2 and I can see the effect on the fans as they spin.
root at evb-ast2500:/sys/class/hwmon/hwmon0# ls
device fan1_input fan2_input name of_node pwm1 pwm2 subsystem uevent
My understanding is that through the DTS file I've set up fan0 and fan1. These are represented in sys/class/hwmon/hwmon0 as fan1_input and fan2_input. Though the conf file set up in /sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/ I've assigned a "pretty name" of fan0 and fan1 to
LABEL_fan1 and LABEL_fan2. Those "pretty name" values are used throughout the various configuration files for monitor/presence and control.
________________________________
From: Matthew Barth <msbarth at linux.ibm.com>
Sent: 24 April 2019 18:08
To: Patrick Venture; Stephen Boylan
Cc: openbmc at lists.ozlabs.org
Subject: Re: Fan control service issues - service will not start "Uncaught DBus service lookup failure exception"
On 4/24/19 11:38 AM, Patrick Venture wrote:
> On Wed, Apr 24, 2019 at 9:25 AM Stephen Boylan <sboylan at ircona.com> wrote:
>>
>> Hello all,
>>
>> I've run into an issue with my fan control. I have a simple two fan system which is failing to start phosphor-fan-control at .service
>>
>>
>>
>> This is the status
>>
>> root at evb-ast2500:/lib/systemd/system# systemctl status phosphor-fan-control at 0.service --no-page
>>
>> ? phosphor-fan-control at 0.service - Phosphor Fan Control Daemon
>>
>> Loaded: loaded (/lib/systemd/system/phosphor-fan-control at .service; static; vendor preset: enabled)
>>
>> Active: failed (Result: exit-code) since Wed 2019-04-24 16:22:36 UTC; 16s ago
>>
>> Process: 1218 ExecStart=/usr/bin/env phosphor-fan-control --control (code=exited, status=1/FAILURE)
>>
>> Main PID: 1218 (code=exited, status=1/FAILURE)
>>
>>
>>
>> Apr 24 16:22:36 evb-ast2500 systemd[1]: phosphor-fan-control at 0.service: Service RestartSec=1s expired, scheduling restart.
>>
>> Apr 24 16:22:36 evb-ast2500 systemd[1]: phosphor-fan-control at 0.service: Scheduled restart job, restart counter is at 2.
>>
>> Apr 24 16:22:36 evb-ast2500 systemd[1]: Stopped Phosphor Fan Control Daemon.
>>
>> Apr 24 16:22:36 evb-ast2500 systemd[1]: phosphor-fan-control at 0.service: Start request repeated too quickly.
>>
>> Apr 24 16:22:36 evb-ast2500 systemd[1]: phosphor-fan-control at 0.service: Failed with result 'exit-code'.
>>
>> Apr 24 16:22:36 evb-ast2500 systemd[1]: Failed to start Phosphor Fan Control Daemon.
>>
>>
>>
>> And I noticed this in the journalctl
>>
>> {
>>
>> "__CURSOR" : "s=efc0b033c5f243798b56446bcaffc0f5;i=23d;b=2de3ccbcea7940f5b51652e55e900cd2;m=2f22198c;t=5874871dec1c2;x=f1ba902c2ec1feae",
>>
>> "__REALTIME_TIMESTAMP" : "1556120101372354",
>>
>> "__MONOTONIC_TIMESTAMP" : "790763916",
>>
>> "_BOOT_ID" : "2de3ccbcea7940f5b51652e55e900cd2",
>>
>> "_UID" : "0",
>>
>> "_GID" : "0",
>>
>> "_MACHINE_ID" : "4c5bf4049b5e4751b70a17eaeeb55a49",
>>
>> "_HOSTNAME" : "evb-ast2500",
>>
>> "_TRANSPORT" : "journal",
>>
>> "_CAP_EFFECTIVE" : "3fffffffff",
>>
>> "CODE_FILE" : "/home/ircadmin/OpenBMC/openbmc/build/tmp/work/armv6-openbmc-linux-gnueabi/phosphor-fan/1.0+gitAUTOINC+4b258ac8b6-r1/recipe-sysroot/usr
>>
>> /include/phosphor-logging/log.hpp",
>>
>> "CODE_LINE" : "105",
>>
>> "CODE_FUNC" : "helper_log",
>>
>> "PRIORITY" : "3",
>>
>> "MESSAGE" : "Uncaught DBus service lookup failure exception",
>>
>> "TRANSACTION_ID" : "114915536",
>>
>> "PATH" : "/xyz/openbmc_project/sensors/fan_tach/fan0",
>>
>> "INTERFACE" : "xyz.openbmc_project.Control.FanPwm",
>>
>> "SYSLOG_IDENTIFIER" : "phosphor-fan-control",
>>
>> "_PID" : "1273",
>>
>> "_COMM" : "phosphor-fan-co",
>>
>> "_EXE" : "/usr/sbin/phosphor-fan-control",
>>
>> "_CMDLINE" : "phosphor-fan-control --control",
>>
>> "_SYSTEMD_CGROUP" : "/system.slice/system-phosphor\\x2dfan\\x2dcontrol.slice/phosphor-fan-control at 0.service",
>>
>> "_SYSTEMD_UNIT" : "phosphor-fan-control at 0.service",
>>
>> "_SYSTEMD_SLICE" : "system-phosphor\\x2dfan\\x2dcontrol.slice",
>>
>> "_SYSTEMD_INVOCATION_ID" : "21572a9f879c44cab2b9b6b4c5e9a504",
>>
>> "_SOURCE_REALTIME_TIMESTAMP" : "1556120101372269"
>>
>> }
>>
>>
>>
>> I know the PATH exists, though I'm not entirely sure about the INTERFACE. I've checked systemctl to see if I can find it and I don't see it. Should I be checking elsewhere for it?
>>
>>
>>
>>
>>
>> I can see my fan_tach sensors and my chassis entries as such
>>
>> /xyz/openbmc_project/sensors/fan_tach/enumerate
>>
>> {
>>
>> "data": {
>>
>> "/xyz/openbmc_project/sensors/fan_tach/fan0": {
>>
>> "CriticalAlarmHigh": false,
>>
>> "CriticalAlarmLow": false,
>>
>> "CriticalHigh": 5500,
>>
>> "CriticalLow": 1000,
>>
>> "MaxValue": 0,
>>
>> "MinValue": 0,
>>
>> "Scale": 0,
>>
>> "Unit": "xyz.openbmc_project.Sensor.Value.Unit.RPMS",
>>
>> "Value": 4292,
>>
>> "WarningAlarmHigh": false,
>>
>> "WarningAlarmLow": false,
>>
>> "WarningHigh": 5000,
>>
>> "WarningLow": 1500
>>
>> },
>>
>> "/xyz/openbmc_project/sensors/fan_tach/fan1": {
>>
>> "CriticalAlarmHigh": false,
>>
>> "CriticalAlarmLow": false,
>>
>> "CriticalHigh": 5500,
>>
>> "CriticalLow": 1000,
>>
>> "MaxValue": 0,
>>
>> "MinValue": 0,
>>
>> "Scale": 0,
>>
>> "Target": 255,
>>
>> "Unit": "xyz.openbmc_project.Sensor.Value.Unit.RPMS",
>>
>> "Value": 3551,
>>
>> "WarningAlarmHigh": false,
>>
>> "WarningAlarmLow": false,
>>
>> "WarningHigh": 5000,
>>
>> "WarningLow": 1500
>>
>> }
>>
>> },
>>
>> "message": "200 OK",
>>
>> "status": "ok"
>>
>> }
>>
>>
>>
>> /xyz/openbmc_project/inventory/system/chassis/motherboard/enumerate
>>
>> {
>>
>> "data": {
>>
>> "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0": {
>>
>> "Functional": true,
>>
>> "Present": true,
>>
>> "PrettyName": "fan0"
>>
>> },
>>
>> "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0": {
>>
>> "Functional": true
>>
>> },
>>
>> "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1": {
>>
>> "Functional": true,
>>
>> "Present": true,
>>
>> "PrettyName": "fan1"
>>
>> },
>>
>> "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1": {
>>
>> "Functional": true
>>
>> }
>>
>> },
>>
>> "message": "200 OK",
>>
>> "status": "ok"
>>
>> }
>
> It looks like they don't have that PWM interface. You can check if
> the pwm files exist under /sys/class/hwmon/hwmon*/ for the hwmon*
> that has your fans.
Also, what target mode do you have configured for the hwmon instance?
The *.Control.FanPWM interface is created for the fan objects by the
hwmon instance, when `TARGET_MODE = "PWM"` in the config.
>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20190425/ac1fbbee/attachment-0001.htm>
More information about the openbmc
mailing list