# Empty /proc/acpi/thermal_zone [SOLVED]

## danvari

hello!

my /proc/acpi/thermal_zone folder is empty, so i cannot check the cpu temperature. is this safe? the kernel config sais it is not because it can damage my cpu. so i hope you can help me. here some infos:

```
localhost stephan # acpitool -er

 You invoked acpitool with an unknown option. Type 'acpitool -h' or 'acpitool --help' for info. 

  Kernel version : 2.6.24-gentoo-r   -    ACPI version : 20070126

  -----------------------------------------------------------

  Battery #1     : present

    Remaining capacity : 5100 mAh, 100.0%

    Design capacity    : 5100 mAh

    Last full capacity : 5100 mAh

    Present rate       : 0 mA

    Charging state     : charged

    Battery type       : rechargeable, Li-Ion

    Model number       : PA3465U 

    Serial number      : 3658Q

  AC adapter     : on-line

  Fan            : <not available>

  CPU type               : Intel(R) Core(TM)2 Duo CPU     T5250  @ 1.50GHz 

  Min/Max frequency      : 1000/1500 MHz

  Current frequency      : 1500 MHz

  Frequency governor     : ondemand 

  Freq. scaling driver   : acpi-cpufreq 

  Cache size             : 2048 KB

  Bogomips               : 2995.09 

  Bogomips               : 2992.36 

  # of CPU's found       : 2

  Processor ID           : 0

  Bus mastering control  : yes

  Power management       : yes

  Throttling control     : yes

  Limit interface        : yes

  Active C-state         : C3

  C-states (incl. C0)    : 4

  Usage of state C1      : 300 (0.1 %)

  Usage of state C2      : 11799 (2.0 %)

  Usage of state C3      : 571319 (97.9 %)

  T-state count          : 8

  Active T-state         : T0

  Processor ID           : 1

  Bus mastering control  : yes

  Power management       : yes

  Throttling control     : yes

  Limit interface        : yes

  Active C-state         : C3

  C-states (incl. C0)    : 4

  Usage of state C1      : 170 (0.0 %)

  Usage of state C2      : 14935 (1.3 %)

  Usage of state C3      : 552145 (48.5 %)

  T-state count          : 8

  Active T-state         : T0

  Thermal info   : <not available>

   Device   S-state     Status   Sysfs node

  ---------------------------------------

  1. HDEF     S3    disabled  pci:0000:00:1b.0

  2. PXSX     S3    disabled  

  3. PXSX     S3    disabled  pci:0000:06:00.0

  4. USB1     S3    disabled  pci:0000:00:1d.0

  5. USB2     S3    disabled  pci:0000:00:1d.1

  6. USB3     S3    disabled  pci:0000:00:1d.2

  7. USB4     S3    disabled  pci:0000:00:1a.0

  8. EHC1     S3    disabled  pci:0000:00:1d.7

  9. EHC2     S3    disabled  pci:0000:00:1a.7

```

```
localhost stephan # dmesg | grep Thermal

CPU0: Thermal monitoring handled by SMI

CPU1: Thermal monitoring enabled (TM2)

```

```
localhost stephan # dmesg | grep ACPI

 BIOS-e820: 000000007fed0000 - 000000007fee3000 (ACPI NVS)

ACPI: RSDP 000F7240, 0024 (r2 LENOVO)

ACPI: XSDT 7FED889B, 008C (r1 LENOVO TP-68     6040000  LTP        0)

ACPI: FACP 7FEDFBD2, 00F4 (r3 TOSCPL CRESTLNE  6040000 ALAN        1)

ACPI: DSDT 7FED9B6A, 5FF4 (r2 TOSCPL CRESTLNE  6040000 INTL 20060608)

ACPI: FACS 7FEE2FC0, 0040

ACPI: APIC 7FEDFCC6, 0068 (r1 INTEL  CRESTLNE  6040000 LOHR       5A)

ACPI: HPET 7FEDFD2E, 0038 (r1 INTEL  CRESTLNE  6040000 LOHR       5A)

ACPI: MCFG 7FEDFD66, 003C (r1 INTEL  CRESTLNE  6040000 LOHR       5A)

ACPI: TCPA 7FEDFDA2, 0032 (r1 Intel  CRESTLNE  6040000 LOHR       5A)

ACPI: TMOR 7FEDFDD4, 0026 (r1 PTLTD            6040000 PTL         3)

ACPI: SLIC 7FEDFDFA, 0176 (r1 LENOVO TP-68     6040000 TBD         1)

ACPI: APIC 7FEDFF70, 0068 (r1 PTLTD      APIC    6040000  LTP        0)

ACPI: BOOT 7FEDFFD8, 0028 (r1 PTLTD  $SBFTBL$  6040000  LTP        1)

ACPI: SSDT 7FED98BD, 02AD (r1 SataRe SataAhci     1000 INTL 20050624)

ACPI: SSDT 7FED8EB3, 025F (r1  PmRef  Cpu0Tst     3000 INTL 20050624)

ACPI: SSDT 7FED8E0D, 00A6 (r1  PmRef  Cpu1Tst     3000 INTL 20050624)

ACPI: SSDT 7FED8927, 04E6 (r1  PmRef    CpuPm     3000 INTL 20050624)

ACPI: BIOS bug: multiple APIC/MADT found, using 0

ACPI: If "acpi_apic_instance=2" works better, notify linux-acpi@vger.kernel.org

ACPI: PM-Timer IO Port: 0x1008

ACPI: Local APIC address 0xfee00000

ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)

ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)

ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])

ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])

ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])

ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)

ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)

ACPI: IRQ0 used by override.

ACPI: IRQ2 used by override.

ACPI: IRQ9 used by override.

ACPI: HPET id: 0x8086a201 base: 0xfed00000

Using ACPI (MADT) for SMP configuration information

ACPI: Core revision 20070126

ACPI: bus type pci registered

ACPI: EC: Look up EC in DSDT

ACPI: BIOS _OSI(Linux) query ignored

ACPI: DMI System Vendor: LENOVO

ACPI: DMI Product Name: 0769BFG

ACPI: DMI Product Version: 3000 N200                       

ACPI: DMI Board Name: IEL10

ACPI: DMI BIOS Vendor: LENOVO

ACPI: DMI BIOS Date: 06/01/2007

ACPI: Please send DMI info above to linux-acpi@vger.kernel.org

ACPI: If "acpi_osi=Linux" works better, please notify linux-acpi@vger.kernel.org

ACPI: Interpreter enabled

ACPI: (supports S0 S3 S5)

ACPI: Using IOAPIC for interrupt routing

ACPI: EC: non-query interrupt received, switching to interrupt mode

ACPI: EC: GPE = 0x1c, I/O: command/status = 0x66, data = 0x62

ACPI: EC: driver started in interrupt mode

ACPI: PCI Root Bridge [PCI0] (0000:00)

PCI quirk: region 1000-107f claimed by ICH6 ACPI/GPIO/TCO

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEGP._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP02._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP03._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP04._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]

ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 *5 6 7 10 12 14 15)

ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 11 12 14 15) *10

ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 *7 10 12 14 15)

ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 11 12 14 15) *10

ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12 14 15) *0, disabled.

ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 11 12 14 15) *10

ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 10 12 14 15) *11

ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 7 *11 12 14 15)

pnp: PnP ACPI init

ACPI: bus type pnp registered

pnp: PnP ACPI: found 10 devices

ACPI: ACPI bus type pnp unregistered

PCI: Using ACPI for IRQ routing

ACPI: PCI Interrupt 0000:00:01.0[A] -> GSI 16 (level, low) -> IRQ 16

ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 17 (level, low) -> IRQ 17

ACPI: PCI Interrupt 0000:00:1c.1[B] -> GSI 16 (level, low) -> IRQ 16

ACPI: PCI Interrupt 0000:00:1c.2[C] -> GSI 18 (level, low) -> IRQ 18

ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 19 (level, low) -> IRQ 19

ACPI: AC Adapter [ACAD] (on-line)

ACPI: Battery Slot [BAT1] (battery present)

ACPI: Power Button (FF) [PWRF]

ACPI: Lid Switch [LID0]

ACPI: Power Button (CM) [PWRB]

ACPI: SSDT 7FED9641, 01B4 (r1  PmRef  Cpu0Ist     3000 INTL 20050624)

ACPI: SSDT 7FED9112, 04AA (r1  PmRef  Cpu0Cst     3001 INTL 20050624)

ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3])

ACPI: Processor [CPU0] (supports 8 throttling states)

ACPI: SSDT 7FED97F5, 00C8 (r1  PmRef  Cpu1Ist     3000 INTL 20050624)

ACPI: SSDT 7FED95BC, 0085 (r1  PmRef  Cpu1Cst     3000 INTL 20050624)

ACPI: CPU1 (power states: C1[C1] C2[C2] C3[C3])

ACPI: Processor [CPU1] (supports 8 throttling states)

ACPI: PCI Interrupt 0000:00:1f.1[A] -> GSI 19 (level, low) -> IRQ 19

ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 19

ACPI: PCI Interrupt 0000:06:00.0[A] -> GSI 19 (level, low) -> IRQ 19

ACPI: PCI Interrupt 0000:00:1a.0[A] -> GSI 16 (level, low) -> IRQ 16

ACPI: PCI Interrupt 0000:08:06.0[A] -> <7>PCI: Setting latency timer of device 0000:00:1a.0 to 64

ACPI: PCI Interrupt 0000:00:1a.1[B] -> GSI 21 (level, low) -> IRQ 21

ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 23 (level, low) -> IRQ 23

ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 19

ACPI: PCI Interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 18

ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 22

ACPI: PCI Interrupt 0000:00:1a.7[C] -> GSI 18 (level, low) -> IRQ 18

ACPI: PCI Interrupt 0000:00:1d.7[A] -> GSI 23 (level, low) -> IRQ 23

ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16

```

so you can see, the thermal zone has been found!

```
localhost stephan # ls /proc/acpi/

ac_adapter  button               event  info            sleep

alarm       dsdt                 fadt   power_resource  thermal_zone

battery     embedded_controller  fan    processor       wakeup

```

i do not know how to post the whole kernel config, so i try to post those otions that might influence:

```
#

# Power management options

#

CONFIG_PM=y

# CONFIG_PM_LEGACY is not set

# CONFIG_PM_DEBUG is not set

CONFIG_PM_SLEEP_SMP=y

CONFIG_PM_SLEEP=y

CONFIG_SUSPEND_SMP_POSSIBLE=y

CONFIG_SUSPEND=y

CONFIG_HIBERNATION_SMP_POSSIBLE=y

# CONFIG_HIBERNATION is not set

CONFIG_ACPI=y

CONFIG_ACPI_SLEEP=y

CONFIG_ACPI_PROCFS=y

CONFIG_ACPI_PROCFS_POWER=y

# CONFIG_ACPI_SYSFS_POWER is not set

CONFIG_ACPI_PROC_EVENT=y

CONFIG_ACPI_AC=y

CONFIG_ACPI_BATTERY=y

CONFIG_ACPI_BUTTON=y

CONFIG_ACPI_FAN=y

# CONFIG_ACPI_DOCK is not set

CONFIG_ACPI_PROCESSOR=y

CONFIG_ACPI_HOTPLUG_CPU=y

CONFIG_ACPI_THERMAL=y

# CONFIG_ACPI_ASUS is not set

# CONFIG_ACPI_TOSHIBA is not set

CONFIG_ACPI_BLACKLIST_YEAR=0

# CONFIG_ACPI_DEBUG is not set

CONFIG_ACPI_EC=y

CONFIG_ACPI_POWER=y

CONFIG_ACPI_SYSTEM=y

CONFIG_X86_PM_TIMER=y

CONFIG_ACPI_CONTAINER=y

# CONFIG_ACPI_SBS is not set

```

i compiled in support for the core 2 duo temperature monitor in "hardware monitoring" (i have got a lenovo n200, core 2 duo) and i read i have support for i2c/i2c-device so i compiled that also...

if you need more infos, just tell me  :Smile:  i searched in the forums but did not find anything useful for me...Last edited by danvari on Sun Apr 06, 2008 4:39 pm; edited 1 time in total

----------

## pappy_mcfae

First things first, you need to install basic hardware monitoring capability in the kernel. If you're using make xconfig, just check the basic "Hardware Monitoring" option. Don't setup drivers yet unless you implicitly know which sensor chipsets your computer has. That will come later.

Second, emerge lm_sensors. Once it is emerged, type "sensors-detect" and follow the prompts. Sensors-detect does what it says it does. It detects monitoring chipsets and sets them up to work in a config file it writes once it figures out which chipsets you are using. Be sure to write those chips down. You will need to know them for the next step.

Once you know the sensors your machine has, reconfigure your kernel with the chips and sensors detected by sensors-detect. Be advised to compile them as modules. Do not compile them directly into the kernel. lm_sensors will start the proper modules when invoked at boot time. 

To check to see if things work, type /etc/init.d/lm_sensors start. That should populate your /proc/acpi/thermal_zone directory. Once you see that it works, then type rc-update add lm_sensors boot. That will make the sensors come up at boot time.

Blessed be!

Pappy

----------

## danvari

do i have to compile every option in hardware monitoring as module so sensor detect can detect my sensors?

i followed your instructions, but i does not work. here is my lm_sensors config generated by lm_sensors:

```
LOADMODULES=yes

INITSENSORS=yes

MODULE_0=coretemp

```

i compiled coretemp (thats support for core2duo temperature monitoring) as module and started /etc/init.d/lm_sensors start:

```
localhost stephan # /etc/init.d/lm_sensors start

 * Loading lm_sensors modules...

 *   Loading coretemp ...                                                         [ ok ]

 * Initializing sensors ...                                                       [ ok ]

localhost stephan # 

```

```
localhost stephan # lsmod

Module                  Size  Used by

coretemp                6912  0 

i2c_dev                 6856  0 

ipv6                  235560  12 

snd_seq_oss            29504  0 

snd_seq_midi_event      7296  1 snd_seq_oss

snd_seq                48960  4 snd_seq_oss,snd_seq_midi_event

snd_seq_device          7252  2 snd_seq_oss,snd_seq

snd_pcm_oss            36192  0 

snd_mixer_oss          14976  1 snd_pcm_oss

acpi_cpufreq            7504  2 

usbhid                 19332  0 

nvidia               8840548  26 

i2c_core               20288  2 i2c_dev,nvidia

ohci1394               28532  0 

ieee1394               81616  1 ohci1394

ide_cd                 36384  0 

cdrom                  32616  1 ide_cd

snd_hda_intel         348004  2 

snd_pcm                66376  2 snd_pcm_oss,snd_hda_intel

snd_timer              20104  2 snd_seq,snd_pcm

snd                    51048  12 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_intel,snd_pcm,snd_timer

soundcore               7200  1 snd

snd_page_alloc          8592  2 snd_hda_intel,snd_pcm

sg                     29144  0 

uhci_hcd               22616  0 

ehci_hcd               29324  0 

usbcore               116328  3 usbhid,uhci_hcd,ehci_hcd

tg3                   105732  0 

localhost stephan # 

```

same again:

```
localhost stephan # dmesg | grep Thermal

CPU0: Thermal monitoring handled by SMI

CPU1: Thermal monitoring enabled (TM2)

localhost stephan # 

```

```
localhost stephan # ls /proc/acpi/thermal_zone/

localhost stephan # 

```

edit:

i remembered i did a sensors-detect on my ubuntu machine and there it took a lot of time (~ 10 minutes or so) .... now it took me 15 seconds or so....?!?!?!

----------

## danvari

i have searched in other forums and there somebody said that core 2 duos does not support /proc/acpi/thermal_zone anymore....is that true? in that case.....where can i see my cpu temperature?? and is it safe to use my gentoo?? i do not crash my cpu because it is too hot...

----------

## danvari

ok i've found out that core2duo does not support /proc/acpi/thermal_zone anymore.....i just typed "sensors" in the console and there i could see my temperature  :Razz: ...

----------

## pappy_mcfae

 *danvari wrote:*   

> i have searched in other forums and there somebody said that core 2 duos does not support /proc/acpi/thermal_zone anymore....is that true? in that case.....where can i see my cpu temperature?? and is it safe to use my gentoo?? i do not crash my cpu because it is too hot...

 Amazingly enough, it's true. There is no /proc/acpi/thermal_zone anymore. I actually thought I saw it, but I just looked, and while the directory exists, it's completely unpopulated.

As for having the ability to see your CPU temp, you'd have to install a package like ksensors (if you are running KDE). There are also similar packages for Gnome, XFCE4 and other windows managers as well. Once you have the sensor packages set up, you'll be able to see what's going on inside the CPU chip temperature wise.

Oh, and don't worry so much about your system melting down. If it's a desktop/tower system, the installed fan/heat sink combo does an amazing job of cooling the chip. Even running mprime while compiling AND cross compiling (full CPU load, and then some) the individual core temperatures never went over 95 degrees, and the combined chip temperature never went over 107. I'd say thats some pretty efficient cooling. I say that because the single core Celeron in this machine hovers around 115 when not crunching numbers, and 138 under full load. If it hasn't melted down in a year, I don't think it's going to do so tomorrow.

If you're using a laptop with that speed processor, I'd imagine it's running a little warm. However, it's not in a hardware manufacturer's interest to sell a computer that will reduce itself to a pile of plastic goo, silicon, copper, and gold. You will know the score a bit better when you have it all installed and running properly.

Blessed be!

Pappy

EDITED FOR ACCURACY

----------

