Hi guys,
I own a MacBook Pro which I bought brand new in January 2010. I have tried running Fedora 14 (and 13) on it, but I am having some troubles. Especially, the fan is not functioning properly which leads to very hot temperatures nearing 70 degrees celcius when I am not doing more than running irssi in a terminal.
I having been digging around, and loading the applesmc and coretemp modules scored a few degrees. Also running fedora at runlevel 3 didnt do much difference, so I guess the problem is not X but the Linux kernel. FYI, I am using the nouveau driver and not the proprietary nvidia driver. I tried the nvidia driver, but it didnt do any difference, so I went with the nouveau one. I have tried with powertop and enabling its suggestions, but it didnt help.
I and writing this mail in hope to get some tips back with things I could try, and also to see if this is something that is worth filing a bug on, or if the issue is somewhere else.
Sincerely, Chris Buchholz
On Sun, Nov 28, 2010 at 1:36 PM, christoffer.buchholz@gmail.com christoffer.buchholz@gmail.com wrote:
Hi guys,
I own a MacBook Pro which I bought brand new in January 2010. I have tried running Fedora 14 (and 13) on it, but I am having some troubles. Especially, the fan is not functioning properly which leads to very hot temperatures nearing 70 degrees celcius when I am not doing more than running irssi in a terminal.
I having been digging around, and loading the applesmc and coretemp modules scored a few degrees. Also running fedora at runlevel 3 didnt do much difference, so I guess the problem is not X but the Linux kernel. FYI, I am using the nouveau driver and not the proprietary nvidia driver. I tried the nvidia driver, but it didnt do any difference, so I went with the nouveau one. I have tried with powertop and enabling its suggestions, but it didnt help.
I and writing this mail in hope to get some tips back with things I could try, and also to see if this is something that is worth filing a bug on, or if the issue is somewhere else.
Hi Chris,
I had this kind of trouble a couple years ago with a mid 2007 MacBook Pro, and it ended up being a buggy cpufreq driver which refused to scale down. I also had similar heating issues when a buggy atheros driver caused an interrupt storm, which also prevented cpufreq from doing its job (though it caused more obvious symptoms as well).
Chances are, there's something going on in kernel space that shouldn't be happening. So you're probably on the right track by checking PowerTOP. Would be helpful to know a bit more though.
- What kernel are you running? - What CPU do you have, and what's its rated clock frequency? - Can you do 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' to find out what cpufreqy scaling governor your machine is using? If it's 'performance', your CPU won't ever scale down to lower frequencies to save heat/power. - Can you do 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq' a few times while the machine is idle, and see if it ever scales down? - What does PowerTOP say? You mention checking it, but didn't say anything about what it reported. - It's a long shot, but can you check if anything listed in /proc/interrupts is getting an inordinate number of interrupts per second? To find out, you may have to do something like 'cat /proc/interrupts; sleep 0.5s; cat /proc/interrupts' and see if anything has changed dramatically.
Steven
Thank you for your quick reply! To answer you questions...
1) uname -a reads "Linux gomet 2.6.35.6-48.fc14.x86_64" - I have also tried with the kernel from the bleeding edge fedora 15 repo, but that didnt change much if anything at all.
2) According to apple documentation, my processor is a "2.53GHz Intel Core 2 Duo processor with 3MB on-chip shared L2 cache running 1:1 with processor speed" and has a "1066MHz frontside bus" <- I guess that is the rated clock frequency.
3) 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' reads "ondemand"
4) 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq' reads "798000" and it does that even when i shut down all apps running, so it seems its actually not so ondemand
5) I'm not very technical, so but here's some of the stuff, which I guess is the important part, from powertop. It doesnt really change more than a few numbers up and down, so it should be good: http://fpaste.org/7G9b/
6) The output from /proc/interrupts doesnt seem to change that much. You can see the output from '/proc/interrupts; sleep 0.5s; cat /proc/interrupts' here http://fpaste.org/QXVO/
I hope this makes things clearer for you.
On Sun, Nov 28, 2010 at 11:59 PM, Steven Noonan steven@uplinklabs.netwrote:
On Sun, Nov 28, 2010 at 1:36 PM, christoffer.buchholz@gmail.com christoffer.buchholz@gmail.com wrote:
Hi guys,
I own a MacBook Pro which I bought brand new in January 2010. I have
tried
running Fedora 14 (and 13) on it, but I am having some troubles.
Especially,
the fan is not functioning properly which leads to very hot temperatures nearing 70 degrees celcius when I am not doing more than running irssi in
a
terminal.
I having been digging around, and loading the applesmc and coretemp
modules
scored a few degrees. Also running fedora at runlevel 3 didnt do much difference, so I guess the problem is not X but the Linux kernel. FYI, I am using the nouveau driver and not the proprietary nvidia driver.
I
tried the nvidia driver, but it didnt do any difference, so I went with
the
nouveau one. I have tried with powertop and enabling its suggestions, but it didnt
help.
I and writing this mail in hope to get some tips back with things I could try, and also to see if this is something that is worth filing a bug on,
or
if the issue is somewhere else.
Hi Chris,
I had this kind of trouble a couple years ago with a mid 2007 MacBook Pro, and it ended up being a buggy cpufreq driver which refused to scale down. I also had similar heating issues when a buggy atheros driver caused an interrupt storm, which also prevented cpufreq from doing its job (though it caused more obvious symptoms as well).
Chances are, there's something going on in kernel space that shouldn't be happening. So you're probably on the right track by checking PowerTOP. Would be helpful to know a bit more though.
- What kernel are you running?
- What CPU do you have, and what's its rated clock frequency?
- Can you do 'cat
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' to find out what cpufreqy scaling governor your machine is using? If it's 'performance', your CPU won't ever scale down to lower frequencies to save heat/power.
- Can you do 'cat
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq' a few times while the machine is idle, and see if it ever scales down?
- What does PowerTOP say? You mention checking it, but didn't say
anything about what it reported.
- It's a long shot, but can you check if anything listed in
/proc/interrupts is getting an inordinate number of interrupts per second? To find out, you may have to do something like 'cat /proc/interrupts; sleep 0.5s; cat /proc/interrupts' and see if anything has changed dramatically.
Steven
On Mon, Nov 29, 2010 at 2:18 AM, christoffer.buchholz@gmail.com christoffer.buchholz@gmail.com wrote:
Thank you for your quick reply! To answer you questions...
- uname -a reads "Linux gomet 2.6.35.6-48.fc14.x86_64" - I have also tried
with the kernel from the bleeding edge fedora 15 repo, but that didnt change much if anything at all.
Alright, so the stock Fedora kernel, then.
- According to apple documentation, my processor is a "2.53GHz Intel Core 2
Duo processor with 3MB on-chip shared L2 cache running 1:1 with processor speed" and has a "1066MHz frontside bus" <- I guess that is the rated clock frequency.
2.53 GHz is the rated clock frequency. :)
- 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' reads
"ondemand"
Good, so it should be scaling...
- 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq' reads
"798000" and it does that even when i shut down all apps running, so it seems its actually not so ondemand
And it is scaling down properly. 798MHz is as low as SpeedStep allows that processor to go.
- I'm not very technical, so but here's some of the stuff, which I guess is
the important part, from powertop. It doesnt really change more than a few numbers up and down, so it should be good: http://fpaste.org/7G9b/
Looks like it's staying clocked down to 798MHz just fine, so there's no way that cpufreq is screwing up.
- The output from /proc/interrupts doesnt seem to change that much. You can
see the output from '/proc/interrupts; sleep 0.5s; cat /proc/interrupts' here http://fpaste.org/QXVO/
Okay, it looks like interrupts are being handled properly. Nothing there jumps out as abnormal.
Rereading your original post, I think I was an idiot and missed something that I shouldn't have... You mention that the "fan is not functioning properly". Is this a hardware thing you're trying to work around, or are the fans just not spinning up when the machine gets warm? If you don't mind a performance impact, you could change the scaling governor to 'powersave', and the CPU won't automatically clock up under load. Alternatively, you could probably set the minimum fan speeds to a higher level (they're probably at 2000 RPM by default, so you may want to try 4000). Do this:
ls /sys/devices/platform/applesmc.*/fan*_min
It will probably list a couple different fans there, and you can 'cat' them to see what the minimum is currently set to, or you can do something like:
echo 4000 > /sys/devices/platform/applesmc.X/fanY_min
(obviously, replacing X and Y in the above with whatever the actual values are from the above 'ls' output)
I haven't looked at my mid 2010 MacBook Pro's applesmc folder, but on my 2007 MacBook Pro, there are fan1_min and fan2_min. They can be set independently, so if you want one at 2000RPM and the other at 6000RPM, there's nothing to prevent you from doing so. You probably will want them to both be at the same speed, though.
Ah okay, I see. As I mentioned, I am not very skilled in this department.
About the fan. Right now, one sensor is recording +70.5°C and another one is recording +69.0°C. The rest of the sensors records temperatures around +40.0°C. The fan is running at only 2001 RPM, and I don't see it move up and down in speed ever. Modules coretemp and applesmc is loaded. I see that changing the minimum speed would prevent heat, but on the other hand, making it go 4000 RPM at the minimum, it would make quite a noisy laptop. I see this could be a temporary solution, but not good in the long run.
You don't have any clue to why the fan is not behaving correctly and just stays just around the minimum speed, instead of actually keeping the system cooled down?
And thank you for your help so far.
On Mon, Nov 29, 2010 at 11:48 AM, Steven Noonan steven@uplinklabs.netwrote:
On Mon, Nov 29, 2010 at 2:18 AM, christoffer.buchholz@gmail.com christoffer.buchholz@gmail.com wrote:
Thank you for your quick reply! To answer you questions...
- uname -a reads "Linux gomet 2.6.35.6-48.fc14.x86_64" - I have also
tried
with the kernel from the bleeding edge fedora 15 repo, but that didnt
change
much if anything at all.
Alright, so the stock Fedora kernel, then.
- According to apple documentation, my processor is a "2.53GHz Intel
Core 2
Duo processor with 3MB on-chip shared L2 cache running 1:1 with processor speed" and has a "1066MHz frontside bus" <- I guess that is the rated
clock
frequency.
2.53 GHz is the rated clock frequency. :)
- 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' reads
"ondemand"
Good, so it should be scaling...
- 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq' reads
"798000" and it does that even when i shut down all apps running, so it seems its actually not so ondemand
And it is scaling down properly. 798MHz is as low as SpeedStep allows that processor to go.
- I'm not very technical, so but here's some of the stuff, which I guess
is
the important part, from powertop. It doesnt really change more than a
few
numbers up and down, so it should be good: http://fpaste.org/7G9b/
Looks like it's staying clocked down to 798MHz just fine, so there's no way that cpufreq is screwing up.
- The output from /proc/interrupts doesnt seem to change that much. You
can
see the output from '/proc/interrupts; sleep 0.5s; cat /proc/interrupts' here http://fpaste.org/QXVO/
Okay, it looks like interrupts are being handled properly. Nothing there jumps out as abnormal.
Rereading your original post, I think I was an idiot and missed something that I shouldn't have... You mention that the "fan is not functioning properly". Is this a hardware thing you're trying to work around, or are the fans just not spinning up when the machine gets warm? If you don't mind a performance impact, you could change the scaling governor to 'powersave', and the CPU won't automatically clock up under load. Alternatively, you could probably set the minimum fan speeds to a higher level (they're probably at 2000 RPM by default, so you may want to try 4000). Do this:
ls /sys/devices/platform/applesmc.*/fan*_min
It will probably list a couple different fans there, and you can 'cat' them to see what the minimum is currently set to, or you can do something like:
echo 4000 > /sys/devices/platform/applesmc.X/fanY_min
(obviously, replacing X and Y in the above with whatever the actual values are from the above 'ls' output)
I haven't looked at my mid 2010 MacBook Pro's applesmc folder, but on my 2007 MacBook Pro, there are fan1_min and fan2_min. They can be set independently, so if you want one at 2000RPM and the other at 6000RPM, there's nothing to prevent you from doing so. You probably will want them to both be at the same speed, though.
On Sun, Nov 28, 2010 at 10:36:33PM +0100, christoffer.buchholz@gmail.com wrote:
I own a MacBook Pro which I bought brand new in January 2010. I have tried running Fedora 14 (and 13) on it, but I am having some troubles. Especially, the fan is not functioning properly which leads to very hot temperatures nearing 70 degrees celcius when I am not doing more than running irssi in a terminal.
There's two things that are at play here. The first is that we don't implement power management for nvidia GPUs yet, so your GPU is busy generating piles of heat all the time. The other is that Apple don't use any kind of standard thermal control interface. We can't control their fans through ACPI. We can influence their fan behaviour through the SMC interface, but we have no idea what the correct OS interaction behaviour is.
This leaves two real options. First, if you have Apple hardware, run OS X. Alternatively, I need to spend some quality time with recent Apples owned by people who don't mind if I melt them.
On Mon, Nov 29, 2010 at 3:09 AM, christoffer.buchholz@gmail.com christoffer.buchholz@gmail.com wrote:
Ah okay, I see. As I mentioned, I am not very skilled in this department.
About the fan. Right now, one sensor is recording +70.5°C and another one is recording +69.0°C. The rest of the sensors records temperatures around +40.0°C. The fan is running at only 2001 RPM, and I don't see it move up and down in speed ever. Modules coretemp and applesmc is loaded. I see that changing the minimum speed would prevent heat, but on the other hand, making it go 4000 RPM at the minimum, it would make quite a noisy laptop. I see this could be a temporary solution, but not good in the long run.
You don't have any clue to why the fan is not behaving correctly and just stays just around the minimum speed, instead of actually keeping the system cooled down?
No, I don't know what the cause could be. Perhaps the people who developed the applesmc driver would know. I've added Henrik, the current maintainer of applesmc, to the CC list. Henrik, any idea why the fans wouldn't spin up when the temperature increases so much? Could applesmc have something to do with this?
Chris, you could try to test and see if applesmc is the cause. Try preventing applesmc from loading (add 'blacklist applesmc' to /etc/modprobe.d/blacklist.conf), and see if your fans still stay at 2000 RPM under CPU-heavy workloads. Of course, you'll have to just listen to find out if the fans spin up instead of checking sysfs, but this will at least help debug the situation.
And thank you for your help so far.
On Mon, Nov 29, 2010 at 11:48 AM, Steven Noonan steven@uplinklabs.net wrote:
On Mon, Nov 29, 2010 at 2:18 AM, christoffer.buchholz@gmail.com christoffer.buchholz@gmail.com wrote:
Thank you for your quick reply! To answer you questions...
- uname -a reads "Linux gomet 2.6.35.6-48.fc14.x86_64" - I have also
tried with the kernel from the bleeding edge fedora 15 repo, but that didnt change much if anything at all.
Alright, so the stock Fedora kernel, then.
- According to apple documentation, my processor is a "2.53GHz Intel
Core 2 Duo processor with 3MB on-chip shared L2 cache running 1:1 with processor speed" and has a "1066MHz frontside bus" <- I guess that is the rated clock frequency.
2.53 GHz is the rated clock frequency. :)
- 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' reads
"ondemand"
Good, so it should be scaling...
- 'cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq' reads
"798000" and it does that even when i shut down all apps running, so it seems its actually not so ondemand
And it is scaling down properly. 798MHz is as low as SpeedStep allows that processor to go.
- I'm not very technical, so but here's some of the stuff, which I
guess is the important part, from powertop. It doesnt really change more than a few numbers up and down, so it should be good: http://fpaste.org/7G9b/
Looks like it's staying clocked down to 798MHz just fine, so there's no way that cpufreq is screwing up.
- The output from /proc/interrupts doesnt seem to change that much. You
can see the output from '/proc/interrupts; sleep 0.5s; cat /proc/interrupts' here http://fpaste.org/QXVO/
Okay, it looks like interrupts are being handled properly. Nothing there jumps out as abnormal.
Rereading your original post, I think I was an idiot and missed something that I shouldn't have... You mention that the "fan is not functioning properly". Is this a hardware thing you're trying to work around, or are the fans just not spinning up when the machine gets warm? If you don't mind a performance impact, you could change the scaling governor to 'powersave', and the CPU won't automatically clock up under load. Alternatively, you could probably set the minimum fan speeds to a higher level (they're probably at 2000 RPM by default, so you may want to try 4000). Do this:
ls /sys/devices/platform/applesmc.*/fan*_min
It will probably list a couple different fans there, and you can 'cat' them to see what the minimum is currently set to, or you can do something like:
echo 4000 > /sys/devices/platform/applesmc.X/fanY_min
(obviously, replacing X and Y in the above with whatever the actual values are from the above 'ls' output)
I haven't looked at my mid 2010 MacBook Pro's applesmc folder, but on my 2007 MacBook Pro, there are fan1_min and fan2_min. They can be set independently, so if you want one at 2000RPM and the other at 6000RPM, there's nothing to prevent you from doing so. You probably will want them to both be at the same speed, though.
On Mon, 2010-11-29 at 08:22 -0800, Steven Noonan wrote:
Chris, you could try to test and see if applesmc is the cause. Try preventing applesmc from loading (add 'blacklist applesmc' to /etc/modprobe.d/blacklist.conf), and see if your fans still stay at 2000 RPM under CPU-heavy workloads. Of course, you'll have to just listen to find out if the fans spin up instead of checking sysfs, but this will at least help debug the situation.
After booting, verify it wasn't for some reason in the initramfs by running:
lsmod | grep applesmc
Check that it's not loaded (should not see anything listed).
Jon.
On Mon, Nov 29, 2010 at 5:21 PM, Matthew Garrett mjg59@srcf.ucam.org wrote:
There's two things that are at play here. The first is that we don't implement power management for nvidia GPUs yet, so your GPU is busy generating piles of heat all the time. The other is that Apple don't use any kind of standard thermal control interface. We can't control their fans through ACPI. We can influence their fan behaviour through the SMC interface, but we have no idea what the correct OS interaction behaviour is.
Can you say if and when power management for nvidia GPUs will come? Is the work already started, and is it something I can try out?
On Mon, Nov 29, 2010 at 5:22 PM, Steven Noonan steven@uplinklabs.net wrote:
Chris, you could try to test and see if applesmc is the cause. Try preventing applesmc from loading (add 'blacklist applesmc' to /etc/modprobe.d/blacklist.conf), and see if your fans still stay at 2000 RPM under CPU-heavy workloads. Of course, you'll have to just listen to find out if the fans spin up instead of checking sysfs, but this will at least help debug the situation.
I tried this, and it didnt seem to me, that the fans went any higher than the 2000 RPM that applesmc also provides. To be fair, I didn't let my laptop become hotter than what I guessed was around +75°C because I dont wanna hurt my hardware.
On Mon, Nov 29, 2010 at 5:37 PM, Henrik Rydberg rydberg@euromail.se wrote:
The single most important thing is to make sure the fanX_manual zero for the built-in SMC to work. Otherwise, you really need something like macfanctld.
Attached script has been used before to determine the SMC model and the level of severity of the heat problem. FWIW, the latest Macbook Airs run really cool, so things are getting a lot better.
The web is dense with references to ubuntu on macs, and you will find more information there.
fan1_manual (my laptop only has one fan) does indeed read "0", so that should be fine. Running the script, it outputs stuff like that the laptop was built around 2009 and 2010, and that it doesnt have any (known) overheat protection. Full output is here: http://fpaste.org/hZW9/
Sincerely, Chris Buchholz
On Mon, Nov 29, 2010 at 08:20:31PM +0100, christoffer.buchholz@gmail.com wrote:
On Mon, Nov 29, 2010 at 5:21 PM, Matthew Garrett mjg59@srcf.ucam.org wrote:
There's two things that are at play here. The first is that we don't implement power management for nvidia GPUs yet, so your GPU is busy generating piles of heat all the time. The other is that Apple don't use any kind of standard thermal control interface. We can't control their fans through ACPI. We can influence their fan behaviour through the SMC interface, but we have no idea what the correct OS interaction behaviour is.
Can you say if and when power management for nvidia GPUs will come? Is the work already started, and is it something I can try out?
Nouveau's gained some recently, but it's not stable enough to be done on the fly as yet.
Ah, I see. Sad.
On Mon, Nov 29, 2010 at 8:22 PM, Matthew Garrett mjg@redhat.com wrote:
On Mon, Nov 29, 2010 at 08:20:31PM +0100, christoffer.buchholz@gmail.com wrote:
On Mon, Nov 29, 2010 at 5:21 PM, Matthew Garrett mjg59@srcf.ucam.org wrote:
There's two things that are at play here. The first is that we don't implement power management for nvidia GPUs yet, so your GPU is busy generating piles of heat all the time. The other is that Apple don't use any kind of standard thermal control interface. We can't control their fans through ACPI. We can influence their fan behaviour through the SMC interface, but we have no idea what the correct OS interaction behaviour is.
Can you say if and when power management for nvidia GPUs will come? Is the work already started, and is it something I can try out?
Nouveau's gained some recently, but it's not stable enough to be done on the fly as yet.
-- Matthew Garrett | mjg59@srcf.ucam.org
On Mon, Nov 29, 2010 at 2:24 PM, christoffer.buchholz@gmail.com christoffer.buchholz@gmail.com wrote:
Ah, I see. Sad.
You could offer to help test on the noveau list since you seem to have impacted hardware.
josh
Yes, I was actually just looking in to that.
On Mon, Nov 29, 2010 at 8:28 PM, Josh Boyer jwboyer@gmail.com wrote:
On Mon, Nov 29, 2010 at 2:24 PM, christoffer.buchholz@gmail.com christoffer.buchholz@gmail.com wrote:
Ah, I see. Sad.
You could offer to help test on the noveau list since you seem to have impacted hardware.
josh
kernel@lists.fedoraproject.org