Jump to content

Recommended Posts

Posted (edited)

Board: ODROID HC4
Kernel: 6.12.42-current-meson64
Issue: PWM fan control completely non-functional despite software appearing to work
 

Problem Summary:

The HC4's PWM fan runs at constant speed regardless of PWM settings. Manual PWM control has zero effect on fan speed, even when setting PWM to 0 (fan should stop/slow) or 255 (full speed).
 

What I've Tried:

Hardware Testing:

  • Verified fan wiring with schematic (Pin 1=+5V, Pin 2=GND, Pin 3=TACHO, Pin 4=PWM)
  • Tested with Noctua NF-A4x10 5V PWM fan (confirmed working on other systems)
  • Swapped PWM/TACHO wire positions - no change

 

Software Testing:

  • Manual PWM control: echo 0|50|255 > /sys/class/hwmon/hwmon2/pwm1 - no response
  • Direct PWM chip control: /sys/class/pwm/pwmchip0/pwm0/ - no response
  • Tested different PWM chips (pwmchip0, pwmchip1) and channels
  • Stopped fancontrol service to avoid conflicts
  • Verified PWM files exist and accept values

 

Overlay Testing:

  • Tried existing Armbian overlays: meson-g12-pwm-gpiox-5-fan
  • Copied PWM overlays from official ODROID Ubuntu image: fanspeed-full.dtbo, pwm_a-pwmfan.dtbo, etc.
  • Overlays present in filesystem but show no loading errors or effects

 

System Status:

  • PWM driver loaded: meson-pwm ff802000.pwm: using obsolete compatible
  • PWM devices detected: /sys/class/pwm/pwmchip0, /sys/class/pwm/pwmchip1
  • Device tree shows: cat /proc/device-tree/pwm-fan/compatible = pwm-fan
  • Fan gets power and runs, but zero PWM response

 

Research Findings:

Found GitHub discussion showing HC4 PWM was broken in Armbian (August 2023 merge/revert cycle) where "PWM pulse reading was removed from HC4." This appears to be an ongoing regression in 6.x kernels.

Similar issue documented in forum post about ODROID C2 where user had PWM files working but "nothing happen" until they manually patched device tree.

 

What I Want to Contribute:

I'd like to properly fix HC4 PWM fan control and contribute the solution back to Armbian. This affects anyone wanting quiet operation or proper thermal management.

 

Need Guidance On:

I'm relatively new to device tree development and embedded Linux, but I'm motivated to learn and contribute a proper fix.

I'd appreciate guidance on:

  • Where to start - What's the best approach for a beginner to debug device tree PWM issues?
  • Learning resources - Any recommended documentation for understanding Amlogic PWM/device tree development?
  • Debugging methodology - How to compare current vs. working device tree for PWM routing?
  • Development workflow - What tools should I learn for creating/testing HC4-specific overlays or patches?
  • Contribution process - How do device tree fixes typically get submitted and reviewed in Armbian?
Edited by Adrienne

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines