Skip to content

We're upgrading our operations to serve you better. Orders ship as usual from Laval, QC. Questions? Contact us

Bitcoin accepted at checkout  |  Ships from Laval, QC, Canada  |  Expert support since 2016

130 / 131 Warning

Whatsminer Error 130 / 131 – Fan Speed Below 3000 RPM

Inlet/Outlet fan speed error (Deviation 3000+)

Warning — Should be addressed soon

Affected Models: Whatsminer M30S++, M50S/M50S+/M50S++, M53S+, M56S, M60/M60S/M60S+, M63/M63S+, M66/M66S — the higher-tier BTMiner platforms that ship with 12,000 RPM-class 120x38 fans and trip Error 130/131 at 3,000+ RPM deviation from commanded duty.

Symptoms

  • WhatsminerTool / `api error_code` returns `130` (Inlet / `Fanin`) or `131` (Outlet / `Fanout`) — exact BTMiner wording `Inlet/Outlet fan speed error (Deviation 3000+)`
  • Web dashboard shows one fan at `~3,000 RPM` or less while the sibling is `~6,000 RPM+` and duty commanded at `80-100%`
  • `api summary` shows PWM duty pinned at `100%` while `FanIn` / `FanOut` flatlines in the low `2,000` RPM range
  • `api devdetails` intermittently returns `FanIn = 0` then spikes to `~3,500 RPM` — dying-bearing stutter signature
  • Hashboard temperatures climb `5-10 °C` over nominal before thermal governor throttles hashrate
  • Audible imbalance — survivor fan runs louder because duty is cycled harder to compensate
  • Rattling / ticking at boot that clears to a rough drone at full duty — bearing fatigue precursor
  • Control-board LED flashes red in the fan/thermal-warning pattern
  • `Error 130/131` first appeared after a fan swap with a non-original 3rd-party fan — tach pulse count / PWM curve mismatch
  • `Error 130 → Error 140 → Error 130` cycling — governor chasing a target it cannot hit
  • Intake mesh visibly matted with dust / pet hair / drywall residue
  • Error triggered only after intake ambient crossed `~30 °C` — elevated head pressure + worn bearing

Step-by-Step Fix

1

Confirm which specific error code is firing and which fan role. Open WhatsminerTool or SSH to the miner. Pull the error log or hit `api get_error_code` on port `4028`. Write down exactly which code: `130` means the *inlet* (front intake, `Fanin`) is more than `3,000 RPM` below commanded duty; `131` means the *outlet* (rear exhaust, `Fanout`) is. Also note if it's intermittent (fires then clears) or persistent (fires constantly). Intermittent on a cold miner suggests worn bearings where the rotor sticks until warm; persistent suggests dust, connector, or dead fan. This one data point determines whether you're pulling the front cover or the back cover and which spare to stage. Screenshot the error log — if this miner eventually ships to D-Central, that log is worth a billable hour of diagnostic time.

2

Restart once before anything else. The BTMiner firmware occasionally logs `Error 130` during a thermal-governor transient — ambient rose, fan ramped too slow for a few seconds, governor caught up. Reboot via the web UI or `ascset|0,reboot,0`. Let the miner fully hash for 10 minutes. If `Error 130` doesn't return, it was a transient and you've just bought yourself a monitoring line — alert on any recurrence. This is the fastest way to rule out a firmware hiccup before opening the chassis. If the error comes back within 10 minutes of rebooting, the fault is physical and you need Tier 2.

3

Check ambient intake temperature. Use an IR thermometer at the intake grille, not mid-room. BTMiner's operating spec for the M50S++ class is `5-35 °C` intake. If you're reading `36 °C+` — basement in August, poorly-ventilated closet, direct afternoon sun on the chassis — the thermal governor is asking the fans for more duty than they can deliver at the elevated head pressure. Temporarily drop the power target by 10% via WhatsminerTool and see if `Error 130` clears. If it does, your problem isn't the fan, it's the room, and you need a duct kit or an open window before winter.

4

Blow the intake / exhaust mesh out with canned air. Upright can, short controlled bursts, hold the fan blade still with a plastic probe to prevent back-spin damage. The intake grille on an M50S+ / M66 collects drywall dust, pet hair, and industrial lint faster than any operator expects. A `30%` airflow reduction from a matted intake can be enough to push a healthy fan `3,000 RPM` below demand on the higher-tier miners. If you have pets, basement shop, or any construction within 50 metres of the installation, this step alone resolves a meaningful fraction of `Error 130` tickets before any tools come out.

5

Check for obvious mechanical damage through the grille. Daylight or a flashlight through the chassis grille. Look for: a clearly broken fan blade, cable chewed by rodents (it happens), visible oil streak from a blown bearing, foreign-object debris (screws, zip-ties, shop debris) lodged in the blade path. Any one of these is a `replace the fan` decision, skip to Tier 2 physical work. A healthy M50S+ fan has no blade imperfections and no visible oil residue — manufacturing defects or post-shipping damage are rare but real on new miners, so inspect before you assume bearing fatigue.

6

Power down, open the chassis, reseat the offender fan's 4-pin PWM connector. PDU off, 60 second bleed wait, pop the top cover. Trace the fan harness for the position matching your error code — the M50S+ / M60 / M66 platform has one `Fanin` position and one `Fanout` position on most revisions (some M66S have dual-fan-per-role, check your silkscreen). Unplug the 4-pin, check the header pins for bending (tach pin is usually pin 3 but verify against silkscreen), check the connector shell for a cracked latch, firmly reseat until you feel the click. Apply dielectric grease on the pins before final reassembly. This single step fixes a meaningful share of `Error 130` tickets that arrive at D-Central's bench.

7

Inspect the fan cable end-to-end. Look for chafe where the harness runs past the sheet-metal lid edge, strain-relief damage at the fan side, heat discoloration from a nearby component, crush damage from the lid being closed on a pinched cable. MicroBT has tightened the cable routing across M50 revisions but home miners who've opened their unit frequently (or purchased an open-box unit) often have a compromised harness. If anything looks off, source a replacement harness via MicroBT-authorized parts (not a generic extension cable) — the tach pulse timing matters on BTMiner and a cable of unknown quality can cause sporadic `130` faults that are hell to diagnose.

8

Measure `+12 V` fan rail voltage at the 4-pin header under load. Multimeter on DC volts. Probe `V+` to `GND` at the BTMiner control board fan header while the miner is powered and the fan controller is commanded high (`api ascset|0,fan-spd,90` or equivalent). Expect `11.8-12.2 V` steady. Anything below `11 V` or any sag under load = a PSU rail issue, not a fan issue — you need the `Error 200/233` diagnostic path, not this one. `12 V` healthy at the header with a fan still underperforming = the fan or cable is at fault. This five-minute test saves you from ordering a new fan that won't fix the problem.

9

Test with a known-good fan if you have one on the shelf. Swap the suspect `12,000 RPM` fan with a verified-good BTMiner fan from a spare miner or a reserved spare. Power on, let it hash 10 minutes, re-check `api error_code`. If the error clears with the known-good fan, you've confirmed the diagnosis — order a replacement OEM fan. If the error persists, the problem is upstream (control board, cable, or firmware). Keeping at least one spare BTMiner-compatible fan per deployed miner class is baseline home-mining hygiene; D-Central stocks them in the repair parts catalog.

10

Use the BTMiner API to log fan RPM over 10-15 minutes. `watch -n 2 'echo {"cmd":"summary"} | nc <miner-ip> 4028'` or WhatsminerTool's performance graph. Watch for the RPM pattern: is it steady at a depressed value (`~3,000 RPM` when duty is `100%`)? Is it oscillating (rising then falling)? Is it stepping (healthy → drop → recover → drop)? Steady depression = dust or tired bearing. Oscillation = governor chasing a target it can't hit, often a mismatch with a 3rd-party fan. Stepping = intermittent connector. The pattern tells you which Tier 2/3 action to prioritize before you escalate to replacement or repair.

11

Flash the current stock BTMiner firmware. Download the latest stable firmware for your exact model (M50S+, M60S, M66, etc.) from WhatsminerTool — MicroBT gates firmware by model and hardware revision. Flash via WhatsminerTool over LAN or via the web UI's firmware page. Do NOT flash a firmware image sourced from a third-party download or a Telegram channel; BTMiner firmware is signed and the anti-tamper will refuse, but a failed flash bricks the control board. After flashing, factory-reset the miner (hold the reset button 5-10 seconds), let it rediscover pool config, and monitor `api error_code` over a 24-hour burn-in. A known-bad firmware release that misreads tach pulses will resolve here.

12

Replace the offending fan with an OEM BTMiner part — not a generic. The M50S+ / M60 / M66 stock fan spec is a `12 V / 2.8-4.5 A / 120x120x38 mm / 12,000 RPM / 4-pin PWM / dual ball-bearing axial`. Source through MicroBT-authorized channels. If you must substitute a 3rd-party fan (supply shortage, custom cooling project), install a [Whatsminer 4-pin fan simulator](https://www.zeusbtc.com/ASIC-Miner-Repair/Parts-Tools-Details.asp?ID=3367) on the other fan position to spoof the BTMiner tach expectation — without the simulator, BTMiner will throw `Error 130` permanently because your 3rd-party fan's tach-pulse count won't match. Install, verify operation for 15 minutes at nameplate load, confirm error-free.

13

Replace the BTMiner control board (Tier 3+ scope). If you've proven in Step 6 that the error follows the *slot* not the *fan*, the control board's PWM gate driver or the fan-rail SMD fuse is the fault. On the higher-tier M50S+ / M60 / M66 platform, component-level rework on the control board requires a hot-air station (`290 °C` nominal), microscope, and the right SMD replacement parts (typical fan-rail fuse is a 1206-package 5-10 A fast-blow). If you don't have the bench or the comfort, ship to [D-Central's ASIC Repair bench](https://d-central.tech/services/asic-repair/) — we stock pulled M-class control boards for parts and have the Whatsminer diagnostic fixtures to verify the repair before shipping back.

14

If the miner is a hydro or immersion variant, verify the fluid-circuit cooling is actually working. Hydro M53S+ / M56S+ / M63S+ variants still have a small fan for the control-board enclosure. If that fan trips `Error 130` it's a similar fault to air — but *also* verify hydro pump RPM, coolant flow rate, and hydro heat-exchanger airflow. A compromised hydro loop with a healthy control-board fan can produce `Error 130` because BTMiner is trying to drive the chassis fan harder than it can go to compensate for hydro-side inadequacy. For immersion variants, the chassis fan error is pure diagnostic signal unless you've left the chassis fan plugged in with no role — disconnect cleanly if you've removed the air pathway.

15

Stop DIY and book a D-Central bench diagnostic when any of these are true: `Error 130` persists after OEM fan replacement (control-board fault), you've measured `+12 V` rail dead at the fan header (board-level), two or more fans failed in the same rig within 30 days (points upstream to PSU or grounding), `Error 130` coincides with `Error 213 / 236 / 600 / 610` thermal codes (cascade failure), you attempted component-level rework and lifted a pad, or you're running a hydro / immersion variant and the fault is downstream of an unfamiliar fluid-loop component. The [D-Central ASIC Repair service](https://d-central.tech/services/asic-repair/) stocks M-class control boards, OEM fans, and bench fixtures for the full M50S+ / M60 / M63 / M66 lineup.

16

What D-Central does at the Whatsminer bench. Verify against a known-good M50S+ / M60 / M66 reference unit at nameplate load. Component-level MM control-board repair including fan-rail fuse replacement, PWM driver replacement, and tach-line pull-up repair. Full thermal-paste refresh on all three hashboards if the fan fault ran long enough to cook the interface. 24-hour nameplate burn-in with continuous `api error_code` polling — no miner leaves the bench with an unresolved error code. Canadian customers ship to our Quebec bench for fastest turnaround on the continent; US and international welcomed.

17

Ship the miner complete, not stripped. Remove the three hashboards and wrap each in anti-static bags, but leave the chassis, control board, and fans assembled. Include a note with your failing `api error_code` output, BTMiner firmware version, the exact symptoms, and what you've already attempted. Double-box. That pre-work saves diagnostic hours on our side, which saves repair dollars on yours. DCENT_OS coverage for Whatsminer is on D-Central's roadmap (exploration phase, not yet available) — today your M50S+ / M60 / M66 runs stock BTMiner only.

When to Seek Professional Repair

If the steps above do not resolve the issue, or if you are not comfortable performing these repairs yourself, professional service is recommended. Attempting advanced repairs without proper equipment can cause further damage.

Related Error Codes

Still Having Issues?

Our team of Bitcoin Mining Hackers has been repairing ASIC miners since 2016. We have seen it all and fixed it all. Get a professional diagnosis.