As of updating to kernel-3.15.5-200.fc20.x86_64, the cpu fan (and probably the case fan too) continuously runs at full speed, right from the system start. This behaviour is still present with the the most recent kernel 3.15.6-200..., but it wasn't with the former version 3.14.8-200... (I re-checked this by downloading this package from Koji and manually installing it).
It's a desktop system with an Asus B85M-G board and an Intel i3-4330 CPU.
The symptoms might be similar to a recent bugzilla report, which hasn't been commented yet: https://bugzilla.redhat.com/show_bug.cgi?id=1121331
Has anyone experienced something similar?
On 24.07.2014 12:29, Klaus-Peter Schrage wrote:
As of updating to kernel-3.15.5-200.fc20.x86_64, the cpu fan (and probably the case fan too) continuously runs at full speed, right from the system start. This behaviour is still present with the the most recent kernel 3.15.6-200..., but it wasn't with the former version 3.14.8-200... (I re-checked this by downloading this package from Koji and manually installing it).
It's a desktop system with an Asus B85M-G board and an Intel i3-4330 CPU.
The symptoms might be similar to a recent bugzilla report, which hasn't been commented yet: https://bugzilla.redhat.com/show_bug.cgi?id=1121331
That is GPU fan https://bugzilla.redhat.com/show_bug.cgi?id=1121331#c3 https://bugzilla.redhat.com/attachment.cgi?id=919330
"The fan is really LOUD all the time. How do I make it more quiet?" http://nouveau.freedesktop.org/wiki/FAQ/#index25h3
Has anyone experienced something similar?
Your is CPU fan? Paste here output of $ sensors
fan fan club
Am 24.07.2014 12:48, schrieb poma:
That is GPU fan
The error report is somewhat ambiguous in the respect, other fans might be affected too.
https://bugzilla.redhat.com/show_bug.cgi?id=1121331#c3 https://bugzilla.redhat.com/attachment.cgi?id=919330
"The fan is really LOUD all the time. How do I make it more quiet?" http://nouveau.freedesktop.org/wiki/FAQ/#index25h3
Has anyone experienced something similar?
Your is CPU fan?
Yes
Paste here output of $ sensors
output of sensors with 3.15.6-200.fc20.x86_64 (for reasons I don't know, fan speed of the graphics card GeForce GT 630 is not reported): acpitz-virtual-0 Adapter: Virtual device temp1: +27.8°C (crit = +105.0°C) temp2: +29.8°C (crit = +105.0°C)
nouveau-pci-0100 Adapter: PCI adapter temp1: +35.0°C (high = +95.0°C, hyst = +3.0°C) (crit = +105.0°C, hyst = +5.0°C) (emerg = +135.0°C, hyst = +5.0°C)
coretemp-isa-0000 Adapter: ISA adapter Physical id 0: +33.0°C (high = +80.0°C, crit = +100.0°C) Core 0: +32.0°C (high = +80.0°C, crit = +100.0°C) Core 1: +32.0°C (high = +80.0°C, crit = +100.0°C)
output of sensors with 3.14.8-200.fc20.x86_64 (no noise): acpitz-virtual-0 Adapter: Virtual device temp1: +27.8°C (crit = +105.0°C) temp2: +29.8°C (crit = +105.0°C)
nouveau-pci-0100 Adapter: PCI adapter temp1: +34.0°C (high = +95.0°C, hyst = +3.0°C) (crit = +105.0°C, hyst = +5.0°C) (emerg = +135.0°C, hyst = +5.0°C)
coretemp-isa-0000 Adapter: ISA adapter Physical id 0: +31.0°C (high = +80.0°C, crit = +100.0°C) Core 0: +30.0°C (high = +80.0°C, crit = +100.0°C) Core 1: +29.0°C (high = +80.0°C, crit = +100.0°C)
On 24.07.2014 14:31, Klaus-Peter Schrage wrote:
Am 24.07.2014 13:31, schrieb Klaus-Peter Schrage:
Am 24.07.2014 12:48, schrieb poma:
Your is CPU fan?
Yes
I have to correct myself: It is definitely the graphics adapter fan which is going berserk since kernel-3.15.6-200.fc20.x86_64
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/dr... static void nouveau_therm_fan_set_defaults(struct nouveau_therm *therm) { struct nouveau_therm_priv *priv = (void *)therm;
priv->fan->bios.pwm_freq = 0; priv->fan->bios.min_duty = 0; priv->fan->bios.max_duty = 100; priv->fan->bios.bump_period = 500; priv->fan->bios.slow_down_period = 2000; /*XXX: talk to mupuf */ #if 0 priv->fan->bios.linear_min_temp = 40; priv->fan->bios.linear_max_temp = 85; #endif }
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/dr... static void nouveau_therm_fan_set_defaults(struct nouveau_therm *therm) { struct nouveau_therm_priv *priv = (void *)therm;
priv->fan->bios.pwm_freq = 0; priv->fan->bios.min_duty = 0; priv->fan->bios.max_duty = 100; priv->fan->bios.bump_period = 500; priv->fan->bios.slow_down_period = 2000; priv->fan->bios.linear_min_temp = 40; priv->fan->bios.linear_max_temp = 85; }
"drm/nouveau/therm: let the vbios decide on the automatic fan management mode" https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/... This should fix automatic fan management on fermi cards who do not have 0x46 entries in the thermal table. On my nve6, the blob sets the default linear range from 40°C to 100°C but my nvcf's default values are 40°C to 85°C. Let's keep 85 as a default for everyone.
Here refers to NVCF, your is NV108 (GK208) i.e. GeForce GT 630 http://nouveau.freedesktop.org/wiki/CodeNames/
The fan is really LOUD all the time. How do I make it more quiet? http://nouveau.freedesktop.org/wiki/FAQ/#index25h3 ... In the mean time, if you are interested, you can read PowerManagement and/or contact mupuf on the #nouveau freenode IRC channel.
fan fan club
On 24.07.2014 15:52, poma wrote:
On 24.07.2014 14:31, Klaus-Peter Schrage wrote:
Am 24.07.2014 13:31, schrieb Klaus-Peter Schrage:
Am 24.07.2014 12:48, schrieb poma:
Your is CPU fan?
Yes
I have to correct myself: It is definitely the graphics adapter fan which is going berserk since kernel-3.15.6-200.fc20.x86_64
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/dr... static void nouveau_therm_fan_set_defaults(struct nouveau_therm *therm) { struct nouveau_therm_priv *priv = (void *)therm;
priv->fan->bios.pwm_freq = 0; priv->fan->bios.min_duty = 0; priv->fan->bios.max_duty = 100; priv->fan->bios.bump_period = 500; priv->fan->bios.slow_down_period = 2000; /*XXX: talk to mupuf */ #if 0 priv->fan->bios.linear_min_temp = 40; priv->fan->bios.linear_max_temp = 85; #endif }
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/dr... static void nouveau_therm_fan_set_defaults(struct nouveau_therm *therm) { struct nouveau_therm_priv *priv = (void *)therm;
priv->fan->bios.pwm_freq = 0; priv->fan->bios.min_duty = 0; priv->fan->bios.max_duty = 100; priv->fan->bios.bump_period = 500; priv->fan->bios.slow_down_period = 2000; priv->fan->bios.linear_min_temp = 40; priv->fan->bios.linear_max_temp = 85; }
"drm/nouveau/therm: let the vbios decide on the automatic fan management mode" https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/... This should fix automatic fan management on fermi cards who do not have 0x46 entries in the thermal table. On my nve6, the blob sets the default linear range from 40°C to 100°C but my nvcf's default values are 40°C to 85°C. Let's keep 85 as a default for everyone.
Here refers to NVCF, your is NV108 (GK208) i.e. GeForce GT 630 http://nouveau.freedesktop.org/wiki/CodeNames/
The fan is really LOUD all the time. How do I make it more quiet? http://nouveau.freedesktop.org/wiki/FAQ/#index25h3 ... In the mean time, if you are interested, you can read PowerManagement and/or contact mupuf on the #nouveau freenode IRC channel.
Fan at full speed on Dell T1650 https://bugzilla.redhat.com/show_bug.cgi?id=1121331
[NVCF] PWM fan speed too high https://bugs.freedesktop.org/show_bug.cgi?id=80901
[Nouveau] hwmon: question about the sysfs interface http://lists.freedesktop.org/archives/nouveau/2014-July/018012.html
nouveau funky fan club
Am 24.07.2014 16:35, schrieb poma:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/dr...
static void nouveau_therm_fan_set_defaults(struct nouveau_therm *therm) { struct nouveau_therm_priv *priv = (void *)therm;
priv->fan->bios.pwm_freq = 0; priv->fan->bios.min_duty = 0; priv->fan->bios.max_duty = 100; priv->fan->bios.bump_period = 500; priv->fan->bios.slow_down_period = 2000;
/*XXX: talk to mupuf */ #if 0 priv->fan->bios.linear_min_temp = 40; priv->fan->bios.linear_max_temp = 85; #endif }
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/dr...
static void nouveau_therm_fan_set_defaults(struct nouveau_therm *therm) { struct nouveau_therm_priv *priv = (void *)therm;
priv->fan->bios.pwm_freq = 0; priv->fan->bios.min_duty = 0; priv->fan->bios.max_duty = 100; priv->fan->bios.bump_period = 500; priv->fan->bios.slow_down_period = 2000; priv->fan->bios.linear_min_temp = 40; priv->fan->bios.linear_max_temp = 85;
}
"drm/nouveau/therm: let the vbios decide on the automatic fan management mode" https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/...
This should fix automatic fan management on fermi cards who do not
have 0x46 entries in the thermal table. On my nve6, the blob sets the default linear range from 40°C to 100°C but my nvcf's default values are 40°C to 85°C. Let's keep 85 as a default for everyone.
Here refers to NVCF, your is NV108 (GK208) i.e. GeForce GT 630 http://nouveau.freedesktop.org/wiki/CodeNames/
The fan is really LOUD all the time. How do I make it more quiet? http://nouveau.freedesktop.org/wiki/FAQ/#index25h3 ... In the mean time, if you are interested, you can read PowerManagement and/or contact mupuf on the #nouveau freenode IRC channel.
Fan at full speed on Dell T1650 https://bugzilla.redhat.com/show_bug.cgi?id=1121331
[NVCF] PWM fan speed too high https://bugs.freedesktop.org/show_bug.cgi?id=80901
[Nouveau] hwmon: question about the sysfs interface http://lists.freedesktop.org/archives/nouveau/2014-July/018012.html
nouveau funky fan club
Thank you, Mr. Fantomas, for your thorough analysis, which gave some insight even to me! But I can refrain from trying a kernel recompile which I last did a decade or so ago (although, as far as I can remember, this is not such a kind of rocket science as one might guess from the recent thread on "new kernel & rebooting").
So I'll wait until a clever patch finds its way into the (Fedora-)kernel. Meanwhile I stick to the 3.14-kernel.
On 24.07.2014, Klaus-Peter Schrage wrote:
But I can refrain from trying a kernel recompile which I last did a decade or so ago (although, as far as I can remember, this is not such a kind of rocket science as one might guess from the recent thread on "new kernel & rebooting").
This would be a perfect chance to update your kernel skills :-) The offending patch (as suggested here; I don't have any nvidia graphics and thus can't verify the effect) reverts cleanly from latest -stable ("cat patch.diff -p1 -R")
I guess the Fedora kernel .src.rpm compiles just fine doing a "rpmbuild -bb" on the .spec file. So this should not be of any problem.
So I'll wait until a clever patch finds its way into the (Fedora-)kernel. Meanwhile I stick to the 3.14-kernel.
According to git, 3.14 has been released 30 mar 2014. The offending patch has been committed 26 mar 2014..
Disclaimer: This is not an official source rpm, use at your own risk!
# yum install mock deco
- sha256sum http://goo.gl/mwJBue - kernel-3.15.6-500.fc20.src.rpm http://goo.gl/gi0Rio
$ cd /path/to/downloads/
$ deco kernel-3.15.6-500.fc20.src.rpm
$ cat sha256sum 8a1673411403a1de8ffa1343f24db6096423d9304bc8a6a678c36bbc95a978a6 kernel-3.15.6-500.fc20.src.rpm 159a3a4759163794d6b7182b79e6461b67f002d0c3a16331e3eb1acf7cf1737d kernel-3.15.6-500.fc20.src/kernel.spec 5df8dca6800a93d00362a857fe08ab9178a82c25b6173b27a0706157abe5c764 kernel-3.15.6-500.fc20.src/revert-git0e994d6-drm_nouveau_therm-let-the-vbios-decide-on-the-automatic-fan-management-mode.patch
$ sha256sum -c sha256sum
$ mock --verbose --root=fedora-20-x86_64 --with=baseonly --without=debuginfo --rebuild /path/to/kernel-3.15.6-500.fc20.src.rpm
$ ls -1 /var/lib/mock/fedora-20-x86_64/result/ build.log kernel-3.15.6-500.fc20.src.rpm kernel-3.15.6-500.fc20.x86_64.rpm kernel-devel-3.15.6-500.fc20.x86_64.rpm kernel-headers-3.15.6-500.fc20.x86_64.rpm kernel-modules-extra-3.15.6-500.fc20.x86_64.rpm kernel-tools-3.15.6-500.fc20.x86_64.rpm kernel-tools-libs-3.15.6-500.fc20.x86_64.rpm kernel-tools-libs-devel-3.15.6-500.fc20.x86_64.rpm perf-3.15.6-500.fc20.x86_64.rpm python-perf-3.15.6-500.fc20.x86_64.rpm root.log state.log
# yum install $(ls /var/lib/mock/fedora-20-x86_64/result/*3.15.6-500.fc20.x86_64.rpm)
kernel fan club
Am 25.07.2014 10:04, schrieb Heinz Diehl:
On 24.07.2014, Klaus-Peter Schrage wrote:
But I can refrain from trying a kernel recompile which I last did a decade or so ago (although, as far as I can remember, this is not such a kind of rocket science as one might guess from the recent thread on "new kernel & rebooting").
This would be a perfect chance to update your kernel skills :-)
As there was nothing else to do due to very bad weather conditions this afternoon, I dived into a kernel compile, following the guidelines in https://fedoraproject.org/wiki/Building_a_custom_kernel What an effort in time and disk space just to change a few bytes of code! But I finally succeeded in building and installing a (reversely) patched kernel package: kernel-3.15.6-200.fan.fc20.x86_64, with the hopefully expected result. Thanks Klaus
On 25.07.2014, Klaus-Peter Schrage wrote:
What an effort in time and disk space just to change a few bytes of code!
It takes no time when you already have a complete kernel tree :-) You can just apply the patch, type "make" and your're done within a minute.
Otherwise, if you plan to recompile a few times more, setting up ccache could be a good idea.
But I finally succeeded in building and installing a (reversely) patched kernel package: kernel-3.15.6-200.fan.fc20.x86_64, with the hopefully expected result.
Well done!
Unfortunately, I have no nvidia graphics to test your work. But I'm shure the ones with problems here in this thread will give you some feedback.
On 07/24/14 15:52, poma wrote: ...
"drm/nouveau/therm: let the vbios decide on the automatic fan management mode" https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/...
This should fix automatic fan management on fermi cards who do not have 0x46 entries in the thermal table. On my nve6, the blob sets the default linear range from 40°C to 100°C but my nvcf's default values are 40°C to 85°C. Let's keep 85 as a default for everyone.
I really must say that I do not understand why this change was made. Obviously it breaks the fan management for some (me included). Did it solve it for others? And what is 0x46 entries?
This is my card (a Quadro 2000):
01:00.0 VGA compatible controller: NVIDIA Corporation GF106GL [Quadro 2000] (rev a1) (prog-if 00 [VGA controller]) Subsystem: NVIDIA Corporation Device 084a Flags: bus master, fast devsel, latency 0, IRQ 45 Memory at f4000000 (32-bit, non-prefetchable) [size=32M] Memory at e0000000 (64-bit, prefetchable) [size=128M] Memory at e8000000 (64-bit, prefetchable) [size=64M] I/O ports at e000 [size=128] Expansion ROM at f6000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Capabilities: [b4] Vendor Specific Information: Len=14 <?> Capabilities: [100] Virtual Channel Capabilities: [128] Power Budgeting <?> Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Kernel driver in use: nouveau Kernel modules: nouveau
NVC0 family (Fermi) NVC3 (GF106) GeForce GT (440, 445M, 545, 555M, 630M, 635M), GTS 450, GTX 460M, Quadro 2000 (D), 2000M
Lars
On 24.07.2014 20:15, Lars E. Pettersson wrote:
On 07/24/14 15:52, poma wrote: ...
"drm/nouveau/therm: let the vbios decide on the automatic fan management mode" https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/...
This should fix automatic fan management on fermi cards who do not
have 0x46 entries in the thermal table. On my nve6, the blob sets the default linear range from 40°C to 100°C but my nvcf's default values are 40°C to 85°C. Let's keep 85 as a default for everyone.
I really must say that I do not understand why this change was made. Obviously it breaks the fan management for some (me included). Did it solve it for others? And what is 0x46 entries?
You can directly ask the developers, right. Developers, developers, developers! :)
$ grep -R -w 0x46 drivers/gpu/drm/nouveau/ drivers/gpu/drm/nouveau/nouveau_connector.c: nv_device(drm->device)->chipset >= 0x46) drivers/gpu/drm/nouveau/core/engine/device/nv40.c: case 0x46: drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: case 0x46: drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: case 0x46: drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: if (device->chipset == 0x46 || device->chipset == 0x47 || drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: if (device->chipset == 0x46) drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: case 0x46: drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: case 0x46: drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: case 0x46: drivers/gpu/drm/nouveau/core/engine/graph/ctxnv40.c: case 0x46: drivers/gpu/drm/nouveau/core/engine/graph/nv40.c: case 0x46: drivers/gpu/drm/nouveau/core/engine/graph/nv40.c: case 0x46: /* G72 */ drivers/gpu/drm/nouveau/core/engine/graph/nv40.c: case 0x46: drivers/gpu/drm/nouveau/core/subdev/therm/nv40.c: case 0x46: drivers/gpu/drm/nouveau/core/subdev/fb/nv46.c: .base.base.handle = NV_SUBDEV(FB, 0x46), drivers/gpu/drm/nouveau/core/subdev/i2c/anx9805.c: while (nv_rdi2cr(mast, port->addr, 0x46) & 0x10) { drivers/gpu/drm/nouveau/core/subdev/vm/nvc0.c: 0x28, 0x29, 0xff, 0xff, 0xff, 0xff, 0x46, 0xff, /* 0x40 */ drivers/gpu/drm/nouveau/core/subdev/vm/nvc0.c: 0xff, 0x46, 0x46, 0x46, 0x46, 0xff, 0xff, 0xff, /* 0x50 */ drivers/gpu/drm/nouveau/core/subdev/bios/pll.c: * maxN2 (0x46) and 10 * maxM2 (0x4), so set maxN2 to 0x28 and drivers/gpu/drm/nouveau/core/subdev/bios/therm.c: case 0x46: drivers/gpu/drm/nouveau/core/include/subdev/bios/conn.h: DCB_CONNECTOR_DP = 0x46, drivers/gpu/drm/nouveau/dispnv04/nvreg.h:# define NV_CIO_CRE_RCR 0x46 drivers/gpu/drm/nouveau/dispnv04/tvmodesnv17.c: 0x21, 0xf6, 0x94, 0x46, 0x0, 0x0, 0xb, 0x18,
Perhaps this one is related to this topic? :) https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers...
This is my card (a Quadro 2000):
01:00.0 VGA compatible controller: NVIDIA Corporation GF106GL [Quadro 2000] (rev a1) (prog-if 00 [VGA controller]) Subsystem: NVIDIA Corporation Device 084a Flags: bus master, fast devsel, latency 0, IRQ 45 Memory at f4000000 (32-bit, non-prefetchable) [size=32M] Memory at e0000000 (64-bit, prefetchable) [size=128M] Memory at e8000000 (64-bit, prefetchable) [size=64M] I/O ports at e000 [size=128] Expansion ROM at f6000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Capabilities: [b4] Vendor Specific Information: Len=14 <?> Capabilities: [100] Virtual Channel Capabilities: [128] Power Budgeting <?> Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Kernel driver in use: nouveau Kernel modules: nouveau
NVC0 family (Fermi) NVC3 (GF106) GeForce GT (440, 445M, 545, 555M, 630M, 635M), GTS 450, GTX 460M, Quadro 2000 (D), 2000M
Lars
developers fan club
I had this one time. The only way I found to stop it was to turn the computer off, unplug it and remove the battery for some time. Otherwise, just rebooting of switching off and on was not enough. It took me a while to think to do that and it was just horrible to always have the fan at full speed. So I hope this will work for you. Frédéric