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 September 23, 2009 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 44ATK0110 45ASOC 46ACPI 47device 48on ASUSTeK motherboards. 49The number of sensors of each type, 50as well as the description of each sensor, 51varies according to the motherboard. 52.Pp 53The driver supports an arbitrary set of sensors, 54provides descriptions regarding what each sensor is used for, 55and reports whether each sensor is within the specifications 56as defined by the motherboard manufacturer through ACPI. 57.Pp 58The 59.Nm 60driver supports sensor states as follows: 61temperature sensors can have a state of 62.Dv OK , 63.Dv WARN , 64.Dv CRIT 65or 66.Dv UNKNOWN ; 67fan and voltage sensors can have a state of 68.Dv OK 69or 70.Dv WARN 71only. 72Temperature sensors that have a reading of 0 73are marked as invalid and their state is set to 74.Dv UNKNOWN , 75whereas all other sensors are always assumed valid. 76Temperature sensors have two upper limits 77.Dv ( WARN 78and 79.Dv CRIT ) , 80fan sensors have either only the lower limit, or 81one lower and one upper limit, 82and voltage sensors always have a lower and an upper limit. 83.Pp 84Sensor values are made available through the 85.Dv HW_SENSORS 86.Xr sysctl 3 87interface, 88and can be monitored with the 89.Xr systat 1 90.Ar sensors 91display, 92.Xr sensorsd 8 93and 94.Xr sysctl 8 95.Ar hw.sensors . 96For example, on an Asus Stricker Extreme motherboard: 97.Bd -literal -offset indent 98$ sysctl hw.sensors.aibs0 99hw.sensors.aibs0.temp0=31.00 degC (CPU Temperature), OK 100hw.sensors.aibs0.temp1=43.00 degC (MB Temperature), OK 101hw.sensors.aibs0.fan0=2490 RPM (CPU FAN Speed), OK 102hw.sensors.aibs0.fan1=0 RPM (CHASSIS FAN Speed), WARNING 103hw.sensors.aibs0.fan2=0 RPM (OPT1 FAN Speed), WARNING 104hw.sensors.aibs0.fan3=0 RPM (OPT2 FAN Speed), WARNING 105hw.sensors.aibs0.fan4=0 RPM (OPT3 FAN Speed), WARNING 106hw.sensors.aibs0.fan5=0 RPM (OPT4 FAN Speed), WARNING 107hw.sensors.aibs0.fan6=0 RPM (OPT5 FAN Speed), WARNING 108hw.sensors.aibs0.fan7=0 RPM (PWR FAN Speed), WARNING 109hw.sensors.aibs0.volt0=1.26 VDC (Vcore Voltage), OK 110hw.sensors.aibs0.volt1=3.25 VDC ( +3.3 Voltage), OK 111hw.sensors.aibs0.volt2=4.95 VDC ( +5.0 Voltage), OK 112hw.sensors.aibs0.volt3=11.78 VDC (+12.0 Voltage), OK 113hw.sensors.aibs0.volt4=1.23 VDC (1.2VHT Voltage), OK 114hw.sensors.aibs0.volt5=1.50 VDC (SB CORE Voltage), OK 115hw.sensors.aibs0.volt6=1.25 VDC (CPU VTT Voltage), OK 116hw.sensors.aibs0.volt7=0.93 VDC (DDR2 TERM Voltage), OK 117hw.sensors.aibs0.volt8=1.23 VDC (NB CORE Voltage), OK 118hw.sensors.aibs0.volt9=1.87 VDC (MEMORY Voltage), OK 119.Ed 120.Pp 121Generally, sensors provided by the 122.Nm 123driver may also be supported by a variety of other drivers, 124such as 125.Xr lm 4 126or 127.Xr it 4 . 128The precise collection of 129.Nm 130sensors is comprised of the sensors 131specifically utilised in the motherboard 132design, which may be supported through 133a combination of one or more physical hardware monitoring chips. 134.Pp 135The 136.Nm 137driver, however, provides the following advantages 138when compared to the native hardware monitoring drivers: 139.Bl -bullet 140.It 141Sensor values from 142.Nm 143are expected to be more reliable. 144For example, voltage sensors in many hardware monitoring chips 145can only sense voltage from 0 to 2 or 4 volts, and the excessive 146voltage is removed by the resistors, which may vary with the motherboard 147and with the voltage that is being sensed. 148In 149.Nm , 150the required resistor factors are provided by 151the motherboard manufacturer through ACPI; 152in the native drivers, the resistor factors 153are encoded into the driver based on the chip manufacturer's recommendations. 154In essence, sensor values from 155.Nm 156are very likely to be identical to the readings from the 157Hardware Monitor screen in the BIOS. 158.It 159Sensor descriptions from 160.Nm 161are more likely to match the markings on the motherboard. 162.It 163Sensor status is supported by 164.Nm . 165The status is reported based on the acceptable range of values 166for each individual sensor as suggested by the motherboard manufacturer. 167For example, the threshold for the CPU temperature sensor is likely 168to be significantly higher than that for the chassis temperature sensor. 169.It 170Support for newer chips in 171.Nm . 172Newer chips may miss a native driver, 173but should be supported through 174.Nm 175regardless. 176.El 177.Pp 178As a result, sensor readings from the actual 179native hardware monitoring drivers 180are redundant when 181.Nm 182is present, and 183may be ignored as appropriate. 184Whereas on 185.Ox 186the native drivers have to be specifically disabled should 187their presence be judged unnecessary, 188on 189.Dx 190the 191.Xr lm 4 192and 193.Xr it 4 194are not probed provided that 195.Xr acpi 4 196is configured and the system potentially supports 197the hardware monitoring chip through ACPI. 198.Sh SEE ALSO 199.Xr systat 1 , 200.Xr sysctl 3 , 201.Xr acpi 4 , 202.Xr intro 4 , 203.Xr sensorsd 8 , 204.Xr sysctl 8 205.Sh HISTORY 206The 207.Nm 208driver first appeared in 209.Ox 4.7 210and 211.Dx 2.5 . 212.Sh AUTHORS 213The 214.Nm 215driver was written for 216.Ox 217and 218.Dx 219by 220.An Constantine A. Murenin Aq http://cnst.su/ , 221David R. Cheriton School of Computer Science, 222University of Waterloo. 223