Questions about my Temperature/Fan Control

Questions about hardware, drivers and peripherals
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
Carl_3

Questions about my Temperature/Fan Control

Post by Carl_3 »

Hello all,

I'm very new to Linux Mint 14 on my Macbook Pro 1,1 (yes I know it's almost 7 years old). These things run notoriously hot, and I have already disassembled it and cleaned out all the dust. Now I would like to mess with some fan control to cool it off.

I have the latest version of lm-sensors installed, as well as pwmconfig and fancontrol. However, I don't think these things are properly recognizing the right temperature sensors.

Below begins my long list of terminal pastes; so I apologize in advance.

Here's lspci -v (if relevant):

Code: Select all

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0
	Capabilities: <access denied>

00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (rev 03) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: 98300000-983fffff
	Prefetchable memory behind bridge: 0000000080000000-000000008fffffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:07.0 Performance counters: Intel Corporation Device 27a3 (rev 03)
	Flags: 66MHz, fast devsel, IRQ 10
	Memory at 98404000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>

00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 02)
	Subsystem: SigmaTel STAC9221 HD Audio Codec
	Flags: bus master, fast devsel, latency 0, IRQ 46
	Memory at 98400000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 02) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: 98200000-982fffff
	Prefetchable memory behind bridge: 0000000098500000-00000000987fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 02) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 00005000-00005fff
	Memory behind bridge: 98100000-981fffff
	Prefetchable memory behind bridge: 0000000098800000-00000000989fffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.2 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 3 (rev 02) (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=04, subordinate=0b, sec-latency=0
	I/O behind bridge: 00001000-00001fff
	Memory behind bridge: 94100000-980fffff
	Prefetchable memory behind bridge: 0000000090000000-0000000093ffffff
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 23
	I/O ports at 40a0 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 19
	I/O ports at 4080 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 18
	I/O ports at 4060 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 16
	I/O ports at 4040 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 23
	Memory at 98405400 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci_hcd

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) (prog-if 01 [Subtractive decode])
	Flags: bus master, fast devsel, latency 0
	Bus: primary=00, secondary=0c, subordinate=0c, sec-latency=32
	Memory behind bridge: 94000000-940fffff
	Capabilities: <access denied>

00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0
	Capabilities: <access denied>
	Kernel modules: leds-ss4200, lpc_ich, intel-rng

00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02) (prog-if 8a [Master SecP PriP])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, medium devsel, latency 0, IRQ 18
	I/O ports at 01f0 [size=8]
	I/O ports at 03f4 [size=1]
	I/O ports at 0170 [size=8]
	I/O ports at 0374 [size=1]
	I/O ports at 40c0 [size=16]
	Kernel driver in use: ata_piix

00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (rev 02) (prog-if 8f [Master SecP SecO PriP PriO])
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 19
	I/O ports at 40d8 [size=8]
	I/O ports at 40f4 [size=4]
	I/O ports at 40d0 [size=8]
	I/O ports at 40f0 [size=4]
	I/O ports at 4020 [size=16]
	Memory at 98405000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ata_piix

00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 02)
	Subsystem: Intel Corporation Device 7270
	Flags: medium devsel, IRQ 11
	I/O ports at efa0 [size=32]
	Kernel modules: i2c-i801

01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI M56P [Radeon Mobility X1600] (prog-if 00 [VGA controller])
	Subsystem: Apple Inc. MacBook Pro
	Flags: bus master, fast devsel, latency 0, IRQ 45
	Memory at 80000000 (32-bit, prefetchable) [size=256M]
	I/O ports at 3000 [size=256]
	Memory at 98300000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at 98320000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: radeon
	Kernel modules: radeon

02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 22)
	Subsystem: Marvell Technology Group Ltd. Marvell RDK-8053
	Physical Slot: 0
	Flags: bus master, fast devsel, latency 0, IRQ 44
	Memory at 98200000 (64-bit, non-prefetchable) [size=16K]
	I/O ports at 2000 [size=256]
	Expansion ROM at 98500000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: sky2
	Kernel modules: sky2

03:00.0 Ethernet controller: Atheros Communications Inc. AR242x / AR542x Wireless Network Adapter (PCI-Express) (rev 01)
	Subsystem: Apple Inc. AR5BXB6 802.11abg Wireless Mini PCIe Card
	Physical Slot: 1
	Flags: bus master, fast devsel, latency 0, IRQ 17
	Memory at 98100000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: <access denied>
	Kernel driver in use: ath5k
	Kernel modules: ath5k

0c:03.0 FireWire (IEEE 1394): LSI Corporation FW322/323 [TrueFire] 1394a Controller (rev 61) (prog-if 10 [OHCI])
	Subsystem: LSI Corporation FW322/323 [TrueFire] 1394a Controller
	Flags: bus master, fast Back2Back, medium devsel, latency 248, IRQ 19
	Memory at 94000000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: firewire_ohci
	Kernel modules: firewire-ohci
Here's acpi (if relevant):

Code: Select all

Battery 0: Unknown, 98%
Here's sensors:

Code: Select all

lm63-i2c-2-4c
Adapter: Radeon i2c bit bus 0x92
temp1:         -6.0°C  (high =  -6.0°C)                  ALARM (HIGH)
temp2:         +0.0°C  (low  =  +0.0°C, high =  +0.0°C)  ALARM (LOW, HIGH, CRIT)
                       (crit =  -6.0°C, hyst = -256.0°C)

applesmc-isa-0300
Adapter: ISA adapter
Left side  : 1578 RPM  (min = 1000 RPM)
Right side : 1583 RPM  (min = 1000 RPM)
TA0P:         +25.5°C  
TB0T:         +37.0°C  
TC0D:         +69.8°C  
TC0P:         +61.0°C  
TG0H:         +67.5°C  
TG0P:         +62.2°C  
TG0T:         +69.5°C  
Th0H:         +47.0°C  
Th1H:         +47.8°C  
Tm0P:         +59.5°C  
Ts0P:         +40.5°C  
Ts1P:         +39.0°C
sudo fancontrol returns "Can't read configuration file."

Also, pwmconfig returns "no usable outputs."

In addition to fan control, I would also like the CPU temp applet to work, but it returns "Error." Specifically, it's the CPU Temperature Indicator by fevimu. I feel like these two problems might be related.

Any tips? I searched around the forums but cannot find anything specific to my hardware or some similar hardware.

Thank you.
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Carl_3

Re: Questions about my Temperature/Fan Control

Post by Carl_3 »

Been a couple weeks, any ideas?

Thanks again.
jsplicer

Re: Questions about my Temperature/Fan Control

Post by jsplicer »

I'm not sure of the flovor of linux you have but if it is linux mint I installed MATE Sensors Applet 1.2.0, and it gives me constant core temps of all 4 cores of my CPU plus the overall temp, and it is spot on to what it was when I ran Mac OS on this home built tower. It has no fan speed settings or anything but it just sits in the bottom bar of my desktop so I can monitor when the temp goes up or down.

Also you may know this already but for someone else that doesn't; there is ambient temperature and core temps. As long as your cores or core is not going over or close to what the specs are you should be fine. As for the laptop getting hot thats another question, and undoubltedly effects your CPU. But for starters try this applet and see what it reads...
Carl_3

Re: Questions about my Temperature/Fan Control

Post by Carl_3 »

Thanks for the reply. I have the Cinnamon desktop version. I'm a little less concerned with displaying the temperatures as I am with my fans not spinning fast enough when this laptop gets too hot.

When I was using Mac OS X, I would routinely see 5-6000 rpm, but now they won't go above 1500 at the highest temperatures. Fancontrol can't read its own configuration file, while pwmconfig can't find any usable inputs.

Nothing I can Google comes up with a solution that relates to my hardware, so I suppose there really isn't any solution for a MacBook Pro 1,1 out there. Also I don't really understand most of the solutions anyway.
Jamesc359

Re: Questions about my Temperature/Fan Control

Post by Jamesc359 »

What does

Code: Select all

ls /sys/class/hwmon/*/device > ~/Desktop/sensorinfo.txt
output?
Carl_3

Re: Questions about my Temperature/Fan Control

Post by Carl_3 »

Code: Select all

/sys/class/hwmon/hwmon0/device:
alarms
driver
hwmon
modalias
name
power
pwm1
pwm1_auto_point1_pwm
pwm1_auto_point1_temp
pwm1_auto_point1_temp_hyst
pwm1_auto_point2_pwm
pwm1_auto_point2_temp
pwm1_auto_point2_temp_hyst
pwm1_auto_point3_pwm
pwm1_auto_point3_temp
pwm1_auto_point3_temp_hyst
pwm1_auto_point4_pwm
pwm1_auto_point4_temp
pwm1_auto_point4_temp_hyst
pwm1_auto_point5_pwm
pwm1_auto_point5_temp
pwm1_auto_point5_temp_hyst
pwm1_auto_point6_pwm
pwm1_auto_point6_temp
pwm1_auto_point6_temp_hyst
pwm1_auto_point7_pwm
pwm1_auto_point7_temp
pwm1_auto_point7_temp_hyst
pwm1_auto_point8_pwm
pwm1_auto_point8_temp
pwm1_auto_point8_temp_hyst
pwm1_enable
subsystem
temp1_input
temp1_max
temp1_max_alarm
temp2_crit
temp2_crit_alarm
temp2_crit_hyst
temp2_fault
temp2_input
temp2_max
temp2_max_alarm
temp2_min
temp2_min_alarm
temp2_offset
uevent
update_interval

/sys/class/hwmon/hwmon1/device:
calibrate
driver
fan1_input
fan1_label
fan1_manual
fan1_max
fan1_min
fan1_output
fan1_safe
fan2_input
fan2_label
fan2_manual
fan2_max
fan2_min
fan2_output
fan2_safe
hwmon
input
key_at_index
key_at_index_data
key_at_index_data_length
key_at_index_name
key_at_index_type
key_count
leds
light
modalias
name
position
power
subsystem
temp10_input
temp10_label
temp11_input
temp11_label
temp12_input
temp12_label
temp1_input
temp1_label
temp2_input
temp2_label
temp3_input
temp3_label
temp4_input
temp4_label
temp5_input
temp5_label
temp6_input
temp6_label
temp7_input
temp7_label
temp8_input
temp8_label
temp9_input
temp9_label
uevent
That.
jsplicer

Re: Questions about my Temperature/Fan Control

Post by jsplicer »

Hang in ther Carl_3. Don't give up the Os is worth it. Someone here will find a solution . I know the googling sends you in all directions but sometimes you get lucky on a page somewhere.
Jamesc359

Re: Questions about my Temperature/Fan Control

Post by Jamesc359 »

And what does cat /sys/class/hwmon/hwmon0/device/pwm1_enable say?

If it says 1 that's likely the problem and you should change it to 2. If it's at 2 you can always set it to 0... Your fans will be noisy, but it's better than frying something I guess.
0 = PWM off
1 = Manual PWM
2 = Auto PWM

You'll have to type su and enter your password (Sorry I don't know how to make sudo work with echo) then you can change the value of pwm1_enable with the following command.
echo 2 > /sys/class/hwmon/hwmon0/device/pwm1_enable

If you want to manually control the fan you can set pwm1_enable to 1 and then echo a value between 127 and 255 to pwm1. e.g.
echo 127 > /sys/class/hwmon/hwmon0/device/pwm1 - low
echo 192 > /sys/class/hwmon/hwmon0/device/pwm1 - medium
echo 255 > /sys/class/hwmon/hwmon0/device/pwm1 - high
Carl_3

Re: Questions about my Temperature/Fan Control

Post by Carl_3 »

Jamesc359 wrote:And what does cat /sys/class/hwmon/hwmon0/device/pwm1_enable say?

If it says 1 that's likely the problem and you should change it to 2. If it's at 2 you can always set it to 0... Your fans will be noisy, but it's better than frying something I guess.
0 = PWM off
1 = Manual PWM
2 = Auto PWM

You'll have to type su and enter your password (Sorry I don't know how to make sudo work with echo) then you can change the value of pwm1_enable with the following command.
echo 2 > /sys/class/hwmon/hwmon0/device/pwm1_enable

If you want to manually control the fan you can set pwm1_enable to 1 and then echo a value between 127 and 255 to pwm1. e.g.
echo 127 > /sys/class/hwmon/hwmon0/device/pwm1 - low
echo 192 > /sys/class/hwmon/hwmon0/device/pwm1 - medium
echo 255 > /sys/class/hwmon/hwmon0/device/pwm1 - high

Ok, I put pwm1_enable to 2 for automatic. Fancontrol still can't read its own configuration file though. Can I manually adjust my fan curves using the listings in /sys/class/hwmon/hwmon0/device?

I would ideally like to set a minimum higher than 1000 rpm. I won't mind the mind the sound; I'd rather this thing be more comfortable on my lap.
Brahim Salem

Re: Questions about my Temperature/Fan Control

Post by Brahim Salem »

Jamesc359

Re: Questions about my Temperature/Fan Control

Post by Jamesc359 »

Carl_3 wrote:Ok, I put pwm1_enable to 2 for automatic. Fancontrol still can't read its own configuration file though. Can I manually adjust my fan curves using the listings in /sys/class/hwmon/hwmon0/device?

I would ideally like to set a minimum higher than 1000 rpm. I won't mind the mind the sound; I'd rather this thing be more comfortable on my lap.
You should be able to cat (read) all devices in hwmon, and echo (write) to most of them. :)
Carl_3

Re: Questions about my Temperature/Fan Control

Post by Carl_3 »

Ok, thanks everyone, you've all been very helpful. I decided to increase my minimum fan speeds as a start. However, can someone tell me what my Temperature Labels mean?

My sensors input is listed in a previous post up the page. Does anyone know which of the temperatures are the critical ones I should be worried about. (Remember that the temperature applet I originally wanted failed to recognize the temperature sensors, and I couldn't fix that.) I don't mind not having a temperature outlet, and I'll work up to installing Conky. I'm using this forum as a step-by-step learning experience for my system files.

Also, another question, if I change my temperature alarm levels, will that help the fan curve if pwmconfig isn't working? Or will that have no effect?

Thanks again.
Carl_3

Re: Questions about my Temperature/Fan Control

Post by Carl_3 »

Oh, and PS. Changing my minimum fan speeds didn't "stick." After sleeping and the waking, they're back to their original 1000 rpm minimum.
Jamesc359

Re: Questions about my Temperature/Fan Control

Post by Jamesc359 »

The DIY method of figuring out which temps are which is to go into your BIOS and check your thermals/PC Health there. Make a note about the temps/labels, then edit the matching sensor in your /etc/sensors3.conf and run sudo sensors -s

e.g. if CPU in your BIOS is 38C and the value of TA0P is the only one that's 38C or close to it, it's likely the CPU sensor. But there is no guarantee.

I believe in your case you'd search for the text applesmc-isa-0300 and below that you'd add something like label TA0P "Some Sensor Name"
Carl_3

Re: Questions about my Temperature/Fan Control

Post by Carl_3 »

Ok, everyone, thanks for the help. I know it's been a few years, but my MacbookPro 1,1 is still kickin' it as long as the power is plugged in. I had somewhat lost interest in this particular topic since I've now installed Mint 18 on my desktop PC and have been learning Linux on that machine recently.

So now I'm teaching myself scripting and I've run into a problem. It seems that I can set my fan1_min and fan2_min to whatever value I like, but only if I use sudo and actually edit the file itself. When I try to echo the fan speed into the file, I get 'Permission Denied' even under sudo, AND even under full root access 'su'.

I've written basically a two line script to run this whenever I want, but I always get 'Permission Denied' from the echo command, but not editing the file in a text editor by hand. Is something about these files protected from root access too?
Carl_3

Re: Questions about my Temperature/Fan Control

Post by Carl_3 »

Well darn, I found an error in the file's path in my script. That fixed it.

Now whenever I run my script it prompts me for fan speed and I just set the minimum. That seems to be the fastest way. The only trouble is that I have to run the script at every boot up and wake. But still, much more convenient than navigating into the file and manually changing both fans.

Now if I can only enable the automatic control based on temperature, but that's a project for another day. And this old laptop may not be worth the effort, literally 10 years old.
Locked

Return to “Hardware Support”