Intro
This page describes what I found out about the ASB100 "Bach" chip while trying
to figure out how to improve support for this chip under Linux
(using
lmsensors).
It appears Asus will not release the datasheet for this chip.
The ASB100 chip is an ASIC made by Asus for hardware health monitoring.
The chip that is on my motherboard says:
ASUS
ASB100A BACH
TSV2497IAE 0220
ASUSTeK Attansic
Further specs:
A7V333 motherboard, BIOS version 1014.002, AsusProbe 2.18.01.
Support in lmsensors
From version 2.6.5 onwards, the ASB100 is recognised as an AS99127 chip by the
w83781d driver.
This is what is shown by 'sensors':
... to be filled in
And this is shown by 'sensors' when the w83781d module was inserted
with option 'init=0' after a fresh reboot:
as99127f-i2c-0-2d
Adapter: SMBus Via Pro adapter at e800
Algorithm: Non-I2C SMBus adapter
VCore 1: +1.80 V (min = +1.39 V, max = +2.08 V)
VCore 2: +1.80 V (min = +1.39 V, max = +2.08 V)
+3.3V: +3.29 V (min = +2.96 V, max = +3.63 V)
+5V: +4.91 V (min = +4.49 V, max = +5.51 V)
+12V: +12.58 V (min = +9.54 V, max = +14.40 V)
-12V: -13.15 V (min = -0.00 V, max = -0.00 V)
-5V: -4.98 V (min = -0.00 V, max = -0.00 V)
fan1: 3426 RPM (min = -1 RPM, div = 2)
fan2: 0 RPM (min = 337500 RPM, div = 2)
fan3: 0 RPM (min = -1 RPM, div = 2)
temp1: +33°C (limit = +80°C, hysteresis = +75°C)
temp2: +47.5°C (limit = +55°C, hysteresis = +51°C)
temp3: +7.2°C (limit = +40°C, hysteresis = +38°C)
vid: +1.850 V
alarms:
beep_enable:
Sound alarm enabled
Registers
The ASB100 appears to be similar to the W83781d and LM78 type of chips.
However the temperature for the CPU (temp2) seems to be different from the
one that the BIOS and the AsusProbe utility report.
It is however equal to the one that the windows program SpeedFan reports.
It appears that register 0x17 contains the desired temperature.
This register is in a range undocumented by the w83781d and lm78 datasheets.
The lm78 datasheet refers to the range 0x00-0x1F as 'POST code storage RAM'.
The other registers in this area also seem to contain meaningful data.
Reg | Data | Comment |
0x00 | 0xB8 | |
0x01 | 0xBC * | ??? |
0x02 | 0xCF * | VCore??? |
0x03 | 0xCF * | VCore??? |
0x04 | 0xCF * | VCore??? |
0x05 | 0xCE | VCore??? |
0x06 | 0x00 |
0x07 | 0xCD |
0x08 | 0xA7 |
0x09 | 0xF8 |
0x0A | 0xA5 |
0x0B | 0xAC |
0x0C | 0x8C |
0x0D | 0x68 |
0x0E | 0x54 |
0x0F | 0xF8 |
0x10 | 0xA5 |
0x11 | 0xF8 |
0x12 | 0xA5 |
0x13 | 0xFF |
0x14 | 0x00 |
0x15 | 0x00 |
0x16 | 0x00 |
0x17 | 0x32 * | CPU temperature |
0x18 | 0x50 | CPU temp limit? |
0x19 | 0x4B | CPU temp hysteresis? |
0x1A | 0x21 * | Motherboard temperature? |
0x1B | 0x50 | Motherboard temp limit? |
0x1C | 0x4B | Motherboard temp hysteresis? |
0x1D | 0x00 |
0x1E | 0x00 |
0x1F | 0x00 |
Values indicated with an asterisk (*) are the ones that I have seen variation in.
The other values always seem to be same between consecutive reads.
Links and references
- lmsensors homepage
- LM78 datasheet (see lmsensors page)
- w83781d datasheet (see lmsensors page)
Last change Sunday, September 22, 2002