Мда, вот и дожил я до 2.6.22 и имею теперь такую удручающую ситуацию (собственно, и до 2.6.22 имел).
Чипсет Intel 945GM (82801G?) на ноуте Toshiba A100-811 Satellite. ОС - КUbuntu FF 7.04 - ядро самосборное. Проблема в том, что никак не обнаруживаются датчики температуры, точнее, что-то обнаруживается, но работает странно (libsensors 2.10). Это, быть может, не самое худшее. Гораздо хуже, что есть такой бзик, при возврате из suspend-2-ram || hibernate вентиляторы начинают работать на полных оборотах. Во-первых, шумно, а во-вторых - аккумулятор. Вентилятор контроллировать тоже не получается. Честно признаюсь, слабо знаю, что есть SMBus, i2c - пытался разузнать, но так и не допёр кто кому и для чего нужен и кто в моём случае может быть виноват, и кого искать.
Вываливаю всё, что накопилось по этому поводу, извините, что много. Кое-что порезал, что явно не имеет отношения к теме, но всё равно текста многовато, так что, извиняйте:
Код: Выделить всё
Linux devel 2.6.22 #2 SMP Fri Jul 13 09:35:41 EEST 2007 i686 GNU/Linux
-=-
f0x@devel:~/tmp$ sudo lspci -vv
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
Subsystem: Toshiba America Info Systems Unknown device ff10
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort>SERR- <PERR>TAbort- <TAbort- <MAbort>SERR- <PERR>TAbort- <TAbort- <MAbort+ <SERR- <PERR>Reset- FastB2B-
Capabilities: [50] Subsystem: Toshiba America Info Systems Unknown device ff10
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
Subsystem: Toshiba America Info Systems Unknown device ff10
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort>SERR- <PERR>TAbort- <TAbort- <MAbort>SERR- <PERR-
Interrupt: pin B routed to IRQ 20
Region 4: I/O ports at 18c0 [size=32]
-=-
f0x@devel:~/tmp$ sudo perl ./sensors-detect
# sensors-detect revision $Revision$
We can start with probing for (PCI) I2C or SMBus adapters.
Do you want to probe now? (YES/no):
Probing for PCI bus adapters...
Use driver `i2c-i801' for device 0000:00:1f.3: Intel 82801G ICH7
We will now try to load each adapter module in turn.
Module `i2c-i801' already loaded.
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.
To continue, we need module `i2c-dev' to be loaded.
Do you want to load `i2c-dev' now? (YES/no):
Module loaded successfully.
We are now going to do the I2C/SMBus adapter probings. Some chips may
be double detected; we choose the one with the highest confidence
value in that case.
Next adapter: SMBus I801 adapter at 18c0 (i2c-0)
Do you want to scan it? (YES/no/selectively):
Client found at address 0x44
Probing for `Maxim MAX6633/MAX6634/MAX6635'... No
Client found at address 0x50
Handled by driver `eeprom' (already loaded), chip type `eeprom'
(note: this is probably NOT a sensor chip!)
Some chips are also accessible through the ISA I/O ports. We have to
write to arbitrary I/O ports to probe them. This is usually safe though.
Yes, you do have ISA I/O ports even if you do not have any ISA slots!
Do you want to scan the ISA I/O ports? (YES/no):
Probing for `National Semiconductor LM78' at 0x290... No
Probing for `National Semiconductor LM78-J' at 0x290... No
Probing for `National Semiconductor LM79' at 0x290... No
Probing for `Winbond W83781D' at 0x290... No
Probing for `Winbond W83782D' at 0x290... No
Probing for `Silicon Integrated Systems SIS5595'... No
Probing for `VIA VT82C686 Integrated Sensors'... No
Probing for `VIA VT8231 Integrated Sensors'... No
Probing for `IPMI BMC KCS' at 0xca0... No
Probing for `IPMI BMC SMIC' at 0xca8... No
Some Super I/O chips may also contain sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no):
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor'... No
Trying family `SMSC'... Yes
Found unknown chip with ID 0x3503
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'... No
Some CPUs or memory controllers may also contain embedded sensors.
Do you want to scan for them? (YES/no):
AMD K8 thermal sensors... No
Intel Core family thermal sensor... Success!
(driver `coretemp')
Intel AMB FB-DIMM thermal sensor... No
Now follows a summary of the probes I have just done.
Just press ENTER to continue:
Driver `coretemp' (should be inserted):
Detects correctly:
* Chip `Intel Core family thermal sensor' (confidence: 9)
I will now generate the commands needed to load the required modules.
Just press ENTER to continue:
To make the sensors modules behave correctly, add these lines to
/etc/modprobe.conf:
#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----
To load everything that is needed, add this to some /etc/rc* file:
#----cut here----
# Chip drivers
modprobe coretemp
# sleep 2 # optional
/usr/bin/sensors -s # recommended
#----cut here----
-=-
f0x@devel:~/tmp$ sudo sensors
coretemp-isa-0000
Adapter: ISA adapter
coretemp-isa-0001
Adapter: ISA adapter
В /proc есть такие файлы: /proc/acpi/thermal_zone/TZ0[0-1]/temperature. Не совсем понимаю, чья там температура и кто и откуда её берёт, в то же время, для вентилятора никаких датчиков нет. Есть снова /proc/acpi/fan/FAN0/state где пишется статус: on || off. Как его отключать/включать вручную - ХЗ, не говоря уже о том, чтобы он регулировался автоматически.
Всё, что имело отношение к i2c скомпилено модулями.
Извиняюсь за путанность. Просто почти ничерта в этом не понимаю (никогда сталкиваться не приходилось, ибо для персоналок все эти энергосберегающие рюшки не очень нужны были ИМХО). И заранее благодарю всех, кто решится ответить