NAME
swsensor —
software environmental
sensor
SYNOPSIS
pseudo-device swsensor
DESCRIPTION
The
swsensor driver provides a software environmental sensor
that works with
sysctl(8) and
envstat(8). The driver is
intended to be loaded as a kernel module. One can, however, include the
swsensor driver directly in a kernel using the configuration
from the synopsis. By default, the sensor is of type
ENVSYS_UNITS_INTEGER
.
The following values can be specified in the
modload(8) command when loading
the
swsensor module to alter the driver's behavior.
-
-
- Variable
Usage
-
mode
- Controls whether or not swsensor provides
internally-maintained limits and limit checking
-
-
- Value
Meaning
-
0
- sensor has no internally-maintained limits
-
-
1
- sensor provides its own internal limit value
-
-
2
- sensor maintains an internal adjustable limit and
performs its own comparison between the sensor's limit and its current
value
-
-
limit
- The initial alarm limit value, if limit emulation is
selected (i.e., if
mode
is set to 1 or 2)
-
-
value_max
-
value_min
- The maximum and minimum values. The corresponding
ENVSYS_FVALID_MAX
and
ENVSYS_FVALID_MIN
flags are implicitly set.
-
-
percentage
- This boolean value controls the setting of the
ENVSYS_FPERCENT
flag.
-
-
type
- Define the sensor's unit/type. By default, a Temperature
sensor is created. Any of the string values from the following table can
be specified:
Temperature |
Fan |
Voltage AC |
Voltage DC |
Ohms |
Watts |
Ampere |
Watt hour |
Ampere hour |
Indicator |
Integer |
Drive |
Battery capacity |
Battery charge |
|
(Values are case-sensitive, and spaces must be included.)
-
-
value
- Provide an initial value for the sensor. If this is
omitted, the sensor's initial value is set to zero.
For example,
modload -s type=Voltage\ DC
swsensor
will create a sensor of type
ENVSYS_UNITS_SVOLTS_DC
,
while
modload -i mode=1 -i limit=50
swsensor
will create a sensor which has an initial, device-provided limit of 50.
The sensor's raw value and state can be manually updated by modifying the
sysctl(8) variables
“hw.swsensor.cur_value” and “hw.swsensor.state”
variables respectively.
SEE ALSO
modctl(2),
envstat(8),
sysctl(8)
HISTORY
The
swsensor driver was written by
Paul
Goyette and first appeared in
NetBSD 6.0.
BUGS
The
swsensor driver emulates a device with only a single
sensor.
The
swsensor driver can only emulate one hardware-managed
limit; this is assumed to be the
critical-min
limit.