Argon Poly+ fan works in ON mode, but PWM mode never appears on I²C in DietPi 10.5.2

I’m trying to get the fan in an Argon Poly+ case for Raspberry Pi 4 working properly under DietPi, and I’m hoping someone here may have seen this before or can suggest a workaround.

Hardware / system

  • Raspberry Pi 4

  • Argon Poly+ case

  • Fan switch is labeled ON / OFF / PWM

  • DietPi version:

    • Core: 10

    • Sub: 5

    • RC: 2

    • Branch: master

  • /dev/i2c-1 exists

  • I²C is enabled in dietpi-config

  • I²C frequency is set to 100 kHz

What I observe

The fan behaves like this:

  • In ON mode, the fan runs normally.

  • In OFF mode, the fan stops.

  • In PWM mode, the fan does not turn on at all.

I expected PWM mode to allow Argon’s fan control daemon to manage fan speed, but it never seems to communicate with the controller.

What I tried

I tried the current Argon install script for the case, and the service appears to install and run normally:

  • argononed.service shows active (running)

  • The daemon process is running from /etc/argon/argononed.py

I also verified that the config file is present and that the service is using the expected daemon config name:

  • /etc/argononed.conf

I then tried the following checks and tests:

I²C scans

bash

sudo i2cdetect -y 1

Result: completely blank grid, no device detected.

This was true even after:

  • confirming I²C is enabled in dietpi-config

  • confirming /dev/i2c-1 exists

  • confirming the i2c_bcm2835, i2c_dev, and i2c_bcm2708 modules are loaded

Temp check

bash

vcgencmd measure_temp

This works and reports a normal temperature, around 55.5°C at idle/light use.

Argon service

bash

systemctl status argononed.service
sudo journalctl -u argononed.service -n 30 --no-pager

The service is running cleanly and doesn’t show an obvious error.

Config file

I checked the fan config and found the expected file is:

bash

/etc/argononed.conf

not /etc/argonone.conf.

What I’ve concluded so far

At this point it seems like:

  • the fan itself is not dead

  • the ON position proves the fan motor and power path work

  • the problem is specific to PWM mode

  • the controller never appears on I²C, so the daemon has nothing to talk to

Because the exact same hardware worked previously under Raspberry Pi OS, I’m wondering whether this is:

  • a DietPi-specific I²C / firmware / device-tree interaction,

  • a board/controller quirk,

  • or a hardware issue with the controller side of the Argon board rather than the fan itself.

Questions

  1. Has anyone gotten the Argon Poly+ PWM fan mode working reliably on DietPi?

  2. Is there a known DietPi-specific fix, overlay, package, or boot setting that helps the Argon controller show up on I²C?

  3. Is there a way to force the Argon controller to enumerate, or a different install path that works better on DietPi?

  4. If PWM mode is unreliable on DietPi, is the best workaround simply to leave the fan in ON mode?

Thank you for any help or suggestions.

On my argon one rpi 4 case I have to load an overlay

dtoverlay=argonone

But the argon installation script took care of that.
I also can not find any manual for your case, what script did you use to install the fan control?
It’s it possible that you used the argon one script, since your config file is named argononed.conf, and not poly?
And are you sure it uses I2C and is not controlled directly via GPIO? I can imagine this 8€ case has no dedicated controller

I found more info. The case is using the argon mini fan, which is not controllable via I2C.
Here’s the manual

dtoverlay=gpio-fan,gpiopin=18,temp=55000

When using a script, assure that it is compatible with the “modern” (3 yo) kernel stack, with /boot/firmware/config.txt instead of /boot/config.txt. The PDF e.g. uses the old path, and not all scripts have proper error handling to inform you if a file does not exist.

Thanks to all. My problem persists. This is actually where I started and I installed the argon1 script to try and “fix” the issue with the fan never coming on. Obviously you have found the answer, but I have some fan hardware issue. The fan did operate this way under Raspberry Pi OS trixie, but it’s not working with DietPi. I bought the case and the fan through Amazon with the description “Actively cool RPI 4 with Argon Mini Fan with integrated heatsink and 30mm PWM fan. Customize fan performance with the included Argon ONE Pi+4 script.”

I went back to Amazon to look at the order and the reviews show lots of people with the same issue with the fan or similar reports of it not working unless just always on. No need for any further help here, it’s hardware. Thanks again. DIetPi works great and I’m using it daily.

If it did work on Raspberry Pi OS Trixie, then it should work on DietPi just the same way. Or does it not work anymore on RPi OS either now?

In case compare the dtoverlay=gpio-fan line, and check e.g. via cpu command whether the defined temperature has actually been reached. Set it lower in case for testing.

I’ve broken the on off pwm switch somehow. It doesn’t work on Raspberry Pi OS or OpenWrt Linux either now. Not sure how it happened.

Ah okay, that is bad :slightly_frowning_face:.

“PWM” btw seems to be wrong wording (also from Argon end), as it is a GPIO-controlled on/off switch, no actual PWM that would support multiple fan speeds at multiple temperature points. For real PWM fans, there would be the pwm-gpio-fan overlay, which supports 4 trip points: firmware/boot/overlays/README at cffc70a938e77693db346320f02bc73bc8924cf7 · raspberrypi/firmware · GitHub

Or maybe it is a real PWM fan, and they just for some reason documented the simple on/off overlay only. That the pwm-gpio-fan uses pin 18 by default, while they override the default pin 12 to 18 for the gpio-fan overlay, is actually a good indicator. Might be even worth to test the pwm-gpio-fan overlay. Maybe something changed kernel-wise, so that the gpio-fan overlay cannot be used the same way for PWM fans anymore :thinking:.

EDIT: It was added here: New PWM cooling fan overlay for Pi 3/4 by herbingk · Pull Request #6572 · raspberrypi/linux · GitHub
They mention that the hardware PWM devices conflict with analogue audio output, and this overlay does a kernel software side implementation.