MBProbe Version 1.00 Copyright 1998-99 Jonathan Teh Soon Yew http://web.bham.ac.uk/jst829/mbprobe/ What is it? ----------- MBProbe is a program which monitors voltages, temperatures and fan speeds using monitoring chip(s) present on many modern motherboards. Its features include: o Up to 8 voltage, 3 temperature and 3 fan speed readings (subject to the limitations of monitoring chip(s) present). o Automatic detection of monitoring chips. o Small memory footprint. o Setting of nominal voltage and fan speeds with warning thresholds. o Setting of temperature warning limits and offset readings. o Setting of sensor used for each temperature reading. o Temperature display in Celsius or Fahrenheit. o Customisable task when any temperature exceeds critical limit for more than 30 seconds continuously. o Ignores fan warnings for 10 seconds after system comes out of suspend. o Swappable temperature display in status icon on taskbar. o Event and history logs. Requirements ------------ o Microsoft Windows 95, Windows 98, Windows NT 4.0 or Windows 2000 o Motherboard with hardware monitoring capability o Supports one hardware monitoring chip - LM78-based (ISA or SMBus) . Asus AS99127F, Winbond W83783S (SMBus only) . National Semiconductor LM78, LM78-J or LM79 . Winbond W83781D, W83782D, W83627HF - Other SMBus hardware monitoring chips . Analog Devices ADM1025 . Genesys Logic GL518SM, GL520SM . National Semiconductor LM80, LM81 - Heceta 2-based (SMBus) . Analog Devices ADM9240 . Dallas Semiconductor DS1780 - Heceta 3-based (SMBus) . Analog Devices ADM1024 - Temperature monitors (SMBus) . Analog Devices ADM1022 . Fairchild Semiconductor FMS2701 . Texas Instruments THMC50 - Chipset with built-in hardware monitoring . SiS5595 (SiS5591, 530, 5600, 600, 620) . VIA VT82C686A (some Apollo MVP4, Pro, Pro133, KX133) o Supports multiple temperature-only monitoring chips (SMBus) . Analog Devices ADM1020, ADM1021 . Maxim MAX1617, MAX1617A . National Semiconductor LM75, LM84 . Texas Instruments THMC10 o Chipset with SMBus host controller (required for SMBus monitoring chips) o Acer Labs M1533/1543C (some Aladdin IV, IV Plus, V, Pro II, TNT2) o Acer Labs M1535/1535D (some Aladdin TNT2) o AMD-755/756 (AMD-750) o Intel 82371AB/EB (i430TX, i440LX/EX/BX/ZX/GX, i450NX) o Intel 82801AA/AB (i810, i820, i840) o VIA VT82C596A/B (some Apollo Pro, Pro133) o VIA VT82C686A (some Apollo MVP4, Pro, Pro133, KX133) o Optional thermistors to measure temperature (for Winbond chips) o Optional FanTemp to measure temperature using fan inputs Usage ----- Simply start MBProbe from the Windows start menu. The first time it starts, it attempts to automatically configure the CPU voltage and temperature sensors settings. All voltage warnings are enabled as well as motherboard temperature warning. Warnings for CPU and power supply temperature as well as for each fan will be enabled if the relevant sensors are present. If there is a problem with accessing the SMBus on your system, start MBProbe with the "-nosmbus" parameter from the command-line: MBProbe -nosmbus The event log is stored in the file "MBProbeEventLog.txt" and it logs warning events and critical events. The history log is stored in the file "MBProbeHistoryLog.txt" and it stores spot readings taken at regular intervals. Status icon ----------- The status icon shows the current temperature of the selected device. This has a range from 0-199 with the display saturating at either end i.e. if the reading is greater than 199, it will display 199. Left-click to display the main window or right-click to display the context menu. The 'reset warning' option is used to clear the horizontal lines which are displayed after a warning event has occurred. The tooltip displays motherboard temperature, CPU temperature and CPU fan speed. Main window ----------- The main window shows all the readings obtained from the monitoring chip(s). The chips are read every 5 seconds. The check box on the left of each item enables/disables the warning for each reading. The light on the right shows the status of the reading: Grey : Warning disabled Green: OK Red : Warning threshold exceeded- action needed The main window automatically pops-up when a warning threshold has been exceeded. Properties ---------- The properties dialog consists of 4 tabs: o General This displays information about your CPU and monitoring chips. These are autodetected and cannot be modified. The value for the CPU voltage is derived from the CPUID (identification instruction sent to the CPU). o Voltage This allows you to set the nominal voltage for your CPU core and 3.3V I/O. The warning threshold setting limits the deviation of all voltage readings to within that percentage. E.g. a nominal voltage of 2.00V and a 10% warning threshold triggers a warning when the voltage drops below 1.90V or rises above 2.10V. o Temperature The warning limit sets the temperature which, when exceeded, will trigger a warning. The temperature offset is added to the raw temperature reading from the sensor. This is generally only required for Socket-7 CPUs. The sensor input allows you to set the temperature sensor corresponding to each reading. This is to allow for the different sensors adopted by various motherboard manufacturers. Note that only sensors detected on your system are displayed. The CPU thermal diode option is only enabled on certain chips. The W83782D/3S have temperature inputs which can be connected to either thermistors or thermal diodes. Check the correct sensor for those connected to a thermal diode. The ADM1024 has inputs which are either connected to Vccp2 and +2.5V or to a thermal diode. o Fan This allows you to set the nominal fan speed for each fan. Typical values are 2200, 4400 and 8800RPM. Check your fan manufacturer for the correct value, otherwise just take the current reading as the nominal value. The 'warning below' option sets the threshold at which a warning will be triggered. E.g. a 4400RPM nominal speed and 70% threshold will trigger a warning when the fan speed drops below 3080RPM. A fan dropping below 70% of its nominal speed is generally accepted as a 'blocked' fan. The divisor option is due to the way fan speeds are calculated from the values given by the monitoring chip. If you have a fan connected to an input and it shows 0RPM, try selecting a higher fan divisor. The labels option allows you to specify the labels for each fan input. This is due to the fact that labelling is non-standard among different motherboard manufacturers. If you have a FanTemp connected to one of the fan inputs, click Calibrate to adjust the software calibration. o Tasks A warning event can trigger one or more actions: bringing the main window to the top, beeping the speaker, blinking the status icon and logging the warning in the event log. A critical event occurs when any temperature exceeds the value specified above the warning limit for greater than 30 seconds continuously. The system can then be suspended or shutdown. For either event, you can choose to execute a program. Enter the complete pathname to the executable or browse by clicking '...'. The history log can be optionally enabled here. You can also set the time interval as steps of 5 seconds. o Display The temperature(s) displayed in the status icon can be specified here. If more than one temperature input is selected, they will be swapped at the speified interval. The temperature units can be specified as either in Celsius or Fahrenheit. The temperature/fan readings in the tooltip can be specified by checking the appropriate box. Known issues ------------ o Minor cosmetic issues - Changing some settings does not affect the reading/display immediately. - Changing the temperature units does not affect the units in the temperature property sheet immediately. - Changing the temperature units does not affect the headers in the history log. Clear the history log to update the header. - The frequency of swapping the temperature display in the system tray is not exact. This is due to the inaccuracy of the standard timer event. - Viewing a log multiple times will result in multiple copies of Notepad. - If you uncheck all status icon temperatures and click OK, MBProbe will automatically enable the motherboard temperature display. This is to ensure that a temperature will be displayed in the status icon. - Checking too many temperature/fan readings for the tooltip may result in the tooltip being truncated. This is a limitation of Windows and no workaround is available. o NT issues - Suspending the system does not work under NT 4.0 because the OS does not support power management; upgrade to Windows 2000. - Shutting down the system requires the shutdown privilege under NT/W2000. MBProbe attempts to request for this privilege but may not be successful. o Hardware issues - ADM1020 chips will be identified as an ADM1021 as it is compatible. There appears to be no way to distinguish between the 2 in software. - Systems with a VIA Apollo Pro chipset (VT82C691A+VT82C596A) may lock-up when starting MBProbe. If this happens start MBProbe with the "-nosmbus" parameter. If monitoring chips in your system are connected to the SMBus only, then nothing will be detected. Please ask the vendor for a BIOS upgrade to fix this problem. o Untested hardware (programming based on the data sheets): . ALi M1535 . ADM1022, ADM1024, ADM1025 . FMS2701 . THMC50 Feedback is needed. Please report your success/failures, a complete set of readings, motherboard, chip address. Thanks. . ADM1022/4/5, FMS2701: Preliminary datasheets, specs may change. Unsupported ----------- o The following monitoring chips are currently unsupported: . National Semiconductor LM76, LM77 If you have one of these and would like to help out, contact me and I'll give you some test programs to run. o The following SMBus host chipsets are currently unsupported: . SiS 5595B o I2C host chipsets are unsupported. Some examples are: . SiS 5595 (hardware monitoring portion is supported though) . VIA VT82C586B These chipsets only contain an I2C host and depend on the software to simulate the SMBus protocol. This is messy and time consuming to implement and the fact that I don't have the hardware to test it on means support will not be implemented. If anyone has written code for this and would be willing to allow inclusion of it in MBProbe then please contact me. Acknowledgements ---------------- Dale Roberts for the giveio.sys port I/O access driver for NT. Analog Devices for generously supplying free evaluation boards of their hardware monitors. Alex van Kaam (Motherboard Monitor author) for sharing many datasheets (ALi, VIA, Fairchild, TI), programming information and beta testing. Check out his program at http://www.chello.net/a.vankaam/mbmonitor/ Bruce Fishbein (FanTemp designer) for his assistance in FanTemp support in MBProbe and allowing me to host the FanTemp document. Martin Malik (HWiNFO author) for sharing VIA VT82C686A info. Check out his program at http://www.hwinfo.com/ Thanks to the following people for testing beta versions of MBProbe: AlanRay, Ian Ball, Jens Börner, Blurboy, K.K. Chiu, DLKJ, Jason Foreman, Fu Wai Ho, Dominique Jacquel, Yuri Logvinov, Pascal Muller, Rob Muller, Kevin Normoyle, Jader Dullens Santos, Svein Tore Sølvik, Stefan Tobiason, Arnaud Versini, Haagen Waade, Steve Watson, Ernst Weissenborn All those who gave feedback and/or bug reports. Thanks. License ------- MBProbe is free for non-commercial use. MBProbe may be freely distributed as long as the files in this archive are unchanged and no fee is charged for its distribution. No part of this program may be reverse engineered, dissasembled, decompiled, or be used as part of another program. MBProbe is provided "as is" and without any warranty. The author cannot be held responsible for anything that happens to you or your equipment. Use it at your own risk. By using MBProbe, you agree to the terms of this license. Copyright --------- MBProbe and NTInst is Copyright 1998-99 Jonathan Teh Soon Yew giveio.sys is Copyright 1995 Dale Roberts