.\" $NetBSD: aibs.4,v 1.9 2014/03/18 18:20:39 riastradh Exp $
.\" $OpenBSD: aibs.4,v 1.4 2009/07/30 06:30:45 jmc Exp $
.\"
.\" Copyright (c) 2009 Constantine A. Murenin <cnst+netbsd@bugmail.mojo.ru>
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.Dd June 12, 2011
.Dt AIBS 4
.Os
.Sh NAME
.Nm aibs
.Nd ASUSTeK AI Booster voltage, temperature, and fan sensor
.Sh SYNOPSIS
.Cd "aibs* at acpi?"
.Sh DESCRIPTION
The
.Nm
driver provides support for voltage, temperature, and fan sensors
available as an
.Tn ACPI
device on
.Tn ASUSTeK
motherboards.
The number of sensors of each type,
as well as the description of each sensor,
varies according to the motherboard.
.Pp
The driver supports an arbitrary set of sensors,
provides descriptions regarding what each sensor is used for,
and reports whether each sensor is within the specifications
as defined by the motherboard manufacturer through
.Tn ACPI .
.Pp
The
.Nm
driver supports
.Xr envsys 4
sensor states as follows:
.Bl -bullet
.It
Voltage sensors can have a state of
.Sq valid ,
.Sq critunder ,
or
.Sq critover ;
temperature sensors can have a state of
.Sq valid ,
.Sq warnover ,
.Sq critover ,
or
.Sq invalid ;
and fan sensors can have a state of
.Sq valid ,
.Sq warnunder ,
or
.Sq warnover .
.It
Temperature sensors that have a reading of 0
are marked
.Sq invalid ,
whereas all other sensors are always assumed valid.
.It
Voltage sensors have a lower and an upper limit,
.Sq critunder
and
.Sq critover ,
temperature sensors have two upper limits,
.Sq warnover
and
.Sq critover ,
whereas fan sensors may either have only the lower limit
.Sq warnunder ,
or, depending on the vendor's
.Tn ACPI
implementation, one lower and one upper limit,
.Sq warnunder
and
.Sq warnover .
.El
.Pp
Sensor values and limits are made available through the
.Xr envsys 4
interface,
and can be monitored with
.Xr envstat 8 .
For example, on an ASUS V3-P5G965 barebone:
.Bd -literal -offset 2n
$ envstat -d aibs0
Current CritMax WarnMax WarnMin CritMin Unit
Vcore Voltage: 1.152 1.600 0.850 V
+3.3 Voltage: 3.312 3.630 2.970 V
+5 Voltage: 5.017 5.500 4.500 V
+12 Voltage: 12.302 13.800 10.200 V
CPU Temperature: 27.000 95.000 80.000 degC
MB Temperature: 58.000 95.000 60.000 degC
CPU FAN Speed: 878 7200 600 RPM
CHASSIS FAN Speed: 0 7200 700 RPM
.Ed
.Pp
Generally, sensors provided by the
.Nm
driver may also be supported by a variety of other drivers,
such as
.Xr lm 4
or
.Xr itesio 4 .
The precise collection of
.Nm
sensors is comprised of the sensors
specifically utilised in the motherboard
design, which may be supported through
a combination of one or more physical hardware monitoring chips.
.Pp
The
.Nm
driver, however, provides the following advantages
when compared to the native hardware monitoring drivers:
.Bl -bullet
.It
Sensor values from
.Nm
are expected to be more reliable.
For example, voltage sensors in many hardware monitoring chips
can only sense voltage from 0 to 2 or 4 volts, and the excessive
voltage is removed by the resistors, which may vary with the motherboard
and with the voltage that is being sensed.
In
.Nm ,
the required resistor factors are provided by
the motherboard manufacturer through
.Tn ACPI ;
in the native drivers, the resistor factors
are encoded into the driver based on the chip manufacturer's recommendations.
In essence, sensor values from
.Nm
are very likely to be identical to the readings from the
Hardware Monitor screen in the BIOS.
.It
Sensor descriptions from
.Nm
are more likely to match the markings on the motherboard.
.It
Sensor states are supported by
.Nm .
The state is reported based on the acceptable range of values
for each individual sensor as suggested by the motherboard manufacturer.
For example, the threshold for the CPU temperature sensor is likely
to be significantly higher than that for the chassis temperature sensor.
.It
Support for newer chips in
.Nm .
Newer chips may miss a native driver,
but should be supported through
.Nm
regardless.
.El
.Pp
As a result, sensor readings from the actual
native hardware monitoring drivers
are redundant when
.Nm
is present, and
may be ignored as appropriate.
Whereas on
some supported operating systems
the native drivers may have to be specifically disabled should
their presence be judged unnecessary,
on
others
the drivers like
.Xr lm 4
are not probed provided that
.Xr acpi 4
is configured and the system potentially supports
the hardware monitoring chip through
.Tn ACPI .
.Sh SEE ALSO
.Xr acpi 4 ,
.Xr envsys 4 ,
.Xr envstat 8
.Sh HISTORY
The
.Nm
driver first appeared in
.Ox 4.7 ,
DragonFly 2.4.1
and
.Nx 6.0 .
An earlier version of the driver, named
.Nm aiboost ,
first appeared in
.Fx 7.0
and
.Nx 5.0 .
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written for
.Ox ,
DragonFly BSD, and
.Nx
by
.An Constantine A. Murenin Aq Lk http://cnst.su/ ,
Raouf Boutaba Research Group,
David R. Cheriton School of Computer Science,
University of Waterloo.
.An Jukka Ruohonen
.Aq jruohonen@iki.fi
later reworked and adjusted the driver to support new
.Tn ASUSTeK
motherboards.
The earlier version of the driver,
.Nm aiboost ,
was written for
.Fx
by
.An Takanori Watanabe
and
adapted to
.Nx
by
.An Juan Romero Pardines .