Hi Uwe,
Uwe Hermann schrieb:
On Sun, Nov 11, 2007 at 06:32:55PM +0100, Frieder Ferlemann wrote:
Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor'... No Trying family `SMSC'... No Trying family `VIA/Winbond/Fintek'... No Trying family `ITE'... Yes Found `ITE IT8705F Super IO Sensors' Success! (address 0x290, driver `it87') Probing for Super-I/O at 0x4e/0x4f Trying family `National Semiconductor'... No Trying family `SMSC'... No Trying family `VIA/Winbond/Fintek'... No Trying family `ITE'... Yes Found `ITE IT8705F Super IO Sensors' Success! (address 0x290, driver `it87')
I've talked to khali (lm-sensors developer) on #linux-sensors and he confirmed that some chips show this behavior, i.e. they respond on _both_ the 0x2e and 0x4e config port. So this is likely neither a bug in superiotool nor in sensors-detect.
I would argue that it's rather a bug in the chip; it makes it a lot harder to detect whether there are _two_ Superio I/Os on a board...
Yes. One could try to guess by the address of the serial port (03f8 (if it's enabled)) and by the offset. I personally would have a slight preference towards a false positive report versus a false negative report. And if the chip is broken it may report as broken:)
Eventually a warning or two could be added (on the second occurrence that the chip likely is lazyly decoded and another one for f.e. serial ports initialized to the same address). (well the second warning is probably overkill)
lm-sensors has no problem with this, it stops scanning for chips as soon as it found one (so it talks to the IT8705F on 0x2e, I assume). For LinuxBIOS we can probably do the same if there's only one chip.
I have no idea how we should handle the case where there are _really_ two IT8705F chips on the same board (but on different config ports). We probably cannot probe for this, so we'll have to hardcode it...
Anyway, added link to the IT8705F dump in the wiki, thanks!
Also many thanks for your effort!)
Greetings, Frieder