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 lines in your 28kernel configuration file: 29.Bd -ragged -offset indent 30.Cd "device acpi" 31.Cd "device aibs" 32.Ed 33.Pp 34Alternatively, to load the driver as a 35module at boot time, place the following lines in 36.Xr loader.conf 5 : 37.Bd -literal -offset indent 38acpi_load="YES" 39aibs_load="YES" 40.Ed 41.Sh DESCRIPTION 42The 43.Nm 44driver provides support for the voltage, temperature and fan sensors 45available through the 46.Tn ATK0110 47.Tn ASOC 48.Tn ACPI 49device 50on 51.Tn ASUSTeK 52motherboards. 53The number of sensors of each type, 54as well as the description of each sensor, 55varies according to the motherboard. 56.Pp 57The driver supports an arbitrary set of sensors, 58provides descriptions regarding what each sensor is used for, 59and reports the current values as well as 60the supposed range specifications of each sensor's input 61as defined by the motherboard manufacturer through 62.Tn ACPI . 63.Pp 64The range specifications are as follows: 65.Bl -bullet 66.It 67Voltage sensors have a lower and an upper range specification. 68.It 69Temperature sensors have two upper specifications. 70.It 71Fan sensors may either have only the lower specification, 72or, depending on the 73.Tn DSDT , 74one lower and one upper specification. 75.El 76.Pp 77Sensor readings and the range specifications are made available through the 78.Xr sysctl 3 79interface, 80and can be monitored with 81.Xr sysctl 8 . 82For example, on an ASUS V3-P5G965 barebone: 83.Bd -literal -offset indent 84> sysctl dev.aibs.0.{volt,temp,fan} 85dev.aibs.0.volt.0: 1192 850 1600 86dev.aibs.0.volt.1: 3312 2970 3630 87dev.aibs.0.volt.2: 5017 4500 5500 88dev.aibs.0.volt.3: 12302 10200 13800 89dev.aibs.0.temp.0: 28.0C 80.0C 95.0C 90dev.aibs.0.temp.1: 55.0C 60.0C 95.0C 91dev.aibs.0.fan.0: 878 600 7200 92dev.aibs.0.fan.1: 0 700 7200 93.Pp 94> sysctl -d dev.aibs.0.{volt,temp,fan} 95dev.aibs.0.volt: 96dev.aibs.0.volt.0: Vcore Voltage 97dev.aibs.0.volt.1: +3.3 Voltage 98dev.aibs.0.volt.2: +5 Voltage 99dev.aibs.0.volt.3: +12 Voltage 100dev.aibs.0.temp: 101dev.aibs.0.temp.0: CPU Temperature 102dev.aibs.0.temp.1: MB Temperature 103dev.aibs.0.fan: 104dev.aibs.0.fan.0: CPU FAN Speed 105dev.aibs.0.fan.1: CHASSIS FAN Speed 106.Ed 107.Pp 108Generally, sensors provided by the 109.Nm 110driver may also be supported by certain other drivers or utilities 111that access the 112.Tn ISA / 113.Tn LPC 114or 115.Tn I2C / 116.Tn SMBus 117devices directly. 118The precise collection of 119.Nm 120sensors is comprised of the sensors 121specifically utilised in the motherboard 122design, which may be supported through 123a combination of one or more physical hardware monitoring chips. 124.Pp 125The 126.Nm 127driver, however, provides the following advantages 128when compared to the native hardware monitoring drivers or other utilities: 129.Bl -bullet 130.It 131Sensor values from 132.Nm 133are expected to be more reliable. 134For example, voltage sensors in many hardware monitoring chips 135can only sense voltage from 0 to 2 or 4 volts, and the excessive 136voltage is removed by the resistors, which may vary with the motherboard 137and with the voltage that is being sensed. 138In 139.Nm , 140the required resistor factors are provided by 141the motherboard manufacturer through 142.Tn ACPI ; 143in the native drivers, the resistor factors 144are encoded into the driver based on the chip manufacturer's recommendations. 145In essence, sensor values from 146.Nm 147are very likely to be identical to the readings from the 148Hardware Monitor screen in the BIOS. 149.It 150Sensor descriptions from 151.Nm 152are more likely to match the markings on the motherboard. 153.It 154Sensor range specifications are supported by 155.Nm . 156The range specification is reported 157for each individual sensor as suggested by the motherboard manufacturer. 158For example, the threshold for the CPU temperature sensor is likely 159to be significantly higher than that for the chassis temperature sensor. 160.It 161Support for newer chips in 162.Nm . 163Newer chips may miss a native driver, 164but should be supported through 165.Nm 166regardless. 167.El 168.Sh SEE ALSO 169.Xr sysctl 3 , 170.Xr acpi 4 , 171.Xr sysctl 8 172.Sh HISTORY 173The 174.Nm 175driver first appeared in 176.Ox 4.7 , 177.Dx 2.5 , 178.Nx 6.0 179and 180.Fx 9.0 . 181.Pp 182An earlier version of the driver, 183.Nm acpi_aiboost , 184first appeared in 185.Fx 7.0 186and 187.Nx 5.0 . 188.Sh AUTHORS 189.An -nosplit 190The 191.Nm 192driver was written for 193.Ox , 194.Dx , 195.Nx 196and 197.Fx 198by 199.An Constantine A. Murenin Aq cnst@FreeBSD.org , 200Raouf Boutaba Research Group, 201David R. Cheriton School of Computer Science, 202University of Waterloo. 203.Pp 204An earlier version of the driver, named 205.Nm acpi_aiboost , 206was written for 207.Fx 208by 209.An Takanori Watanabe . 210