Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

DS20L environmental monitoring


I recently acquired a DS20L and noticed in dmesg that the ALI7101 SMBus
(iic) controller wasn't configured.  I added it to the kernel config,
created /dev/iic and ran i2cscan, which showed up devices at 0x23, 0x2c
to 0x2f, 0x38, 0x4e, and 0x51.  Also, looking on the system board with a
magnifying glass, I found a Philips PCF8574 I/O controller and a Philips
PCF8582C EEPROM chips, along with an ADM9240A on the Adaptec SCSI riser.
I guess that the PCF8574 is at address 0x23, and I can read values from
the 8 registers (although I don't know what they mean).

It was easy to modify i2cscan to to also read or write bytes, so I tried
reading register values in the iic devices.  Beware!  It's possible to
lock up the system by doing this.  I also managed to reset part of the
NVRAM and to set the System Fail LED to be on continuously.  With a bit
of searching, I didn't find any information on which chips are on the iic
bus, but I did find an OpenBSD 3.9 dmesg with lmenv attached to addresses
0x2c to 0x2f.  I've ported their lmenv driver and dmesg on my DS20L now

  alipm0 at pci0 dev 17 function 0: 74KHz clock
  iic0 at alipm0: I2C bus
  lmenv0 at iic0 addr 0x2c: ADM9240 rev 2
  lmenv1 at iic0 addr 0x2d: ADM9240 rev 2
  lmenv2 at iic0 addr 0x2e: ADM9240 rev 2
  lmenv3 at iic0 addr 0x2f: ADM9240 rev 2

Running envstat shows (only lmenv0 shown):

                 Current  CritMax  WarnMax  WarnMin  CritMin  Unit
      +2.5Vin:     2.513                                         V
        Vccp1:     1.617                                         V
         +Vcc:     3.317                                         V
    +5Vin/Vcc:     4.922                                         V
       +12Vin:    12.125                                         V
        Vccp2:     1.167                                         V
     External:       N/A
     Internal:    29.000                                     degC
         FAN1:      8823                                      RPM
         FAN2:      8766                                      RPM

These values correspond to the CPU 0 column in the SRM `show power -verbose`
command, with lmenv1, lmenv2, lmenv3 corresponding to CPU 1, Dimm, and I/O,
respectively.  I've commited the code for the lmenv driver, and the additions
to the alpha configurationl to use it (the lmenv entries are commented out in
the kernel configuration). [#].

So, I need to work out where the other voltage and fan sensors are (Riser
and PSU), how to read the memory chips, and how to turn off the System
Fail LED.  If someone knows how to do the latter, that would be good to



[#]  http://mail-index.NetBSD.org/source-changes/2013/10/15/msg048252.html
   NetBSD: simple; works; documented    /        Sailing at Newbiggin
        http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/

Home | Main Index | Thread Index | Old Index