AIBS(4) Kernel Interfaces Manual AIBS(4)
aibs -- ASUSTeK AI Booster voltage, temperature, and fan sensor
aibs* at acpi?
The aibs driver provides support for voltage, temperature, and fan
sensors available as an ACPI device on ASUSTeK motherboards. The number
of sensors of each type, as well as the description of each sensor,
varies according to the motherboard.
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
The aibs driver supports envsys(4) sensor states as follows:
o Voltage sensors can have a state of `valid', `critunder', or
`critover'; temperature sensors can have a state of `valid',
`warnover', `critover', or `invalid'; and fan sensors can have a
state of `valid', `warnunder', or `warnover'.
o Temperature sensors that have a reading of 0 are marked `invalid',
whereas all other sensors are always assumed valid.
o Voltage sensors have a lower and an upper limit, `critunder' and
`critover', temperature sensors have two upper limits, `warnover' and
`critover', whereas fan sensors may either have only the lower limit
`warnunder', or, depending on the vendor's ACPI implementation, one
lower and one upper limit, `warnunder' and `warnover'.
Sensor values and limits are made available through the envsys(4)
interface, and can be monitored with envstat(8). For example, on an ASUS
$ 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
Generally, sensors provided by the aibs driver may also be supported by a
variety of other drivers, such as lm(4) or itesio(4). The precise
collection of aibs 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.
The aibs driver, however, provides the following advantages when compared
to the native hardware monitoring drivers:
o Sensor values from aibs 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 aibs, the required
resistor factors are provided by the motherboard manufacturer through
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 aibs are very likely to be identical to
the readings from the Hardware Monitor screen in the BIOS.
o Sensor descriptions from aibs are more likely to match the markings
on the motherboard.
o Sensor states are supported by aibs. 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.
o Support for newer chips in aibs. Newer chips may miss a native
driver, but should be supported through aibs regardless.
As a result, sensor readings from the actual native hardware monitoring
drivers are redundant when aibs 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 lm(4) are not probed
provided that acpi(4) is configured and the system potentially supports
the hardware monitoring chip through ACPI.
acpi(4), envsys(4), envstat(8)
The aibs driver first appeared in OpenBSD 4.7, DragonFly 2.4.1 and
NetBSD 6.0. An earlier version of the driver, named aiboost, first
appeared in FreeBSD 7.0 and NetBSD 5.0.
The aibs driver was written for OpenBSD, DragonFly BSD, and NetBSD by
Constantine A. Murenin <http://cnst.su/>, Raouf Boutaba Research Group,
David R. Cheriton School of Computer Science, University of Waterloo.
Jukka Ruohonen <jruohonenATiki.fi> later reworked and adjusted the driver
to support new ASUSTeK motherboards. The earlier version of the driver,
aiboost, was written for FreeBSD by Takanori Watanabe and adapted to
NetBSD by Juan Romero Pardines.
NetBSD 6.1.5 June 12, 2011 NetBSD 6.1.5