commit | 3359637f47dee52613f296aead8079cc5ba1880c | [log] [tgz] |
---|---|---|
author | George Liu <liuxiwei@ieisystem.com> | Mon Aug 05 15:09:06 2024 +0800 |
committer | George Liu <liuxiwei@ieisystem.com> | Mon Aug 05 15:11:31 2024 +0800 |
tree | 56d05663977ac723672228e39464393ce0191b13 | |
parent | 99914e5e9ce30f6a6b7346fcf592e4b2845b5174 [diff] |
README.md: Update access permissions The default access permission for the README.md file should be 664. Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: Ibf94e02728703b19c71cbb882ce24b87edb88820
The phosphor-fan-presence repository provides a set of thermal related applications that control and monitor the cooling of a system using fans. Each application independently controls or monitors an area related to the thermal status of a system that uses fans as its primary cooling mechanism. Since each application independent in its functionality, they can individually be included in a BMC image at configure time to provide only the functionality needed by a user's machine.
By default, runtime JSON configuration file(s) are used for each application. The use of YAML configuration file(s) has been deprecated in favor of the JSON method. Support for the use of YAML based configuration files may be removed once all applications completely support getting their configuration from JSON file(s) at runtime.
The following applications are built by default:
-Dcontrol-service=disabled
meson option:meson build -Dcontrol-service=disabled
-Dpresence-service=disabled
meson option:meson build -Dpresence-service=disabled
-Dmonitor-service=disabled
meson option:meson build -Dmonitor-service=disabled
-Dsensor-monitor-service=disabled
meson option:meson build -Dsensor-monitor-service=disabled
The following applications must be enabled at configure time to be built:
-Dcooling-type-service=enable
meson option:meson build -Dcooling-type-service=enabled
The location of the YAML configuration file(s) are provided at configure time to each application thru environment variables. The default YAML configuration file(s) used are the examples found within each application's example directory. See each application below (Contents) for more information on how to set their specific configure time options, including the location of the YAML configuration file(s).
Meson defaults to JSON based runtime configuration, so to select the YAML configuration use the '-Djson-config=disabled' option when building:
1. meson build -Djson-config=disabled 2. ninja -C build
See each application below (Contents) for more information on how to set their specific configure time options and details on how to configure each using JSON.
As JSON based runtime configuration is the default option, no extra options are required to build:
1. meson build 2. ninja -C build
Note: Features/Restrictions of applications in this package that are only supported using the JSON based configuration are listed below:
Controls the fans based on a set of events that are configured using a group of D-Bus objects and one-or-more triggers that run a configured set of actions. These events are meant to be configured to handle all aspects of controlling the fans within a system. Fans are added to zones that then have events configured against the zone to control the fans based on the state of any sized group of D-Bus objects.
control-persist-root-path
- Base location to persist zone property states on the BMCfan-def-yaml-file
- Build time fan configuration filefan-zone-yaml-file
- Build time zone configuration filefan-events-yaml-file
- Build time events configuration filezone-conditions-yaml-file
Build time zone conditions configuration fileMonitors the presence state of fans using GPIOs, nonzero tach feedbacks, or a combination of both. This updates a configured location of a fan D-Bus object's Present
property according to the state of the methods used to detect the fan's presence.
num-presence-log-entries
- Maximum number of entries in the message logpresence-config
- Location of the config fileExample: example.yaml
Monitors the functional state of fans by comparing the fan feedback speed against the current target, applying any configured adjustments to the target due to fan hardware properties. In addition to updating the configured location of a fan D-Bus object's Functional
property in inventory, actions can be configured* to be taken based on the state of fans, i.e.) creating event logs or powering off the system.
Another feature that can be configured is the ability to cancel the monitoring of a set of fans that may be necessary to workaround designs of the fan hardware and/or controller used.
*Actions to be taken based on the state of fans is only available using a JSON based configuration
num-monitor-log-entries
- Maximum number of entries in the message logfan-monitor-yaml-file
- Location of the config fileExample: monitor.yaml
Sets the AirCooled
and WaterCooled
property on the xyz.openbmc_project.Inventory.Decorator.CoolingType
interface in inventory based on a given GPIO. No configuration files are used with this application as it is command line driven.
Takes actions, such as powering off the system, based on sensor thresholds and values.
sensor-monitor-persist-root-path
- Base location to persist sensor monitoring datasensor-monitor-hard-shutdown-delay
- Milliseconds to delay the alarm hard shutdownsensor-monitor-soft-shutdown-delay
- Milliseconds to delay the alarm soft shutdownuse-host-power-state
- Use the host state for the power state as opposed to the PGOOD state.