Skip to content

[DEVICE] Thermalright MC-3 DIGITAL — confirmed working (PM=128, LED segment) #270

Description

@rjstanford-it

Device model

Thermalright MC-3 DIGITAL — DDR5 memory cooler with LED segment display (3x ARGB fans over DIMM slots, digital temp readout).

Diagnostic report

trcc report output
=========================================
 TRCC debug report — 2026-08-11 15:01:07 UTC
=========================================

## Install
  version             9.9.5
  installed_by        pip
  module_path         /home/rj/Applications/thermalright-trcc-linux/src/trcc
  interpreter         /home/rj/Applications/thermalright-trcc-linux/.venv/bin/python3
  python              3.14.6

## Platform
  distro              CachyOS
  python_impl         CPython
  machine             x86_64
  system              Linux
  release             7.1.6-1-cachyos

## Paths
  config_dir          /home/rj/.trcc
  data_dir            /home/rj/.trcc/data
  user_content_dir    /home/rj/.trcc-user
  log_file            /home/rj/.trcc/trcc.log

## Devices (1)
  0416:8001       LED Controller                  wire=led
    usb power: control=auto status=active remote_wakeup=no suspended_for=2608ms
    handshake: (live probe unavailable — device busy or LED; see Handshake-from-log below)

## Handshake (from log — fallback)
  2026-08-11T10:00:46 INFO    trcc.adapters.device._base:Led.connect:116: Led handshake OK: PM=128 SUB=96 resolution=(0, 0) style=lc1 model=LC1
  2026-08-11T10:00:46 INFO    trcc.adapters.device._base:Led.connect:116: Led handshake OK: PM=128 SUB=96 resolution=(0, 0) style=lc1 model=LC1

## Sensors (62)
  cpu:temp                            49.00 °C  (temperature)
  cpu:usage                             1.60 %  (usage)
  cpu:freq                         3386.05 MHz  (clock)
  cpu:power                                  —  (power)
  memory:used                       3921.66 MB  (memory)
  memory:available                 59975.29 MB  (memory)
  memory:total                     63896.95 MB  (memory)
  memory:percent                        6.10 %  (memory)
  memory:temp                         37.75 °C  (temperature)
  memory:clock                     2404.00 MHz  (clock)
  gpu:0:temp                          31.00 °C  (temperature)
  gpu:0:usage                           4.00 %  (usage)
  gpu:0:clock                       810.00 MHz  (clock)
  gpu:0:power                          37.69 W  (power)
  gpu:0:fan                            30.00 %  (fan)
  gpu:0:vram_used                   1491.31 MB  (gpu_memory)
  gpu:0:vram_total                 16303.00 MB  (gpu_memory)
  gpu:nvidia:0:temp                   31.00 °C  (temperature)
  gpu:nvidia:0:usage                    4.00 %  (usage)
  gpu:nvidia:0:clock                810.00 MHz  (clock)
  gpu:nvidia:0:power                   37.69 W  (power)
  gpu:nvidia:0:fan                     30.00 %  (fan)
trcc system hid-debug 0416:8001 (device free)
HID/LCD diagnostic for 0416:8001
============================================================
Handshake: Connected: (0, 0)
  resolution: 0x0
  model_id:   128
  sub_byte:   96

Persisted state:
  orientation:     0
  brightness:      100%
  current_theme:   None
  overlay_enabled: True

============================================================
USB descriptor (lsusb -v -d 0416:8001)
Bus 003 Device 005: ID 0416:8001 Winbond Electronics Corp. HID Transfer
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
  bcdUSB               1.10
  idVendor           0x0416 Winbond Electronics Corp.
  idProduct          0x8001 HID Transfer
  bcdDevice            0.00
  iManufacturer           1 Nuvoton
  iProduct                2 HID Transfer
  Configuration Descriptor:
    bNumInterfaces          1
    bmAttributes         0x80  (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bInterfaceClass         3 Human Interface Device
      bNumEndpoints           2
      Endpoint Descriptor:
        bEndpointAddress     0x81  EP 1 IN  (Interrupt, 64 bytes)
      Endpoint Descriptor:
        bEndpointAddress     0x02  EP 2 OUT (Interrupt, 64 bytes)

Device capabilities

  • LCD screen (displays images/themes)
  • LED RGB lighting
  • Both

The MC-3 is an LED segment device — it has ARGB fans and a small digital readout, no full LCD. It reports as PM=128 / SUB=96 and maps to the LC1 style (31 segments, 0 zones).

What works

  • Detectiontrcc detect finds it immediately as 0416:8001 (wire=led)
  • Handshake — Connects cleanly, PM=128 SUB=96, identified as LC1 style
  • STATIC color — Solid cyan lighting working perfectly, persists across reboots
  • Brightness control — Adjustable and persisting (currently at 65%)
  • All 6 LED modes available — STATIC, BREATHING, COLORFUL, RAINBOW, TEMP_LINKED, LOAD_LINKED
  • Daemon-based operation — Running via trcc daemon + trcc led play as systemd user services

Two issues I worked through (may be relevant for MC-3 / LC1-style devices)

1. Frozen memory temperature on standalone led play

When running trcc led play directly (without the daemon), mem_temp freezes at the boot-time DIMM reading because BaselineSensors.read_all() returns its cached _readings dict forever — there's no TTL, and only MetricsLoop.start() (which only the daemon calls) refreshes the cache. The MC-3's default display source is memory temp, so the readout showed a stale ~38°C while the DIMMs were actually at ~42°C.

Fix: Route through the daemon instead of standalone led play — set Environment=TRCC_DAEMON=1 on the led play service and add Requires=trcc-daemon.service.

2. USB suspend/resume reconnection loop

After a suspend/resume cycle, led play detects the dead USB handle and exits 1. But the systemd start-limit defaults were too loose — RestartSec=15 is slower than the start-limit window, so the unit retried forever (1279 times over 5 hours) without ever being declared failed or triggering OnFailure= recovery.

Fix: Tighten the start-limit on the led play service so three failures in two minutes trips it:

StartLimitIntervalSec=120
StartLimitBurst=3
OnFailure=trcc-reconnect.service

The trcc-reconnect.service re-binds the USB device and restarts the daemon, which re-claims the interface.

Additional context

  • Confirmed working in Windows TRCC? Yes — the MC-3 appears on the LED lighting tab in the Windows TRCC 2.1.2 app, not the LCD tab.
  • USB ID: 0416:8001 (same as the AX120/PA120 Digital series — Winbond/Nuvoton HID LED controller)
  • Hardware: Gigabyte X670E AORUS PRO X, Ryzen 9 7950X3D, 2×32GB DDR5. The MC-3 fans are also tied into CoolerControl via the IT8689E chip's fan3 channel, controlled by a custom RAM temperature sensor — TRCC handles the LED/segment display, CoolerControl handles fan PWM.

Happy to test any changes or provide additional diagnostics. Thanks for building this — it's a fantastic project!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions