Monitoring a Dell Precision 420
News and Events
• Palm Pilot
• Weather Station
• Temp. Readings
• Precision 420
• Cisco 675
• Loc Notes
• GPS Find
I am using NetBSD 2.0, where there is good substructure but few chips supported for environmental monitoring. The alternative in the BSD world is a user space program called mbmon. I also used dmidecode to probe the BIOS for information on monitoring. Both are available in the package system. I'm still working on alterations to mbmon for the DS1780, in the mean time I can give you working patches for the DS1780 if you contact me.
Semiconductor DS1780 chips. but no other hardware monitoring semiconductors. Using mbmon compiled with ALLOW_UNKNOWN defined allowed me to confirm the operation of atleast one DS1780. Ultimately I found that both DS1780s are used to monitor motherboard temperatures, power supply voltages and power supply fans. Mbmon also alerted me to the existence of one ADM1021/MAX1617 like temperature monitor. The temperature fluctuations on this device would seem to indicate that it monitors one of the CPUs. I could not determine what is controlling the CPU or Chassis fans. However I did note that the Card Cage/Lower Fan is off under moderate operation.
Using the mbmon -D (debugging) mode there are several candidate SMBus slave addresses.
[Intel8XX(ICH/ICH2/ICH3/ICH4/ICH5/ICH6), IO-Base:0xCCD0] SMBus slave 0x30(0x18) found... SMBus slave 0x58(0x2C) found... SMBus slave 0x5A(0x2D) found... SMBus slave 0x60(0x30) found... SMBus slave 0x62(0x31) found... SMBus slave 0x64(0x32) found... SMBus slave 0x66(0x33) found... SMBus slave 0x98(0x4C) found... SMBus slave 0xA0(0x50) found... SMBus slave 0xA2(0x51) found... SMBus slave 0xA4(0x52) found... SMBus slave 0xA6(0x53) found... SMBus slave 0xC6(0x63) found... Set SMBus slave address: 0x58 Probing Winbond/Asus/LM78/79 chip: CR40:0x01, CR41:0x00, CR42:0x10, CR43:0x00 CR44:0x10, CR45:0x00, CR46:0x00, CR47:0xF7 CR48:0x2C, CR49:0x80, CR4A:0xFF, CR4B:0x81 CR4C:0xFF, CR4D:0xFF, CR4E:0xFF, CR4F:0xFF CR56:0xFF, CR58:0xFF, CR59:0xFF, CR5D:0xFF CR3E:0xDA, CR13:0xFF, CR17:0xFF, CRA1:0xFF CR20:0xC2, CR22:0x57, CR23:0xC1, CR24:0xC0 CR27:0x23, CR29:0x55, CR2A:0x92, CR2B:0xCD
The DS1780s can be found at 0x58 and 0x5A, while the ADM1021 is at 0x98. Monitoring the first DS1780 (0x58) gives the following:
Temp.= 35.5, 0.0, 0.0; Rot.= 1939, 1985, 0 Vcore = 2.52, 1.68; Volt. = 1.48, 5.02, 12.00, 1.68, 0.00
Monitoring the second DS1780 (0x5A) gives the following:
Temp.= 33.5, 0.0, 0.0; Rot.= 0, 0, 0 Vcore = 0.91, 1.47; Volt. = 3.28, 3.30, 11.94, 1.78, 0.00
Monitoring the ADM1021 (0x98) gives the following:
where the second temperature is the CPU temperature.Temp.= 36.0, 29.0, 0.0; Rot.= 0, 0, 0 Vcore = 0.00, 0.00; Volt. = 0.00, 0.00, 0.00, 0.00, 0.00
After some correlation using dmidecode, and physically manipulating the fans for testing purposes (blowing compressed air over them) I came up with the following probe definitions: