diff options
Diffstat (limited to 'meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans')
3 files changed, 53 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed.bb b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed.bb new file mode 100644 index 000000000..9c10c5b3d --- /dev/null +++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed.bb @@ -0,0 +1,20 @@ +SUMMARY = "Set Wolfpass fan default speeds" +DESCRIPTION = "Sets all fans to a single speed" + +inherit allarch +inherit obmc-phosphor-systemd + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658" + +RDEPENDS_${PN} += "python" + +S = "${WORKDIR}" +SRC_URI += "file://set_fan_speeds.py" + +SYSTEMD_SERVICE_${PN} += "fan-default-speed.service" + +do_install() { + install -d ${D}/${bindir} + install -m 0755 ${WORKDIR}/set_fan_speeds.py ${D}/${bindir}/set_fan_speeds.py +} diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service new file mode 100644 index 000000000..267fdee43 --- /dev/null +++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service @@ -0,0 +1,10 @@ +[Unit] +Description=Set fans to a default speed +ConditionFileNotEmpty={bindir}/set_fan_speeds.py + +[Service] +ExecStart={bindir}/set_fan_speeds.py 150 +Type=oneshot + +[Install] +WantedBy=default.target diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py new file mode 100644 index 000000000..70ba64799 --- /dev/null +++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py @@ -0,0 +1,23 @@ +#!/usr/bin/python +import os +import glob +import time +import sys + +HWMON_DIR = "/sys/class/hwmon/hwmon0" + +count = 0 +inputs = None +while not inputs: + count += 1 + if count > 20: + print("pwm missing!") + sys.exit(0) + + inputs = glob.glob(os.path.join(HWMON_DIR, "pwm*")) + time.sleep(5) + +inputs = glob.glob(os.path.join(HWMON_DIR, "pwm*")) +for pwm in inputs: + with open(pwm, 'w') as f: + f.write(sys.argv[1]) |