NAME
powerd —
power management daemon for
sysmon
SYNOPSIS
DESCRIPTION
powerd acts upon power management events posted by the
kernel's power management facility. When events are posted,
powerd translates the event into a script name and a list of
arguments.
powerd then runs the script in order to implement
the power management policy defined by the system administrator.
The following options are available:
-
-
- -d
- Enable debugging mode. Verbose messages and all messages
intended for syslog(8) will
be sent to stderr, and powerd will stay in the
foreground of the controlling terminal.
-
-
- -n
- Prevent execution of power management scripts.
CONFIGURATION SCRIPTS
All configuration of
powerd is encapsulated into scripts that
are run when power management events occur. The daemon will look for the
scripts from the directory
/etc/powerd/scripts.
Configuration scripts are run synchronously;
powerd will start
the script and wait for its completion before it handles the next event.
Configuration scripts are called with different arguments, depending on the
script class. These classes are described in the following sections.
POWER SWITCH SCRIPTS
Power switch scripts are called when a state change event occurs on a power
switch device. Power switch scripts are called with two arguments: the device
with which the event is associated, and the event type.
The following power switch script names are defined:
-
-
- power_button
- This script is called when an event occurs on a power
button device.
-
-
- reset_button
- This script is called when an event occurs on a reset
button device.
-
-
- sleep_button
- This script is called when an event occurs on a sleep
button device.
-
-
- lid_switch
- This script is called when an event occurs on a lid switch
device.
-
-
- acadapter
- This script is called when an online or offline event
occurs on an AC adapter device.
-
-
- hotkey_button
- This script is called when an event occurs on a hotkey
button device.
The following events are defined for power switch devices:
-
-
- pressed
- The button was pressed, the lid was closed, or the AC
adapter was connected.
-
-
- released
- The button was released, the lid was opened, or the AC
adapter was disconnected. Note that power and sleep button devices usually
do not post this type of event.
The following is an example of how a power button script might be invoked when a
power button is pressed by the operator:
/etc/powerd/scripts/power_button acpibut0 pressed
ENVSYS SCRIPTS
envsys(4) scripts are called when
a condition was triggered in a sensor. These scripts are called with three
arguments: the device associated, the event type, and the sensor's name. The
sensor_drive and the
sensor_battery
scripts uses a fourth argument: state description.
The following envsys script names are defined:
-
-
- sensor_battery
- This script is called when an event occurs on a battery
sensor (Wh/Ah/Battery state).
-
-
- sensor_drive
- This script is called when an event occurs on a drive
sensor.
-
-
- sensor_fan
- This script is called when an event occurs on a fan
sensor.
-
-
- sensor_indicator
- This script is called when an event occurs on a
indicator/integer sensor.
-
-
- sensor_power
- This script is called when an event occurs on a power
sensor (W/Ampere).
-
-
- sensor_resistance
- This script is called when an event occurs on a resistance
sensor (Ohm).
-
-
- sensor_temperature
- This script is called when an event occurs on a temperature
sensor.
-
-
- sensor_voltage
- This script is called when an event occurs on a voltage
sensor.
The following events are defined for fan, indicator, power, resistance,
temperature, and voltage sensors:
-
-
- critical
- A critical condition was triggered.
-
-
- critical-under
- A critical under condition was triggered.
-
-
- critical-over
- A critical over condition was triggered.
-
-
- warning-under
- A warning under condition was triggered.
-
-
- warning-over
- A warning over condition was triggered.
The following event is defined for all scripts, but it is only sent if any of
the previous events has been previously sent:
-
-
- normal
- A normal state/capacity/condition was triggered.
The following events are defined only for battery sensors:
-
-
- user-capacity
- Capacity dropped below the limit set by the user.
-
-
- low-power
- System is running in low power. This implies that the AC
adapter is disconnected and all batteries are in critical or low capacity.
The script shutdowns the system gracefully by default.
The following events are defined for drive and battery sensors:
-
-
- state-changed
- The state of the sensor has been changed and it is not in
the normal state.
The following is an example of how a temperature sensor script might be invoked
when a critical over condition is triggered:
/etc/powerd/scripts/sensor_temperature lm0 critical-over "CPU Temp"
SEE ALSO
acpi(4),
acpiacad(4),
acpibut(4),
acpilid(4),
envsys(4),
i386/apm(4)
HISTORY
powerd first appeared in
NetBSD 2.0.
Support to handle
envsys(4)
events appeared in
NetBSD 5.0.
AUTHORS
powerd was written by
Jason R. Thorpe
⟨thorpej@wasabisystems.com⟩ and contributed by Wasabi Systems,
Inc.
Juan Romero Pardines added support to handle
envsys(4) events.
BUGS
Due to its synchronous nature
powerd cannot be trusted to
handle events within a certain time.