1.\" $NetBSD: aibs.4,v 1.2 2010/02/09 05:37:25 cnst Exp $ 2.\" $OpenBSD: aibs.4,v 1.4 2009/07/30 06:30:45 jmc Exp $ 3.\" 4.\" Copyright (c) 2009/2010 Constantine A. Murenin <cnst++@FreeBSD.org> 5.\" 6.\" Permission to use, copy, modify, and distribute this software for any 7.\" purpose with or without fee is hereby granted, provided that the above 8.\" copyright notice and this permission notice appear in all copies. 9.\" 10.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17.\" 18.Dd April 4, 2010 19.Dt AIBS 4 20.Os 21.Sh NAME 22.Nm aibs 23.Nd "ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensor" 24.Sh SYNOPSIS 25To compile this driver into the kernel, 26place the following line in your 27kernel configuration file: 28.Bd -ragged -offset indent 29.Cd "device aibs" 30.Ed 31.Pp 32Alternatively, to load the driver as a 33module at boot time, place the following line in 34.Xr loader.conf 5 : 35.Bd -literal -offset indent 36aibs_load="YES" 37.Ed 38.Sh DESCRIPTION 39The 40.Nm 41driver provides support for the voltage, temperature and fan sensors 42available through the 43.Tn ATK0110 44.Tn ASOC 45.Tn ACPI 46device 47on 48.Tn ASUSTeK 49motherboards. 50The number of sensors of each type, 51as well as the description of each sensor, 52varies according to the motherboard. 53.Pp 54The driver supports an arbitrary set of sensors, 55provides descriptions regarding what each sensor is used for, 56and reports the current values as well as 57the supposed range specifications of each sensor's input 58as defined by the motherboard manufacturer through 59.Tn ACPI . 60.Pp 61The range specifications are as follows: 62.Bl -bullet 63.It 64Voltage sensors have a lower and an upper range specification. 65.It 66Temperature sensors have two upper specifications. 67.It 68Fan sensors may either have only the lower specification, 69or, depending on the 70.Tn DSDT , 71one lower and one upper specification. 72.El 73.Pp 74Sensor readings and the range specifications are made available through the 75.Xr sysctl 3 76interface, 77and can be monitored with 78.Xr sysctl 8 . 79For example, on an ASUS V3-P5G965 barebone: 80.Bd -literal -offset indent 81> sysctl dev.aibs.0.{volt,temp,fan} 82dev.aibs.0.volt.0: 1192 850 1600 83dev.aibs.0.volt.1: 3312 2970 3630 84dev.aibs.0.volt.2: 5017 4500 5500 85dev.aibs.0.volt.3: 12302 10200 13800 86dev.aibs.0.temp.0: 28.0C 80.0C 95.0C 87dev.aibs.0.temp.1: 55.0C 60.0C 95.0C 88dev.aibs.0.fan.0: 878 600 7200 89dev.aibs.0.fan.1: 0 700 7200 90.Pp 91> sysctl -d dev.aibs.0.{volt,temp,fan} 92dev.aibs.0.volt: 93dev.aibs.0.volt.0: Vcore Voltage 94dev.aibs.0.volt.1: +3.3 Voltage 95dev.aibs.0.volt.2: +5 Voltage 96dev.aibs.0.volt.3: +12 Voltage 97dev.aibs.0.temp: 98dev.aibs.0.temp.0: CPU Temperature 99dev.aibs.0.temp.1: MB Temperature 100dev.aibs.0.fan: 101dev.aibs.0.fan.0: CPU FAN Speed 102dev.aibs.0.fan.1: CHASSIS FAN Speed 103.Ed 104.Pp 105Generally, sensors provided by the 106.Nm 107driver may also be supported by certain other drivers or utilities 108that access the 109.Tn ISA / 110.Tn LPC 111or 112.Tn I2C / 113.Tn SMBus 114devices directly. 115The precise collection of 116.Nm 117sensors is comprised of the sensors 118specifically utilised in the motherboard 119design, which may be supported through 120a combination of one or more physical hardware monitoring chips. 121.Pp 122The 123.Nm 124driver, however, provides the following advantages 125when compared to the native hardware monitoring drivers or other utilities: 126.Bl -bullet 127.It 128Sensor values from 129.Nm 130are expected to be more reliable. 131For example, voltage sensors in many hardware monitoring chips 132can only sense voltage from 0 to 2 or 4 volts, and the excessive 133voltage is removed by the resistors, which may vary with the motherboard 134and with the voltage that is being sensed. 135In 136.Nm , 137the required resistor factors are provided by 138the motherboard manufacturer through 139.Tn ACPI ; 140in the native drivers, the resistor factors 141are encoded into the driver based on the chip manufacturer's recommendations. 142In essence, sensor values from 143.Nm 144are very likely to be identical to the readings from the 145Hardware Monitor screen in the BIOS. 146.It 147Sensor descriptions from 148.Nm 149are more likely to match the markings on the motherboard. 150.It 151Sensor range specifications are supported by 152.Nm . 153The range specification is reported 154for each individual sensor as suggested by the motherboard manufacturer. 155For example, the threshold for the CPU temperature sensor is likely 156to be significantly higher than that for the chassis temperature sensor. 157.It 158Support for newer chips in 159.Nm . 160Newer chips may miss a native driver, 161but should be supported through 162.Nm 163regardless. 164.El 165.Sh SEE ALSO 166.Xr sysctl 3 , 167.Xr acpi 4 , 168.Xr sysctl 8 169.Sh HISTORY 170The 171.Nm 172driver first appeared in 173.Ox 4.7 , 174.Dx 2.5 , 175.Nx 6.0 176and 177.Fx 9.0 . 178.Pp 179An earlier version of the driver, 180.Nm acpi_aiboost , 181first appeared in 182.Fx 7.0 183and 184.Nx 5.0 . 185.Sh AUTHORS 186.An -nosplit 187The 188.Nm 189driver was written for 190.Ox , 191.Dx , 192.Nx 193and 194.Fx 195by 196.An Constantine A. Murenin Aq Mt cnst@FreeBSD.org , 197Raouf Boutaba Research Group, 198David R. Cheriton School of Computer Science, 199University of Waterloo. 200.Pp 201An earlier version of the driver, named 202.Nm acpi_aiboost , 203was written for 204.Fx 205by 206.An Takanori Watanabe . 207