1.\" $OpenBSD: aibs.4,v 1.4 2009/07/30 06:30:45 jmc Exp $ 2.\" 3.\" Copyright (c) 2009 Constantine A. Murenin <cnst+dfly@bugmail.mojo.ru> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd February 9, 2010 18.Dt AIBS 4 19.Os 20.Sh NAME 21.Nm aibs 22.Nd "ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensor" 23.Sh SYNOPSIS 24To compile this driver into the kernel, 25place the following lines in your 26kernel configuration file: 27.Bd -ragged -offset indent 28.Cd "device acpi" 29.Cd "device aibs" 30.Ed 31.Pp 32Alternatively, to load the driver as a 33module at boot time, place the following lines in 34.Xr loader.conf 5 : 35.Bd -literal -offset indent 36acpi_load="YES" 37aibs_load="YES" 38.Ed 39.Sh DESCRIPTION 40The 41.Nm 42driver provides support for the voltage, temperature and fan sensors 43available through the 44.Tn ATK0110 45.Tn ASOC 46.Tn ACPI 47device 48on 49.Tn ASUSTeK 50motherboards. 51The number of sensors of each type, 52as well as the description of each sensor, 53varies according to the motherboard. 54.Pp 55The driver supports an arbitrary set of sensors, 56provides descriptions regarding what each sensor is used for, 57and reports whether each sensor is within the specifications 58as defined by the motherboard manufacturer through 59.Tn ACPI . 60.Pp 61The 62.Nm 63driver supports sensor states as follows: 64.Bl -bullet 65.It 66Temperature sensors can have a state of 67.Dv OK , 68.Dv WARN , 69.Dv CRIT 70or 71.Dv UNKNOWN ; 72fan and voltage sensors can have a state of 73.Dv OK 74or 75.Dv WARN 76only. 77.It 78Temperature sensors that have a reading of 0 79are marked 80.Dv invalid 81and their state is set to 82.Dv UNKNOWN , 83whereas all other sensors are always assumed valid. 84.It 85Temperature sensors have two upper limits 86.Dv ( WARN 87and 88.Dv CRIT ) , 89fan sensors may have either only the lower limit, 90or, depending on the 91.Tn DSDT , 92one lower and one upper limit, 93and voltage sensors always have a lower and an upper limit. 94.El 95.Pp 96Sensor values are made available through the 97.Dv HW_SENSORS 98.Xr sysctl 3 99interface, 100and can be monitored with the 101.Xr systat 1 102.Ar sensors 103display, 104.Xr sensorsd 8 105and 106.Xr sysctl 8 107.Ar hw.sensors . 108For example, on an Asus Stricker Extreme motherboard: 109.Bd -literal -offset indent 110$ sysctl hw.sensors.aibs0 111hw.sensors.aibs0.temp0=31.00 degC (CPU Temperature), OK 112hw.sensors.aibs0.temp1=43.00 degC (MB Temperature), OK 113hw.sensors.aibs0.fan0=2490 RPM (CPU FAN Speed), OK 114hw.sensors.aibs0.fan1=0 RPM (CHASSIS FAN Speed), WARNING 115hw.sensors.aibs0.fan2=0 RPM (OPT1 FAN Speed), WARNING 116hw.sensors.aibs0.fan3=0 RPM (OPT2 FAN Speed), WARNING 117hw.sensors.aibs0.fan4=0 RPM (OPT3 FAN Speed), WARNING 118hw.sensors.aibs0.fan5=0 RPM (OPT4 FAN Speed), WARNING 119hw.sensors.aibs0.fan6=0 RPM (OPT5 FAN Speed), WARNING 120hw.sensors.aibs0.fan7=0 RPM (PWR FAN Speed), WARNING 121hw.sensors.aibs0.volt0=1.26 VDC (Vcore Voltage), OK 122hw.sensors.aibs0.volt1=3.25 VDC ( +3.3 Voltage), OK 123hw.sensors.aibs0.volt2=4.95 VDC ( +5.0 Voltage), OK 124hw.sensors.aibs0.volt3=11.78 VDC (+12.0 Voltage), OK 125hw.sensors.aibs0.volt4=1.23 VDC (1.2VHT Voltage), OK 126hw.sensors.aibs0.volt5=1.50 VDC (SB CORE Voltage), OK 127hw.sensors.aibs0.volt6=1.25 VDC (CPU VTT Voltage), OK 128hw.sensors.aibs0.volt7=0.93 VDC (DDR2 TERM Voltage), OK 129hw.sensors.aibs0.volt8=1.23 VDC (NB CORE Voltage), OK 130hw.sensors.aibs0.volt9=1.87 VDC (MEMORY Voltage), OK 131.Ed 132.Pp 133Generally, sensors provided by the 134.Nm 135driver may also be supported by a variety of other drivers, 136such as 137.Xr lm 4 138or 139.Xr it 4 . 140The precise collection of 141.Nm 142sensors is comprised of the sensors 143specifically utilised in the motherboard 144design, which may be supported through 145a combination of one or more physical hardware monitoring chips. 146.Pp 147The 148.Nm 149driver, however, provides the following advantages 150when compared to the native hardware monitoring drivers: 151.Bl -bullet 152.It 153Sensor values from 154.Nm 155are expected to be more reliable. 156For example, voltage sensors in many hardware monitoring chips 157can only sense voltage from 0 to 2 or 4 volts, and the excessive 158voltage is removed by the resistors, which may vary with the motherboard 159and with the voltage that is being sensed. 160In 161.Nm , 162the required resistor factors are provided by 163the motherboard manufacturer through 164.Tn ACPI ; 165in the native drivers, the resistor factors 166are encoded into the driver based on the chip manufacturer's recommendations. 167In essence, sensor values from 168.Nm 169are very likely to be identical to the readings from the 170Hardware Monitor screen in the BIOS. 171.It 172Sensor descriptions from 173.Nm 174are more likely to match the markings on the motherboard. 175.It 176Sensor status is supported by 177.Nm . 178The status is reported based on the acceptable range of values 179for each individual sensor as suggested by the motherboard manufacturer. 180For example, the threshold for the CPU temperature sensor is likely 181to be significantly higher than that for the chassis temperature sensor. 182.It 183Support for newer chips in 184.Nm . 185Newer chips may miss a native driver, 186but should be supported through 187.Nm 188regardless. 189.El 190.Pp 191As a result, sensor readings from the actual 192native hardware monitoring drivers 193are redundant when 194.Nm 195is present, and 196may be ignored as appropriate. 197Whereas on 198.Ox 199the native drivers have to be specifically disabled should 200their presence be judged unnecessary, 201on 202.Dx 203the 204.Xr lm 4 205and 206.Xr it 4 207are not probed provided that 208.Xr acpi 4 209is configured and the system potentially supports 210the hardware monitoring chip through 211.Tn ACPI . 212.Sh SEE ALSO 213.Xr systat 1 , 214.Xr sysctl 3 , 215.Xr acpi 4 , 216.Xr intro 4 , 217.Xr sensorsd 8 , 218.Xr sysctl 8 219.Sh HISTORY 220The 221.Nm 222driver first appeared in 223.Ox 4.7 224and 225.Dx 2.5 . 226.Sh AUTHORS 227The 228.Nm 229driver was written for 230.Ox 231and 232.Dx 233by 234.An Constantine A. Murenin Aq Lk http://cnst.su/ , 235Raouf Boutaba Research Group, 236David R. Cheriton School of Computer Science, 237University of Waterloo. 238