Whatsminer – Firmware Update via MinerTool
Warning — Should be addressed soon
Symptoms
- WhatsminerTool progress bar stalls between 20% and 90% and never completes the upgrade
- Status column in WhatsminerTool flips to `upgrade fail`, `offline`, `timeout`, or blank after the upgrade push
- Miner reboots mid-flash and returns to the dashboard with the old firmware version still reported
- `system.log` / `miner.log` contains error codes `800`, `801`, `802`, `8410`, `100001`, `100002`, or `100003`
- Web UI at `http://<ip>` shows a bare firmware-upload page instead of the normal Whatsminer dashboard
- Fans stuck at 100% post-flash with no thermal-governed ramp-down within 10 minutes
- `ping <ip>` succeeds but API port `4028` refuses TCP or returns `{"STATUS":"E","Msg":"miner is not ready"}`
- IPFOUND / IPReporter sees the MAC but WhatsminerTool pops `Connection reset` or `No response from miner` during upgrade
- Hashrate reads `0 TH/s` for more than 10 minutes after the flash reportedly completed
- Upgrade fails only across wifi or managed switch; wired Cat5e direct link succeeds
- Same `.bin` flashes cleanly on a second identical miner but fails on this one (points at PSU sag or eMMC wearout)
- Fault appeared immediately after a power blip, laptop sleep, VPN disconnect, or antivirus scan mid-flash
Step-by-Step Fix
Cold-power the miner for 60 seconds by pulling the C19 cord. Do not rely on a soft reboot. This clears the upgrade state flag in the control-board volatile memory. Some M30S builds hold a `flash pending` flag across soft reboots that only clears on full AC removal. Expected on next power-up: fans spin at full, LED returns to its normal heartbeat within 60 seconds, and `IPReporter` / `IPFOUND` sees the MAC. If Status in WhatsminerTool reads `uboot`, `recovery`, or `rescue`, escalate to the Firmware Recovery Mode playbook, not this one.
Verify the sub-model label on the chassis. `M30S`, `M30S+`, `M30S++`, `M50S`, `M50S+`, `M50S++` look identical from the front; the sticker on the side or bottom tells the truth. Match your `.bin` filename precisely to the label. A single `+` mismatch on a signed build is rejected with code `8410` in `system.log`; on older unsigned builds it bricks. Redownload the correct image from `support.whatsminer.com/en-US` if you are not 100% sure.
Redownload the firmware from the official portal `support.whatsminer.com/en-US`. Do not flash a forum-hosted image on signed Whatsminer hardware. The download should complete in a single session; if it stalls, your ISP is mangling it and you should retry on a different network. Verify file size matches what the portal lists. Copy to a known-good folder on the flashing laptop, outside any auto-sync cloud directory that might corrupt it mid-flash.
Press the `IPFOUND` button on the miner and confirm MAC + IP in WhatsminerTool. If the `Status` column reads `uboot`, `recovery`, `rescue`, or is blank, stop here and work the Firmware Recovery Mode playbook instead of this one. Otherwise retry the upgrade with laptop sleep disabled, wifi off, antivirus paused, and VPN disconnected. Start the flash and do not touch the laptop for 10 minutes. Any interruption during the eMMC write window can corrupt the payload.
Isolate laptop + miner on a dumb unmanaged switch. Any `$25` 5-port switch beats a prosumer wifi router or managed switch for firmware pushes. Disable STP, VLAN tagging, and jumbo frames on the path. Disable the laptop's endpoint-protection firewall for the flash window. Retry the WhatsminerTool upgrade end-to-end. Network isolation resolves roughly 70% of MinerTool upgrade stalls before any deeper work.
Go direct: Cat5e or Cat6 patch cable laptop-to-miner, bypassing all switches. Statically assign the laptop NIC to `192.168.1.99/24`. Confirm `ping <miner-ip>` returns under 2 ms and has zero packet loss for 60 seconds before starting the flash. Direct link eliminates every switch-side variable including STP convergence delays, broadcast frame drops, and VLAN tag stripping. Retry the flash with the laptop asleep-disabled and wifi off.
Multimeter on DC at the PSU-to-control-board connector while the miner is idle post-failure. Target: `>= 12.0 V` sustained on M30S-class, `>= 12.2 V` sustained on M50S / M60S-class. Below target = tired PSU or undersized circuit. Swap the PSU with a known-good unit and retry the flash. eMMC writes during firmware application are sensitive to rail sag; a marginal PSU produces flashes that complete cleanly but store corrupt bytes that surface as kernel panics on first boot.
Run `Restore Configuration` via WhatsminerTool. Remote Ctrl -> Restore -> Miner Setting or Factory. This clears stored pool config, IP config, and partial-upgrade state flags. Older `20210425.x` and earlier M30S builds hold the upgrade flag across cold-boots; a restore clears it cleanly. Retry the upgrade. Note: this wipes your pool / wallet / worker config, so export a config backup first via Remote Ctrl -> Export Config.
Firmware version rotation. Pull the last-three versions for your sub-model from `support.whatsminer.com`. Flash one version back from what you attempted, observe 15 minutes for stability, then flash your target version again. If your target is a community-flagged known-buggy build, the one-version-back almost always loads cleanly and acts as a stepping stone. MicroBT ships no changelog, so this is the community's diagnostic for known-bad builds.
Prepare a microSD recovery card. `8 - 32 GB`, format `FAT32` (not `exFAT`, not `NTFS`), copy the sub-model-correct `.bin` to the card root, eject cleanly. Check the control-board PCB near the ethernet jack for a rescue microSD slot; some M30S revs expose it, some do not. If yours does, power off, insert, power on, and wait 4 - 7 minutes. Fans drop from 100% to thermal-governed speed when the new image boots. Do not interrupt during the write window.
Attach a `CP2102` or `FT232` USB-to-UART adapter at `3.3 V` logic, `115200 8N1` to the control-board debug header. Three pins on the silkscreen: `TX`, `RX`, `GND`. Laptop TX to miner RX, laptop RX to miner TX, common `GND`. `5 V` adapters destroy the control-board UART receiver - verify `3.3 V` before plugging in. Open `PuTTY`, `minicom`, or `screen` and power on. Capture the full boot sequence. A clean `u-boot` banner plus kernel-load lines = recoverable firmware issue; silence = dead control-board CPU (Tier 4).
TFTP recovery from `u-boot`. Interrupt the autoboot countdown with any key at the serial console. Verify `mmc dev` and `mmc info` succeed. Spin up `tftpd64` on the laptop (Windows) or `tftpd-hpa` (Linux), drop the correct sub-model `.bin` into the TFTP root, set laptop static IP, and run the vendor's TFTP pull + eMMC write sequence from the `u-boot` prompt. Exact commands are sub-model specific - cross-reference the Whatsminer Medium self-service guide for your hardware revision before typing anything that writes to flash.
Anti-tamper eMMC wipe for `100001` / `100002` / `100003`. If the miner previously ran Vnish, Asicdip, HiveOS, or LuxOS, you must wipe reserved eMMC blocks that hold anti-tamper state. From `u-boot`: `mmc erase <start_block> <count>` for the rescue / factory-reserved regions (block numbers are sub-model specific - look them up in the Medium self-service guide), then flash the stock signed `.bin` fresh. This converts an unrecoverable `stock flash keeps rejecting` loop into a normal flash. Do NOT guess block numbers.
eMMC read-back integrity check. After a successful flash that still fails to boot, back up the eMMC image via `u-boot` `mmc read` to a known-good address, dump it over TFTP to the laptop, compute `md5` on the laptop, and compare with the original `.bin`'s published hash. Mismatched bytes at stable eMMC offsets across two read-backs = eMMC bad blocks, which is eMMC replacement territory (Tier 4). This test is how you separate firmware-image problems from hardware-storage problems conclusively.
Document and stop if all flash paths fail but UART shows `u-boot` alive. You have a working bootloader but an unresponsive OS path - classic eMMC-wearout signature. Capture the full `u-boot` banner plus the first 200 lines of kernel-load output, screenshot the WhatsminerTool log export, include every numeric error code from `system.log`, and package it for D-Central's bench. Do NOT flash a modded or community-repackaged image as a last-ditch attempt; on signed builds that escalates a recoverable event into a JTAG job.
Stop DIY and book D-Central when any of these are true: (a) UART prints nothing on power-up across two adapter cables, (b) three consecutive signature-verified flashes on a proven-good PSU fail with eMMC or checksum errors, (c) anti-tamper `100001` / `100002` / `100003` persist after a full recovery-microSD wipe, (d) visible scorch, burnt-component odor, bulging capacitors, or corrosion on the control board, or (e) the miner entered recovery right after a custom-firmware install gone sideways. Book a slot at `https://d-central.tech/services/asic-repair/`. We serve Canada, the US, and internationally.
D-Central bench process on arrival: fixture-powered control-board isolation, direct eMMC read / write via JTAG where needed, eMMC device replacement from graded-stock inventory or full control-board swap where the CPU is dead, factory-image restoration signed to the correct sub-model, hashboard EEPROM re-validation, and a 24-hour nameplate burn-in before the unit ships back. Typical turnaround: 5 - 10 business days door-to-door inside Canada; longer for international. Photos, UART captures, and log exports shipped with the unit cut diagnostic time substantially.
Ship safely. Remove the control board from the chassis where practical - saves freight and reduces in-transit damage risk. Wrap the board in an anti-static bag, place inside a rigid cardboard box with at least 5 cm of foam on every side. Include a note inside the box with observed symptoms, exact error codes from `system.log`, last firmware version attempted, flash method used (LAN / direct / microSD / UART), the PSU swap history, and your contact info. Tracked shipping only; no bubble-mailer attempts.
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.
