Live data from Hacker News

More than you cared to know about PC fans

nick-black.com

71–80 of 102 posts

Re: More than you cared to know about PC fans

#71
post #31

I haven't assembled PC in long time, by now I'd expect you can build passively cooled PC if you use PC just for some regular office job and surfing without gaming and resource heavy apps or we are still not there? Back in the days undervolting was for me for interesting than overclocking to make PC as quiet as possible.

Some passively cooled PCs exist, but they're niche and expensive.

It's a lot easier to make one that's quiet, but not silent. Big fans that spin slow and not going crazy with bleeding-edge hardware do wonders. Yeah, if you really want, you can try to underclock/undervolt some things here and there.

Re: More than you cared to know about PC fans

#72

Earlier quoted context omitted.

> and maybe your crappy motherboard vendor shouldn't be writing a ton of code running in kernel space - with all the potential stability and security issues that might entail This wasn't the suggestion I was making. I was suggesting that the motherboard, itself , should be controlling the fan RPMs (or should at least provide such a mode). I don't feel like taking a temperature input, and mapping that to an RPM output…

> I was thinking a (very small) auxiliary chip, dedicated to the task. Extra cost (both in design and manufacture), new potential point of failure (both for manufacture and in the field), when the CPU failing was already a single point of failure for the machine. It's not that a full-blown CPU is required, it's that you already have a full-blown CPU that can do the job, simplifying the design. Well, you might see ded…

> Extra cost (both in design and manufacture), new potential point of failure (both for manufacture and in the field)

"But the BOM" is a tired trope in any discussion about "why can't it do X?". My money would be where my mouth is. But HW manufacturers routinely make design decisions that are simple negatives.

Motherboard manufacturers, in particular. Mobo marketing is focused on colors and flashy effects instead of on quality of production and actual function, beyond a bare minimum of tech specification. AFAICT the products are indistinguishable as no attempt is made to stand out.

> when the CPU failing was already a single point of failure for the machine

… and so is the RAM, the disk, the GPU, the northbridge, the southbridge, the eastbridge…

That's not a valid rationale for "let's a adopt a fundamentally flawed design".

> Have you actually seen one of these that noticably bogs down the fan-driving firmware/drivers and causing issues?

"Fan-driving firmware" is essentially the suggestion. It's what I haven't got.

> I've had fan failures. I've had plenty of hardware controlled fans go full apeshit 100% power to the point of being not merely a nuisance, but a problem (audio, vibration, wear+tear, ...).

No; in my current rigs 10 year lifespan, the fans have been run continuously at 100%, and no fan failures.

The noise, of course, is a nuisance. That's why I'm looking for something that can control the fans in response to temperature, such that the fans can be driven at a temperature-appropriate RPM.

But without doing that in userspace, where the controller might just "die" or effectively die, for any number of reasons, outlined earlier.

> But I don't think I've seen so much as a blog post about the CPU getting so starved that it can't spin up the CPU fans.

I couldn't find any posts reasoning about anything. Either it's not a problem, or just nobody is thinking.

> and that extra hardware or engineering for a minor improvement to a "purely theoretical" failure mode doesn't sound like it'd pay for itself.

Yeah, I was just trying to learn before attempting, literally, "IDK, try it and see if you trip the critical temp cutoff."

Yeah, no doubt the various hardware safeties will save you (although it might put some undue stress on stuff to be at >100℃…) but it might also leave you with a rather hard-to-debug situation if you start experiencing stalls or shutdowns.

… and it's only in desktops that this problem seems to exist. On every laptop I've owned, fan control is in response to temp. (And not handled in userspace, although I presume I could download any of the various fan control programs and have it be that way, but the point is that the HW is, out of the box, doing the sane thing.)

Re: More than you cared to know about PC fans

#73
post #65

Earlier quoted context omitted.

> and maybe your crappy motherboard vendor shouldn't be writing a ton of code running in kernel space - with all the potential stability and security issues that might entail This wasn't the suggestion I was making. I was suggesting that the motherboard, itself , should be controlling the fan RPMs (or should at least provide such a mode). I don't feel like taking a temperature input, and mapping that to an RPM output…

On typical desktop motherboards, the Super IO chip handles all the temperature monitoring and fan control. Those chips usually have a few modes to configure some very simple control system for mapping temperature inputs to fan speed outputs (never anything as advanced as a PID controller). The main problem is that the Super IO only has access to the temperature sensors on the motherboard itself, and on the CPU (these…

Hmm. I guess I have no idea how this chip interfaces with the kernel then? The only knobs that seem to be documented to exist ever are direct RPM controls for manual control.

I know it's possible (despite the insistence to the contrary on the other thread), as basically every laptop does it. Only do desktops seem to struggle with this concept.

Re: More than you cared to know about PC fans

#74
post #67

Also, one thing I've always wondered: why do people want to use hwmon to set fan RPMs? (Or really, why do this from userspace at all?) It seems inherently dangerous to me, as you're asking a process who might not receive CPU time for whatever reasons from the very much not realtime OS to control a fan; if the current RPM is too low, and the system starts generating heat, but the fan controlling process doesn't get CP…

> why do people want to use hwmon to set fan RPMs? (Or really, why do this from userspace at all?) Some people want to have a mode switch; normal use should be silent/quiet, but when you know you're going to do something big (game, big compile, etc), fix the fans at full so the noise is consistent and cooling is best. (the cooler the chip, the more the boost) Some people have no good options from the system firmware,…

> Some people want to have a mode switch; normal use should be silent/quiet, but when you know you're going to do something big (game, big compile, etc), fix the fans at full so the noise is consistent and cooling is best. (the cooler the chip, the more the boost)

Yeah, I don't doubt someone is like that … I'd just rather it be automatic.

> My recent motherboards all seem to have a pretty nice fan configuration tool.

Mine has a "flashy" tool, I would say. Certainly looks pretty, but again, it's all constant RPM options.

As I lament in the other thread, this is something that would differentiate boards at time of purchase, but no mobo manufacturers marketing dept. seems to have it's shit together enough to get such a differentiation across to the consumer. Instead the focus seems to be completely on the aesthetics of how the board looks.

And again, I've chalked this up to having chosen poorly. But there-in is the problem: assuming I chose poorly, assuming some mobos do support sane defaults/fetures … how do I end up finding and purchasing one of those? Any knowledge I acquire during a purchase is useless the next time around, given the constant product churn HW manufacturers nonsensically do.

Re: More than you cared to know about PC fans

#76
post #65

Earlier quoted context omitted.

On typical desktop motherboards, the Super IO chip handles all the temperature monitoring and fan control. Those chips usually have a few modes to configure some very simple control system for mapping temperature inputs to fan speed outputs (never anything as advanced as a PID controller). The main problem is that the Super IO only has access to the temperature sensors on the motherboard itself, and on the CPU (these…

Hmm. I guess I have no idea how this chip interfaces with the kernel then? The only knobs that seem to be documented to exist ever are direct RPM controls for manual control. I know it's possible (despite the insistence to the contrary on the other thread), as basically every laptop does it. Only do desktops seem to struggle with this concept.

How fan control is configured depends on the SuperIO chip, so it's different for eg. Fintek SuperIOs than for Winbond/Nuvoton SuperIOs.

On Linux, a supported SuperIO will be exposed as a directory under /sys/class/hwmon. On one of my systems, the SuperIO is a Nuvoton NCT6791, so the relevant driver documentation is https://www.kernel.org/doc/Documentation/hwmon/nct6775

Relevant sysfs files to note are pwm[1-7]_mode to toggle between DC voltage and PWM control, and pwm[1-7]_enable to switch between full speed, pure software speed control, and several Nuvoton-specific automatic speed control modes.

Re: More than you cared to know about PC fans

#77
One interesting thing to note is the P/Q fan curve. It plots how much air a fan, at a specific PWM frequency, moves against a variable restriction (measured in pressure drop). Here's a sample - https://noctua.at/en/nf-a12x25-performance-comparison-to-nf-...

Hypothetically, knowing the heatsink airflow curve, one can find the amount of air a fan will move across.

There are PQ curves (either reported or measured) for a bunch of fans and some radiators out there.

Re: More than you cared to know about PC fans

#78
post #67

Earlier quoted context omitted.

> why do people want to use hwmon to set fan RPMs? (Or really, why do this from userspace at all?) Some people want to have a mode switch; normal use should be silent/quiet, but when you know you're going to do something big (game, big compile, etc), fix the fans at full so the noise is consistent and cooling is best. (the cooler the chip, the more the boost) Some people have no good options from the system firmware,…

> Some people want to have a mode switch; normal use should be silent/quiet, but when you know you're going to do something big (game, big compile, etc), fix the fans at full so the noise is consistent and cooling is best. (the cooler the chip, the more the boost) Yeah, I don't doubt someone is like that … I'd just rather it be automatic. > My recent motherboards all seem to have a pretty nice fan configuration tool.…

The two boards I've gotten recently advertise the features:

https://www.gigabyte.com/Motherboard/A520I-AC-rev-1 look for "Smart Fan 5", there's a tab you can click and see what the customization UI looks like (it's in the firmware settings usable with keyboard or mouse). ITX does mean this isn't a 'value' board, but when I got it the premium above mATX wasn't that much (and probably mostly went to the wireless I don't really need and barely ever use)

My other board is a bit more upmarket https://www.asrock.com/mb/AMD/B550M%20Pro4 it doesn't show anything on the marketting page, but in specifications it mentions "Smart Fan Speed Control" and the UI to configure it is pretty similar.

You get to set about 5 temp -> fan % settings and I can keep things cool without being noisy until I've got sustained load and then it's noisy and warm anyway. The ITX systems can only do so much with a cooler + heatsink height of 36mm (at 37mm the fan housing touches the mesh side panel), and the b550 currently has an anemic Wraith Stealth. Even with 65w target chips, that's not enough to keep them below 90C at high load.

I think my older boards have basic quiet/loud/full speed settings but not detailed ramp settings; but it's been a while and they're either hidden in the basement/garage or not used often so I didn't care about noise. :D

Re: More than you cared to know about PC fans

#79
post #71
post #31

I haven't assembled PC in long time, by now I'd expect you can build passively cooled PC if you use PC just for some regular office job and surfing without gaming and resource heavy apps or we are still not there? Back in the days undervolting was for me for interesting than overclocking to make PC as quiet as possible.

Some passively cooled PCs exist, but they're niche and expensive. It's a lot easier to make one that's quiet, but not silent. Big fans that spin slow and not going crazy with bleeding-edge hardware do wonders. Yeah, if you really want, you can try to underclock/undervolt some things here and there.

I think it's useful to draw a distinction between a silent computer and one that is merely inaudible. For a typical PC, all you really want is for it to not noticeably raise the noise floor of the office it occupies. Going down the route of truly silent PCs forces severe compromises, and in almost every use case it would be better to have fans, properly configured to always spin, with a minimum speed low enough to be inaudible.

Re: More than you cared to know about PC fans

#80
post #68

Earlier quoted context omitted.

Slow big fans on my home receiver kept it going much longer than it probably would have lasted passively cooled.

Can you recommend a fan setup for that?

AC Infinity usb fan on amazon. Silent, but moves enough air, and you can bump up the speed.
Post reply on HN