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