home..

You Shall be Quiet! A Fantastic Investigation

Imagine you buy a shiny new computer case, then assemble all hardware until you get to the point when you finally press the power button to start your piece of art - and it boots! - … and after that problems arise.

tl;dr at the end.

The shiny new case up for investigation

But first, let us start with the setting. The case is a be quiet! Dark Base Pro 900 Black rev. 2. I want to point out one specific feature, which was no selling point for me personally, but if there is some feature, you want to use it, am I right? The case contains a so-called “fan hub”, which allows you to control up to eight fans manually with a slider in the front panel as well as automatically by the mainboard using PWM. My mainboard is a Gigabyte X570 AORUS PRO (rev. 1.2). Shiny new case In the photo snapshot (sorry for bad quality!), you can see two “fan rails” with four PWM ports each (labels 1 to 8). The top left cable A is the PWM cable, which must be connected to a mainboard PWM header to allow the mainboard to control the fans. B, C are power cables, and D connects the front panel slider. The fan hub came assembled in the parcel with all cables connected. Most importantly, the three pre-installed case fans were connected to ports 6, 7, 8. We will see why this is important…

The problem and snolutions

Back to starting the computer and experiencing problems: The fans controlled by the fan hub spun with full speed and reported 0 RPM. Manually changing fan speed with the front panel slider worked perfectly fine, but switching to “auto” mode by moving the front panel slider to the left did not. In the mainboard BIOS, I tried to manually enforce the fan header’s mode to PWM, however, this did not change anything. In addition, other fan headers did not work either. It looked like the fans did not run in PWM mode. Crawling through the internet, I discovered several threads with people having problems with this fan hub. In the end, all threads had three different kind of outcomes: 1. The thread died prematurely with a cliffhanger. 2. The thread opener surrendered and did not use the fan hub. 3. The thread opener somehow solved the problem without explicitly stating the solution or the solution did not entirely fix my issues. This blog post should help to avoid such situations in the future. So, let us gather the scattered information!

The right connection

As I mentioned earlier, the case fans were initially connected port 6, 7, and 8 after opening the parcel for the first time. This was error number one. As some users mentioned, one fan MUST be connected to port 1. Connecting one fan to port 1 solved the RPM reporting issue. My explanation: The fan hub ALWAYS reports the RPM of the fan connected to port 1. No fan connected = 0 RPM. (The clever reader might have noticed that I also moved one fan to port 5. This was my first attempt in fixing things, since I thought port 5 would be port 1 - reading labels would have helped. However, this did not change anything. Out of laziness I did not move the fan back to port 6 or 7; this should not have any impact, but YMMV) .

We now have fans spinning with maximum RPM and a hub correctly reporting the RPM to the mainboard. I configured the fan header to mode “PWM” manually in the BIOS. However, controlling fans still did not work. To pin down the source of the issue, I tried to manually change fan curves in the BIOS and manually set RPM speed in both Linux and Windows. It looked like the fan hub did not respond to the transmitted PWM signal.

At this point, I was about to request support by the case manufacturer since I suspected a hardware issue. However, I remembered a forum thread where a user noted that some headers on mainboards are not “real” PWM headers despite having four pins. However, the mainboard manual clearly states that all fan headers can operate in PWM mode with no differences between them. So, it has to work with port SYS_FAN4, right? … right? I was so wrong. Despite my beliefs, I tried connecting the fan hub to CPU_OPT instead of SYS_FAN4. Results: Fans spin with full RPM and correctly report the readings in fan header mode “auto”. But after changing header mode to “PWN”, everything finally worked! Then, I connected the fan hub to SYS_FAN2 just to try out some other header. This showed the same behavior as CPU_OPT. I was confused since I did not understand why CPU_OPT and SYS_FAN2 should be different from SYS_FAN4? To rule out hardware issues, I tried to use SYS_FAN5_PUMP - same behavior as SYS_FAN4. Regular PWM fans work perfectly fine when connected to headers SYS_FAN4 and SYS_FAN5_PUMP! We can see the solution in the output from the tool sensors on Linux:

$ sensors
it8688-isa-0a40 Adapter: ISA adapter
[...]
CPU_FAN:       991 RPM  (min = 10 RPM)
SYS_FAN1:        0 RPM  (min = 0 RPM)
SYS_FAN2:      810 RPM  (min = 10 RPM)
PCH_FAN:      2393 RPM  (min = 0 RPM)
CPU_OPT:         0 RPM  (min = 0 RPM)

it8792-isa-0a60 Adapter: ISA adapter
[...]
SYS_FAN5_PUMP:   0 RPM  (min = 0 RPM)
SYS_FAN6_PUMP:   0 RPM  (min = 0 RPM)
SYS_FAN4:        0 RPM  (min = 0 RPM)

We can see that fans are controlled by different chipsets. Mystery solved, case closed, not a fan of it.

tl;dr The be quiet! PWM fan hub should be configured and connected as follows:

  1. Fan hub port 1 reports PWM to the mainboard. No fan connected to this port = 0 RPM.
  2. Enforce the mainboard fan header’s mode to PWM and do not use “auto”.
  3. Some chipsets may have problems with the fan hub (e.g. it8792).
© 2022 Steffen Klee   •  Theme  Moonwalk