Starting from i2c versions 2.8.0+, major changes were made to the core structures of the i2c subsystem, which make it incompatible with kernel versions between 2.4.9 and 2.4.24. See: http://www.ensicaen.ismra.fr/~delvare/devel/i2c/ for more details. Therefore, i2c 2.8.0+ will NOT work with kernels between those versions unless the following patches are applied. Please see the supplied URLs to see which unified patches go with which version of the kernel and i2c version. http://www.ensicaen.ismra.fr/~delvare/devel/i2c/linux-2.4.21/linux-2.4.21-i2c-2.8.2.patch.gz http://www.ensicaen.ismra.fr/~delvare/devel/i2c/linux-2.4.22/linux-2.4.22-i2c-2.8.2.patch.gz http://www.ensicaen.ismra.fr/~delvare/devel/i2c/linux-2.4.23/linux-2.4.23-i2c-2.8.3.patch.gz So, obviously there's no unified patch set for i2c-2.8.1, but as long as we get this in 2.8.2, I'll be happy. For now, we need some kernel version detection code in the ebuilds for i2c-2.8* to advise people to hold off (probably should mask these ebuilds as well).
Just to keep you uptodate, here's what i did to get sensors working: Patched /usr/src/linux using http://www.ensicaen.ismra.fr/~delvare/devel/i2c/linux-2.4.23/linux-2.4.23-i2c-2.8.3.patch.gz my kernel version is 2.4.24-ck1 Rebooted, and then emerged i2c-2.8.3 followed by lm-sensors-2.8.3. sensors -A now shows correct output. adm1027-i2c-0-2e Adapter: SMBus I801 adapter at c400 Algorithm: Non-I2C SMBus adapter in0: +1.471 V (min = +0.00 V, max = +3.32 V) in1: +1.515 V (min = +0.00 V, max = +2.99 V) in2: +3.382 V (min = +0.00 V, max = +4.38 V) in3: +5.111 V (min = +0.00 V, max = +6.64 V) in4: +11.797 V (min = +0.00 V, max = +15.94 V) fan1: 2485 RPM (min = 0 RPM) fan2: 0 RPM (min = 0 RPM) fan3: 0 RPM (min = 0 RPM) fan4: 0 RPM (min = 0 RPM) temp1: +36.75
Just to keep you uptodate, here's what i did to get sensors working: Patched /usr/src/linux using http://www.ensicaen.ismra.fr/~delvare/devel/i2c/linux-2.4.23/linux-2.4.23-i2c-2.8.3.patch.gz my kernel version is 2.4.24-ck1 Rebooted, and then emerged i2c-2.8.3 followed by lm-sensors-2.8.3. sensors -A now shows correct output. adm1027-i2c-0-2e Adapter: SMBus I801 adapter at c400 Algorithm: Non-I2C SMBus adapter in0: +1.471 V (min = +0.00 V, max = +3.32 V) in1: +1.515 V (min = +0.00 V, max = +2.99 V) in2: +3.382 V (min = +0.00 V, max = +4.38 V) in3: +5.111 V (min = +0.00 V, max = +6.64 V) in4: +11.797 V (min = +0.00 V, max = +15.94 V) fan1: 2485 RPM (min = 0 RPM) fan2: 0 RPM (min = 0 RPM) fan3: 0 RPM (min = 0 RPM) fan4: 0 RPM (min = 0 RPM) temp1: +36.75°C (low = -127°C, high = +127°C) temp2: +34.75°C (low = -127°C, high = +127°C) temp3: +36.75°C (low = -127°C, high = +127°C) pwm1: 255 pwm2: 255 pwm3: 77 vid: +1.525 V (VRM Version 9.1)
I'm closing this as INVALID as we keep I2C // lm-sensors to the latest version supported by Gentoo sources - also, I2C will and should crash on 2.4.23/2.4.24 because of API mismatches. There is also a big fat warning on the sys-apps/i2c/2.8* ebuilds from whenever they were initially added to Portage to users along location URLs the patches you specified as well a warning that they are not API compatible so I guess this bug is pretty much implemented already... Thanks for filing this bug anyway...
which i2c should be used with gentoo-sources-2.4.25? I think gentoo-sources will no longer be patched for i2c-2.8 maybe >=i2c-2.8.0 should be masked (or ~arch) ?