Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] MD12xx Fan Control – Dell MD1200 / MD1220 Fan Control (Beta)

Featured Replies

If this belongs in Plugin Support, please move it there. Creating a topic in that section was disabled for my account.

MD12xx Fan Control for Unraid

This started because my Docker-based MD1200 fan controller was not doing what I wanted. I wanted something native to Unraid, visible in the WebGUI, and careful enough that it would not blindly send commands to the wrong shelf.

It got a little out of hand, so now it is a standalone plugin.

This is currently a beta. It has been tested on two independently controlled Dell PowerVault MD1200 shelves. MD1220 support is included but remains experimental because I do not own one to test personally.

Features

  • Supports one or more independently controlled MD1200 or MD1220 shelves.

  • Discovers persistent serial adapters, SES enclosures, and Unraid disks.

  • Uses a guarded 20% → 50% → 20% test to prove which serial adapter controls which shelf.

  • Verifies fan response independently through SES RPM telemetry.

  • Automatically maps each shelf to its current Unraid disks.

  • Controls each shelf from its hottest active assigned disk—not an average.

  • Runs at 20% when all assigned disks are spun down.

  • Provides configurable Auto curves and Manual speeds from 20% through 100%.

  • Detects competing fan controllers and refuses to become a second writer.

  • Supervises the controller and sends local Unraid failure/recovery notifications.

  • Provides a documented local API for dashboards and other Unraid integrations.

Requirements

  • Unraid 7.3.2 or newer.

  • Dell PowerVault MD1200, or MD1220 for experimental testing.

  • A compatible SAS HBA/controller exposing the enclosure and an SES /dev/sg* device.

  • Serial access to the active/primary EMM through a persistent /dev/serial/by-id path.

  • The tested MD1200 setup uses a Dell-compatible six-pin service/password-reset cable and an FTDI USB-to-serial adapter.

  • No other Docker container, script, or plugin controlling the same shelf.

MD1400, MD1420, split-mode, daisy-chain, redundant-path, and other untested arrangements are not currently supported. I am interested in hardware reports, but I do not want to claim support before somebody proves it.

The HBA connection is read-only. It is used to map disks and read SES fan telemetry. Fan-speed commands are sent only through the selected EMM serial console.

Installation

Until it appears in Community Applications, paste this URL into Plugins → Install Plugin:

https://raw.githubusercontent.com/TheIlluminate92/unraid-md12xx-fan-control/main/releases/md12xx.fancontrol.plg

Quick start

  1. Open Settings → Utilities → MD12xx Fan Control.

  2. Leave the controller disabled, add a shelf, and select its persistent serial adapter.

  3. Run Identify & test and wait for the complete 20% → 50% → 20% test to pass.

  4. Repeat for every shelf, then enable the controller and select Auto or Manual mode.

Normal setup and commissioning are handled through the WebGUI. Terminal use is not required.

Safety and privacy

Commissioning only succeeds when exactly one SES enclosure produces the expected RPM response and the final return to 20% is independently verified.

If mappings change, disks disappear, temperatures become unavailable, another fan writer is detected, or a command cannot be verified, the plugin fails closed or uses the configured fail-safe speed.

Everything runs locally. There are no cloud services, analytics, automatic uploads, or GitHub credentials. Diagnostics stay on the server until the user exports them. Please inspect the redacted archive before attaching it to a public report.

Documentation and support

Project, releases, setup directions, safety details, and default Auto curve:

https://github.com/TheIlluminate92/unraid-md12xx-fan-control

Bug and hardware reports:

https://github.com/TheIlluminate92/unraid-md12xx-fan-control/issues

Local API documentation:

https://github.com/TheIlluminate92/unraid-md12xx-fan-control/blob/main/docs/API.md

Security problems should use the repository’s private vulnerability-reporting option instead of a public post.

Development transparency

I supplied the hardware, requirements, design decisions, testing, repeated opportunities to break things, and final release approval.

I am not going to pretend I personally wrote all the code. OpenAI Codex provided the primary implementation, tests, documentation, packaging, and debugging assistance under my direction and review. That is disclosed in the plugin and repository because I would rather be completely transparent about what people are installing.

Beta feedback wanted

I am especially looking for:

  • MD1200 reports from different HBAs, firmware, and Unraid versions.

  • Real MD1220 commissioning results.

  • Alternate FTDI adapters or service cables.

  • Discovery or disk-mapping failures.

  • Unexpected RPM behavior.

  • Reboot and array stop/start results.

  • Anything confusing, ugly, broken, or unsafe.

Storage is awesome. Quiet is power.

Screenshot 2026-09-02 080546.png

Screenshot 2026-09-02 080606.png

Edited by TheIlluminate
Remove place holders from draft forum submission.

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.