MBProbe Version 0.42 Copyright 1998-99 Jonathan Teh Soon Yew http://www.focus-asia.com/home/jonathanteh/mbprobe/ http://web.bham.ac.uk/jst829/mbprobe/ What is it? ----------- MBProbe is a program which monitors voltages, temperatures and fan speeds using hardware monitoring chip(s) available on many modern motherboards. Its features include: - Up to 7 voltage, 3 temperature and 3 fan speed readings (subject to the limitations of hardware monitoring chip(s) present). - Automatic detection of monitoring chips. - Setting of nominal voltage and fan speeds with warning thresholds. - Setting of temperature warning limits and offset readings. - Setting of sensor used for each temperature reading. - Temperature display in Celsius or Fahrenheit. - Automatic suspension of system when critical temperature is exceeded for more than 30 seconds continuously. - Ignores fan warnings for 10 seconds after system comes out of suspend. - Temperature display in status icon on taskbar. Minimum requirements -------------------- - Microsoft Windows 95, Windows 98, Windows NT 4.0 or Windows 2000 - Motherboard with hardware monitoring capability (see list below) - Supports hardware monitoring chips (ISA or SMBus): - National Semiconductor LM78, LM78-J or LM79 - National Semiconductor LM80 (SMBus only) - Winbond W83781D, W83782D - Winbond W83783S (SMBus only) - Supports Heceta 2-spec hardware monitoring chips (SMBus): - Analog Devices ADM9240 - Dallas Semiconductor DS1780 - National Semiconductor LM81 - Supports Heceta 3-spec hardware monitoring chips (SMBus): - Analog Devices ADM1024 - Supports chipset with built-in hardware monitoring: - Silicon Integrated Systems SiS5595 - Supports temperature monitoring chips (SMBus): - Analog Devices ADM1021 - Maxim MAX1617, MAX1617A - National Semiconductor LM75 - Chipset with SMBus host controller (for SMBus monitoring chip support) - Intel 82371AB/EB (part of 430TX, 440LX, 440EX, 440BX, 440ZX and 440GX) Archive contents ---------------- mbprobe.exe - MBProbe executable readme.txt - This file faq.txt - List of Frequently Asked Questions (and answers) whatsnew.txt - MBProbe revision history giveio.sys - Port I/O kernel driver for Windows NT/2000 ntinst.exe - Installer for the above driver Installation ------------ 1. Create a directory e.g. 'C:\Program Files\MBProbe'. 2. Extract the files into a that directory using your favourite archiver e.g. Info-ZIP, PKZip or WinZip. 3. Create shortcuts in the start menu and, optionally, in the Startup group. 4. If you are using Windows NT 4 or Windows 2000, you need to install the giveio.sys to allow MBProbe access to the I/O ports. Ensure you are logged on as a member of the administrators group. Then, run NTINST which automatically installs the driver as a service. Uninstallation -------------- 1. If you are using Windows NT 4 or Windows 2000, you need to uninstall the giveio.sys driver. Ensure you are logged on as a member of the administrators group. Then, run "NTINST -uninstall" from the command prompt to automatically uninstall the driver. 2. Delete the directory you installed MBProbe into e.g. 'C:\Program Files\MBProbe'. 3. Remove the shortcuts from the start menu and the Startup group. 4. Remove the registry key HKEY_LOCAL_MACHINE\Software\Jonathan Teh\MBProbe. 5. MBProbe files, program group and registry settings have been removed. 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. The CPU temperature offset may need to be adjusted if you have a Socket-7 processor. Check the temperature in your BIOS and the temperature given by MBProbe and take the difference between them as the offset. 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 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 critical temperature can be set at any value above the warning limit which, when exceeded for greater than 30 seconds continuously, will optionally place the system in suspend mode. 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. 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. o Display This allows you to specify the temperature display to be in Celsius or Fahrenheit. It also allows you to change the temperature displayed in the status icon on the taskbar. Motherboards ------------ The following shows the monitoring chip(s) available on motherboards. This is not a comprehensive list. If MBProbe works with your motherboard, contact me with the details and I will add it to this list. Please also help to fill out the bits with a question mark. Those marked with an asterisk (*) have been verified to work: Hardware Motherboard CPU Monitor Temperature Temperature Abit *BH6 : LM79 LM79 *BM6 : W83782D W83782D:1 W83782D:3 BX6 : LM79 LM79 *BX6 rev 2 : W83782D W83782D:1 W83782D:3 Asus KN97X series : LM78 LM78 *P2B series : W83781D W83781D:1 W83781D:2 P2L97 series : LM78 LM78 *P5A series : W83781D W83781D:1 W83781D:2 SP98AGP-X : SiS5595 SiS5595 *TX97 series : LM78 LM78 LM75:1 Epox *EP-MVP3G : W83781D W83781D:3 W83781D:2? Gigabyte GA-5SG100 : SiS5595 SiS5595 GA-686BX : W83781D W83781D:1? W83781D:2? GA-6BA : W83781D W83781D:1? W83781D:2? GA-6BXC : W83781D W83781D:1? W83781D:2? GA-6BXD : W83781D W83781D:1? W83781D:2? GA-6BXDS : W83781D W83781D:1? W83781D:2? GA-6BXDU : W83782D W83782D:1? W83782D:2? GA-6BXE : W83782D W83782D:1? W83782D:2? GA-6BXS : W83781D W83781D:1? W83781D:2? GA-6BXU : W83782D W83782D:1? W83782D:2? GA-BX2000 : W83782D W83782D:1? W83782D:2? GA-686LX2 : W83781D W83781D:1? W83781D:2? GA-686LX4 : W83781D W83781D:1? W83781D:2? Intel Note: The hardware monitoring feature is optional and may not be present *PD440FX : LM78 LM78 PR440FX : LM78 LM78 AL440LX : LM78 LM78 DK440LX : LM79 LM78 LM440LX : LM79 LM78 NX440LX : LM78/79 LM78/79 SE440BX : Heceta2 Heceta2 SE440BX-2 : Heceta2 Heceta2 RC440BX : Heceta2 Heceta2 Pentium MMX Mobile Module: N/A N/A LM75:0 (this is a module which includes the mobile 430TX chipset) Mobile Pentium II : N/A N/A MAX1617:8R Pentium II Mobile Module: N/A MAX1617:9 MAX1617:9R (this is a module which includes the mobile 440BX chipset) QDI Note: The hardware monitoring feature is optional and may not be present Brilliant I : LM80 LM80 MAX1617:?R Brilliant IS : LM80 LM80 MAX1617:?R Brilliant IV : LM80 LM80 2xMAX1617:?R Brilliant V : W83782D W83782D:1? W83782D:2? Excellent II : W83781D W83781D:1? W83781D:2? Legend V : LM78 LM78 Legend IV : LM78 LM78 LM75:? Legend III : LM78 LM78 LM75:? Legend I : LM78 LM78 LM75:? ZillioX 5 : W83782D W83782D:1? W83782D:2? Monitoring chip features ------------------------ The following table shows the number of inputs available for each type of reading: Note: On-die refers to the monitoring chip die. Hardware monitoring chips (external temperature requires additional thermistors/diodes, W83781D supports thermistors only) On-die External Voltage Fan Temperature Temperature VID Heceta2 6 2 1 0 5 Heceta3 6 2 1 2 5 LM78 7 3 1 0 4 LM79 7 3 1 0 5 LM80 7 2 1 0 N/A W83781D 7 3 0 3 5 W83782D 9 3 0 3 5 W83783S 6 3 0 2 5 SiS5595 4 2 1 0 N/A Temperature monitoring chips (external temperature requires additional diodes) On-die External Temperature Temperature ADM1021 1 1 LM75 1 N/A MAX1617 1 1 Known issues ------------ - The following chips are untested and are based on the data sheets: - National Semiconductor LM80 - Silicon Integrated Systems SiS5595 Feedback is needed. Please report your success/failures, a complete set of readings, motherboard, chip address. Thanks. - SiS5595: I'm not sure of the order of the voltage inputs and the values of the attenuation resistors. I'm assuming that it's 2.5V, 3.3V, 5V and 12V, in that order, and using the same attenuation resistor values as the Winbond W83781D. Could someone advise me if that's correct or otherwise? - LM80: I'm not sure of the order of the voltage inputs and the values of the attenuation resistors. I'm assuming that it's Vccp1/2, 3.3V, 5V, 12V, -12V and -5V, in that order, and using the same attenuation resistor values as suggested in the data sheet. Could someone advise me if that's correct or otherwise? Unsupported ----------- - The following monitoring chips are currently unsupported: - Genesys Logic GL518SM, GL520SM - The following SMBus host chipsets are currently unsupported: - ALi M1533, M1543 - VIA VT82C596A If you have any datasheets or info on programming these chips it would be very much appreciated. I have been unable to obtain data sheets from those manufacturers. - I2C host chipsets are unsupported. Some examples are: - SiS 5595 (the 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. Contact ------- You may contact the author at j.teh@iname.com. Please put "MBProbe" in the subject header. I do read all e-mails but may not be able to answer all of them. Please read the documentation and FAQ to see if that solves your problem before e-mailing. Feedback is needed from users with a monitoring chip listed as having preliminary support (see known issues) as well as Windows NT users. When submitting bug reports, please include the following information: - Operating system (e.g. Windows 95, 98 or NT4) - Motherboard brand and model (e.g. Asus P2B, Abit BX6) - Hardware monitoring chip(s) detected by MBProbe - Hardware monitoring chip(s) actually present in system - All readings reported by MBProbe - What the actual readings are and how they were measured (e.g. BIOS/probe) - Description of problem - Your attempts to solve it Thank you. Acknowledgements ---------------- Dale Roberts for the giveio.sys port I/O access driver. W.C.Fang (Winbond) for supplying the preliminary W83782D and W83783S data sheets. Sean Gilmour (Analog Devices, Ireland) for verifying that MBProbe works with the ADM1021, ADM1024 and ADM9240. I should be receiving some evaluation boards soon :) Thanks to the following people for testing beta versions of MBProbe: AlanRay, ArnaudV, Blurboy, DLKJ, ErnstW, KevinN, SteveW, YuriL (if you would like your full name here instead, let me know) All those who gave feedback and/or bug reports. Thanks. References ---------- Hardware Monitor Chip Data Sheets - Analog Devices ADM1021 (Rev.0, C3354-3, Jul 98) - Analog Devices ADM1024 (Rev PrE) - Analog Devices ADM9240 (Rev.0, C3295-8, Mar 98) (obtained from www.analog.com) - Dallas Semiconductor DS1780 (28 Jul 1998) (obtained from www.dallas.com) - Heceta 2 ASIC (Rev 1.03, 30 Dec 1997) - Intel 82371AB (PIIX4) (290562-001, Apr 1997) - Intel 82371AB (PIIX4) Specification Update (297738-008, Oct 1998) - Intel 82371EB (PIIX4E) Specification Update (290635-005, Oct 1998) - Intel Mobile Pentium II Processor and Pentium II Processor Mobile Module Thermal Sensor Interface Specifications (AP-825, 243724-001, April 1998) (obtained from developer.intel.com) - Maxim MAX1617 (19-1265; Rev 1; Mar 1998) - Maxim MAX1617A (19-4508; Rev 0; Jan 1999) (obtained from www.maxim-ic.com) - National Semiconductor LM75 (DS012658, May 1998) - National Semiconductor LM78 (DS012873, Mar 1998) - National Semiconductor LM79 (DS100036, Mar 1998) - National Semiconductor LM80 (DS100040, Feb 1998) - National Semiconductor LM81 (DS100072, Sep 1998) (obtained from www.national.com) - Silicon Integrated Systems SiS5595 (Preliminary, Rev 1.0, 24 Dec 1997) (obtained from www.sis.com.tw) - Winbond W83781D (version 0.63, 13 Jan 98) - Winbond W83782D (version 0.5, Jul 98) - Winbond W83783S (version 0.5, Jul 98) (obtained from www.winbond.com.tw) PCI Local Bus Specification (Rev 2.1, 1 Jun 1995) System Management Bus specification sheets - System Management Bus Specification (Rev 1.0, 15 Feb 1995) - System Management Bus Specification (Rev 1.1, 11 Dec 1998) (obtained from www.sbs-forum.org/smbus/specs/) D. Roberts, "Direct Port I/O and Windows NT", Dr. Dobbs Journal, May 1996. Various CPU info sheets at www.sandpile.org Legalities ---------- MBProbe is freeware and 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 as a result of using this program. Use it at your own risk.