[PATCH 0/5] hwmon: (nct6683) Fan control for ASRock B850 Steel Legend WiFi
From: Johan Dahlin
Date: Tue Aug 25 2026 - 05:27:20 EST
Fan control does not work on an ASRock B850 Steel Legend WiFi (NCT6686D,
EC firmware 1.0 build 10/29/24). The driver does not recognise the board's
customer ID, so it only probes with force=1. Its pwm attributes are then
read-only, and even once writable the EC ignores them until the fan is put
in manual mode through register 0xa00, which the driver does not expose.
Writes that do get through are sometimes silently discarded, because the
settling delay in store_pwm() is too short on this firmware.
This series fixes those one at a time. Patch 1 stands on its own: a write
that succeeds on the first attempt issues the same register sequence as
today, so boards that work now are unaffected. The fan control changes are
exposed on verified boards only.
With the whole series applied, all six fans report and pwm[1-6]_enable read
2 after probe:
fan1: 815 RPM fan2: 631 RPM fan5: 386 RPM fan6: 354 RPM
With pwm5 in manual mode:
written applied fan5
60 60 337 RPM
100 100 443 RPM
150 150 627 RPM
200 200 794 RPM
255 255 933 RPM
Writing 2 back returns the fan to the EC, as does unloading the driver.
Without patch 1, two of six writes were lost and the fan kept following its
previous value.
Each patch was also built individually. I have no access to Mitac, MSI or
Intel hardware.
Johan Dahlin (5):
hwmon: (nct6683) Retry pwm writes until they take effect
hwmon: (nct6683) Add customer ID for ASRock B850 Steel Legend WiFi
hwmon: (nct6683) Add pwm[1-8]_enable
hwmon: (nct6683) Restore fan control mode on driver removal
hwmon: (nct6683) Enable pwm control on ASRock B850 Steel Legend WiFi
Documentation/hwmon/nct6683.rst | 7 ++
drivers/hwmon/nct6683.c | 124 +++++++++++++++++++++++++++++---
2 files changed, 122 insertions(+), 9 deletions(-)
--
2.53.0