The Sun V210 and V240 have environmental monitoring devices, as the ALOM is able to view this information. However, the firmware doesn't contain any sensors, which we can see from the boot information (re-ordered to be in ascending address order) or from the firmware tree. Running i2cscan shows more devices (27):
Address | Name | Compatible | OFW | Notes |
---|---|---|---|---|
0x0a | - | - | no | unknown device |
0x0b | i2c-bridge | SUNW,i2c-imax | yes | unknown device |
0x0c | i2c-bridge | SUNW,i2c-imax | yes | unknown device |
0x11 | - | - | no | unknown device |
0x22 | gpio | i2c-pca9555 | yes | 16-bit I/O - pin connections not known |
0x23 | gpio | i2c-pca9555 | yes | 16-bit I/O - pin connections not known |
0x25 | gpio | i2c-pca9555 | yes | 16-bit I/O - pin connections not known |
0x2e | - | - | no | unknown device |
0x30 | - | - | no | unknown device |
0x34 | gpio | i2c-pca9555 | yes | 16-bit I/O - pin connections not known |
0x38 | gpio | i2c-pca9555 | yes | 16-bit I/O - pin connections not known |
0x44 | gpio | i2c-pca9555 | yes | 16-bit I/O - pin connections not known |
0x4e | - | - | no | unknown device |
0x51 | motherboard-fru-prom | i2c-at24c64 | yes | 8K EEPROM |
0x52 | power-supply-fru-prom | i2c-at24c64 | yes | 8K EEPROM |
0x54 | chassis-fru-prom | i2c-at24c64 | yes | 8K EEPROM |
0x57 | - | - | no | unknown device |
0x58 | power-supply-fru-prom | i2c-at24c64 | yes | 8K EEPROM |
0x5b | dimm-spd | i2c-at34c02 | yes | SPD memory |
0x5c | dimm-spd | i2c-at34c02 | yes | SPD memory |
0x5d | dimm-spd | i2c-at34c02 | yes | SPD memory |
0x5e | dimm-spd | i2c-at34c02 | yes | SPD memory |
0x63 | dimm-spd | i2c-at34c02 | yes | SPD memory |
0x64 | dimm-spd | i2c-at34c02 | yes | SPD memory |
0x65 | dimm-spd | i2c-at34c02 | yes | SPD memory |
0x66 | dimm-spd | i2c-at34c02 | yes | SPD memory |
0x68 | rscrtc | i2c-ds1307 | yes | Clock chip |
0x69 | - | - | no | unknown device |
The GPIO's pins are likely to be attached to things like the keyswitch position, system LED's, disk LED's, power supply LED's and status, and the current sensor.
There a 7 fans, 3 temperatures and 9 voltages to monitor, so it's possible that there are one or two hardware monitoring chips present. The most likely seems to be a chips at addresss 0x2e and/or 0x4e, as most sensors have those addresses.
Whilst using i2cscan, I noticed that pcfiic had a bug causing it to return a match on every address with i2cscan's quick write. This turned out to be a simple fix.
Next steps are to attach the GPIO's, attempt to find which pins are connected to which sensors, and attempt to find the other chips that are at the addresses not shown by the firmware - the device at address 0x57 is likely to be an EEPROM of some sort. One possibility is to port OpenBSD's sensor scanning code.
sc> showenvironment =============== Environmental Status =============== -------------------------------------------------------------------------------- System Temperatures (Temperatures in Celsius): -------------------------------------------------------------------------------- Sensor Status Temp LowHard LowSoft LowWarn HighWarn HighSoft HighHard -------------------------------------------------------------------------------- MB.P0.T_CORE OK 51 -- -- -- 84 89 96 MB.P1.T_CORE OK 43 -- -- -- 84 89 96 MB.T_ENC OK 15 -6 -3 5 40 48 51 -------------------------------------- Front Status Panel: -------------------------------------- Keyswitch position: NORMAL -------------------------------------------------------- System Indicator Status: -------------------------------------------------------- MB.LOCATE MB.SERVICE MB.ACT -------------------------------------------------------- OFF ON OFF -------------------------------------------- System Disks: -------------------------------------------- Disk Status Service OK2RM -------------------------------------------- HDD0 OK OFF OFF HDD1 NOT PRESENT OFF OFF HDD2 NOT PRESENT OFF OFF HDD3 NOT PRESENT OFF OFF ---------------------------------------------------------- Fans (Speeds Revolution Per Minute): ---------------------------------------------------------- Sensor Status Speed Warn Low ---------------------------------------------------------- F0.RS OK 5720 -- 1000 F1.RS OK 5720 -- 1000 F2.RS OK 5869 -- 1000 MB.P0.F0.RS OK 16071 2000 2000 MB.P0.F1.RS OK 16071 2000 2000 MB.P1.F0.RS OK 17763 2000 2000 MB.P1.F1.RS OK 16071 2000 2000 -------------------------------------------------------------------------------- Voltage sensors (in Volts): -------------------------------------------------------------------------------- Sensor Status Voltage LowSoft LowWarn HighWarn HighSoft -------------------------------------------------------------------------------- MB.P0.V_CORE OK 1.48 -- 1.26 1.54 -- MB.P1.V_CORE OK 1.48 -- 1.26 1.54 -- MB.V_VTT OK 1.24 -- 1.17 1.43 -- MB.V_GBE_+2V5 OK 2.50 -- 2.25 2.75 -- MB.V_GBE_CORE OK 1.20 -- 1.08 1.32 -- MB.V_VCCTM OK 2.54 -- 2.25 2.75 -- MB.V_+2V5 OK 2.49 -- 2.34 2.86 -- MB.V_+1V5 OK 1.51 -- 1.35 1.65 -- MB.BAT.V_BAT OK 2.92 -- 2.70 -- -- -------------------------------------------- Power Supply Indicators: -------------------------------------------- Supply Active Service OK-to-Remove -------------------------------------------- PS0 ON OFF OFF PS1 OFF OFF OFF ------------------------------------------------------------------------------ Power Supplies: ------------------------------------------------------------------------------ Supply Status Underspeed Overtemp Overvolt Undervolt Overcurrent ------------------------------------------------------------------------------ PS0 OK OFF OFF OFF OFF OFF PS1 No Input Power OFF OFF OFF OFF OFF ---------------------- Current sensors: ---------------------- Sensor Status ---------------------- MB.FF_SCSI OK
pcfiic0 at ebus0 addr 320-321 ipl 2e iic0 at pcfiic0: I2C bus i2c-bridge at iic0 addr 0x0b not configured i2c-bridge at iic0 addr 0x0c not configured gpio at iic0 addr 0x22 not configured gpio at iic0 addr 0x23 not configured gpio at iic0 addr 0x25 not configured seeprom4 at iic0 addr 0x28: nvram: size 8192 gpio at iic0 addr 0x34 not configured gpio at iic0 addr 0x38 not configured gpio at iic0 addr 0x44 not configured seeprom0 at iic0 addr 0x51: motherboard-fru-prom: size 8192 seeprom3 at iic0 addr 0x52: power-supply-fru-prom: size 8192 seeprom1 at iic0 addr 0x54: chassis-fru-prom: size 8192 seeprom2 at iic0 addr 0x58: power-supply-fru-prom: size 8192 spdmem0 at iic0 addr 0x5b spdmem0: DDR SDRAM (registered), data ECC, 1GB, 333MHz (PC-2700) spdmem1 at iic0 addr 0x5c spdmem1: DDR SDRAM (registered), data ECC, 1GB, 333MHz (PC-2700) spdmem2 at iic0 addr 0x5d spdmem2: DDR SDRAM (registered), data ECC, 1GB, 333MHz (PC-2700) spdmem3 at iic0 addr 0x5e spdmem3: DDR SDRAM (registered), data ECC, 1GB, 333MHz (PC-2700) spdmem4 at iic0 addr 0x63 spdmem4: DDR SDRAM (registered), data ECC, 1GB, 333MHz (PC-2700) spdmem5 at iic0 addr 0x64 spdmem5: DDR SDRAM (registered), data ECC, 1GB, 333MHz (PC-2700) spdmem6 at iic0 addr 0x65 spdmem6: DDR SDRAM (registered), data ECC, 1GB, 333MHz (PC-2700) spdmem7 at iic0 addr 0x66 spdmem7: DDR SDRAM (registered), data ECC, 1GB, 333MHz (PC-2700) rscrtc at iic0 addr 0x68 not configured
-^- More notes -^-