Attached is a rough approximation of a driver for the Intel AMB FB-DIMM temperature sensors... There is a somewhat lonely, but relevant ticket at http://www.lm-sensors.org/ticket/2143 The sensors exposed on the 5000P chipsets are located in a contiguous range of memory spanning 128k. Logically, this space is split into 2k blocks, each of which representing a potential DIMM. The temperature of a DIMM in this PCIish space is at function 3, offset 0x85. That is, you just have to read [base addr] + 2048*[dimm idx] + 3*256 + 0x85. The temperature is in 0.5 deg C. So for example, 0x10 = 8C. To find the base address of this contiguous area of memory, all you have to do is look at your PCI configuration... It's exposed at device 16, function 0, offset 0x48. This is the device 0x8086:0x25f0. To find your sensors, one can scan the 128k area of memory for what "looks" right. The ticket suggested looking for a vendor id of 0x8086 (Intel) starting the particular 2k slot. This works on the DSBF-D, but I have a Tyan board which is less agreeable. But on both boards, the non-DIMM areas in that space have vendor id:device id equal to 0xffff:0xffff. In other words, we can just look for anything not all ones. I haven't found anything on paper that justifies this, but it works on the boards I have. ;) The attached driver does pretty much just this: it's linked to the 0x8086:0x25f0 id, and it looks in the configuration space for the base address, and scans for valid areas. It then exposes this via sysfs. I used k8temp as a template. It is a bit rough right now. It did work with a recent vintage 2.6.20 kernel, on at least two different boards. Comments/criticisms/flames welcome. Thanks, Jeff Garrett TeamHPC -------------- next part -------------- A non-text attachment was scrubbed... Name: ambtemp.c Type: text/x-csrc Size: 9654 bytes Desc: not available Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20070522/cb93e80c/attachment.bin