For a few months I have wanted to write a driver for an upcoming
sensor device... but we have never seen any of them in the real world.
There is something exciting about writing a driver for devices before
they hit the market.

JEDEC JC-42.4 defines a temperature sensor that is wired onto a memory
SO-DIMM.  This sensor chip is supposed to be wired onto the i2c bus in
parallel with the SPD-encoded serial eeprom, or, there are some
vendors who have started making single chips that contain both
functions in one package.  Look at any dimm -- bunch of big memory
chips and one little 8-pin chip?  That is the SPD that tells your
system what the characteristics of that memory are.

However, I couldn't find any of these fancy new dimms on the market.
Well, eventually I did find one, but I did not order one:

    download.micron.com/pdf/datasheets/modules/ddr2/hvf9c64_128x72rh.pdf

Unfortunately, noone has mailed in a dmesglog entry which indicated
that their machine might have these (that is why those iic debug
messages persist in dmesglogs; we are still trying to write drivers
for devices found in the wild).  But I did find the docs for the chips
on the net (well -- 5 out of 6 products), and finally had a friend
help me by ordering some chips.

Armed with a new soldering iron which had a much smaller tip and good
temperature control, I attached one of these chips onto a DIMM, and
managed to get it to work in my machine.

    http://theos.com/deraadt/jc-42.4-pic1.jpg
    http://theos.com/deraadt/jc-42.4-pic2.jpg

As soon as I was able to see registers in the debug logs, I wrote a
driver to support the chip.

One of the chips I got (NPX SE98) has a .65mm pitch between the 2mm
long legs, and that was a total bear to solder -- in fact I killed one
of the two chips that I received.  The other (ATD7408) had a .5mm
pitch but was leg-less, and I have determined that soldering these by
hand is completely impossible.

>From the new sdtemp(4) manual page:

     Current sensor chips include the NPX SE97, NPX SE98, Microchip MCP9805,
     Microchip MCP98242, and AD ADT7408.

(at least I hope it will work on the others I did not test yet)

There is another chip by st.com called the STTS424 which I have not
been able to find any documentation for (I need to know the
vendor/product numbers for two of the registers).  Perhaps someone can
bug st.com on my behalf and get a useful data sheet out of them which
describes the registers in detail.

All these chips just supply one temperature sensor.

Reply via email to