the new i386 snapshot heading out now contains a few uncommited little pieces which enable a potpourri of i2c goodness. mostly, this will provide some sensor stuff to people who do not have ipmi(4) or esm(4) support.
i2c "sensor" devices appear on lots of machines (not just i386). some might have noticed the recent macppc sensors, well, those were i2c devices too, but the nice thing is the ROM told us where they are on the i2c busses. on other architectures, nothing tells us where these devices exist, so we have to utilize lots of heuristic checking, to try to find them, without messing up other devices. some people trying this in the past have messed up machines, but we are trying to be really careful and move slowly to not let such a situation happen. to get this support working, we depend on working i2c bus drivers (which we now have 3 i386 ones) and then on i2c sensor-chip drivers (almost 20 now). but it also requires this nasty heuristic code which carefully probes the busses to decide which drivers match which chips. this cannot be done like PCI or ISA matching, but don't worry about the details.) so go ahead, try it out, and see if on some of your machines you see a few new sensors (using "sysctl hw.sensors"). if things go weird, i would appreciate a private mail (that means just to me, but I will show it to 2-3 other people) which details: 1. what kind of machine, 2 lines of text 2. full dmesg, please 3. hw.sensors output note, not all machines have these; in particular, most laptops do not because they hide this stuff behind the keyboard controller (kind of like a per-vendor custom undocumented ESM-style thing, but maybe kind of supplied via ACPI on some machines... we'll see someday). that said, i am happy to see this on a SuperMicro machine here.. (minus some debug messages you will see, and which I need in the mail): piixpm0 at pci0 dev 15 function 0 "ServerWorks CSB5" rev 0x93 iic0 at piixpm0 admtemp0 at iic0 addr 0x18: Xeon admtemp1 at iic0 addr 0x29: Xeon lmenv0 at iic0 addr 0x2d: LM87 rev 6 lmenv1 at iic0 addr 0x2e: LM87 rev 6 hw.sensors.0=admtemp0, Xeon, temp, 25.00 degC / 77.00 degF hw.sensors.1=admtemp1, Xeon, temp, 26.00 degC / 78.80 degF hw.sensors.2=lmenv0, +2.5Vin, volts_dc, 1.67 V hw.sensors.3=lmenv0, Vccp1, volts_dc, 0.00 V hw.sensors.4=lmenv0, +Vcc, volts_dc, 3.28 V hw.sensors.5=lmenv0, +5Vin/Vcc, volts_dc, 0.00 V hw.sensors.6=lmenv0, +12Vin, volts_dc, 12.12 V hw.sensors.7=lmenv0, Vccp2, volts_dc, 0.00 V hw.sensors.9=lmenv0, Int. Temp., temp, 29.00 degC / 84.20 degF hw.sensors.10=lmenv0, FAN1, fanrpm, 3341 RPM hw.sensors.11=lmenv0, FAN2, fanrpm, 3341 RPM hw.sensors.12=lmenv1, +2.5Vin, volts_dc, 2.55 V hw.sensors.13=lmenv1, Vccp1, volts_dc, 1.49 V hw.sensors.14=lmenv1, +Vcc, volts_dc, 3.28 V hw.sensors.15=lmenv1, +5Vin/Vcc, volts_dc, 5.05 V hw.sensors.16=lmenv1, +12Vin, volts_dc, 11.62 V hw.sensors.17=lmenv1, Vccp2, volts_dc, 1.52 V hw.sensors.19=lmenv1, Int. Temp., temp, 26.00 degC / 78.80 degF hw.sensors.20=lmenv1, FAN1, fanrpm, 5192 RPM hw.sensors.21=lmenv1, FAN2, fanrpm, 5273 RPM Yeah, that's even the temperatures right on the Xeon processor chips; right on the chip......