IceRiver & Goldshell Error Code & Status-Light Guide
IceRiver and Goldshell are the two dominant retail makers for Kaspa (kHeavyHash) and altcoin mining, and both publish almost no structured fault documentation. IceRiver signals through three-digit numeric codes (110–802), plain-English web-UI strings, and a four-LED diagnostic block. Goldshell has no numeric code system at all — it reports through dashboard messages and a red/green/blue status-LED scheme. This page organizes only what is verified.
An honest scope note. Neither maker keeps a single public, authoritative code list the way Bitmain or MicroBT do. The codes and patterns below come from D-Central’s in-house bench (Laval, repairing ASICs since 2016) and the verified entries in our ASIC Fault Finder. Where a value is community-decoded rather than printed in a manufacturer manual, we flag it; where the public record is empty, we give the diagnostic approach instead of inventing a number.
How IceRiver signals a fault
IceRiver firmware is a stripped-down Linux build with a Lighttpd web UI on port 80 and a vendor monitor daemon talking to the hashboards over I2C and SPI. On a fault it writes a three-digit code to the miner log, sets an LED state, and (for most classes) shows a plain-English banner. Three parallel surfaces to read:
- Numeric codes (110–802) in Status → Miner Log, grouped by subsystem: 1xx fan, 2xx PSU, 3xx sensor/overheat, 4xx network/web UI, 7xx control board, 8xx firmware.
- Web-UI strings such as Fan Abnormal, Temperature Abnormal, Self-check Fail, and 404 Not Found.
- A four-LED block (D1–D4) on the KS3/KS5 controller card, plus a single status LED and network-port lights on smaller models.
IceRiver does not publish these three surfaces in one place — numbers in fragmented FAQ posts, LED meanings in model-specific manuals, strings only in walkthroughs. The tables below reconcile all three; the full master decoder lives on our IceRiver complete error-code reference.
IceRiver numeric codes (verified)
| Code(s) | Meaning | First action |
|---|---|---|
| 110 / 111 / 120 / 121 | Fan speed abnormal — one or more chassis fans below RPM threshold | Clean intake; if a fan is dead or noisy, replace it (12038-class) |
| 140 | Fan overspeed — PWM stuck full or aging bearing | Replace the fan; check the tach line |
| 233–239 | PSU overtemperature — internal PSU thermal protection (BP-H-3640 family) | Improve airflow and reseat; persistent = PSU swap |
| 300 / 301 / 302 | Temperature sensor failure — I2C sensor on hashboard or PSU dead/disconnected | Reseat the ribbon; a flat-lined or 255°C reading points at the sensor, not real heat |
| 350 / 351 / 352 | Overheat protection triggered | Drop ambient below 30°C, clean fins, verify fan RPM |
| 710 / 711 / 712 | Control board unstable — CPU / RAM / I2C bus error | Power-cycle at the breaker; if it recurs, the control board is failing |
| 800 / 801 / 802 | Firmware update failed | Re-attempt over a wired link; if it bricks, SD-card recovery |
IceRiver web-UI strings (verified)
- Fan Abnormal — fan tach out of range; corroborates a 1xx code. See Fan Abnormal diagnosis.
- Temperature Abnormal — sensor or thermal warning; corroborates 3xx. See Temperature Abnormal.
- Self-check Fail — hangs at “Initializing” / boot loop. See Self-check Fail / boot loop.
- 404 Not Found — ping works but port 80 is dead, usually after a firmware event. See 404 / web UI not loading.
IceRiver LED and status lights (verified + community-decoded)
The KS3/KS5 generation carries a four-LED block (D1–D4). IceRiver publishes a four-row pattern table and stops; everything past those four rows is decoded on the bench and from the community, and we flag it as such. Full breakdown on our KS5L D1–D4 LED guide.
| Pattern | Meaning | Source |
|---|---|---|
| D2 flashing alone (D1/D3/D4 off) | Healthy / normal operation | Official table |
| D1 + D3 flashing in sync | Fan fault | Official table |
| D1 + D2 flashing in sync | Network fault | Official table |
| D2 + D3 flashing in sync | Overheat / high-temp warning (operate below 30°C) | Official table |
| D4 solid red/orange, not hashing | Power / PSU fault | Community-decoded — not in the official table |
| All four off (powered, PSU fan running) | Control board not booting / 7xx bucket | Bench-decoded |
| All four solid >60 s at boot | Boot stalled at self-check | Bench-decoded |
| D3 + D4 flashing after a long button-hold | Factory reset in progress (healthy, not a fault) | Bench-decoded |
On smaller single-status-LED models (KS0/KS1/KS2/KS3 family) and on the back panel:
- Red status LED flashing after a 20-second reset hold = factory reset running (this is healthy). If it stays stuck red and the UI never returns, see red status light blinking. Note: IceRiver does not publish blink-pattern specs — the blink decoder on that page is directional, decoded from bench cases, not authoritative.
- Green power indicator flashing after ~5 minutes = abnormal; see green power LED flashing.
- Network port: yellow steady = link, green flashing = activity. Both dark means the Ethernet PHY never came up — see no network-port lights.
- No LEDs at all, miner dead: see won’t turn on / no LEDs.
How Goldshell signals a fault
This is where the public record is thinnest, and it is worth stating plainly: Goldshell does not use numeric error codes. Its BOX-series and chassis miners run an ARM SoC with a stripped Linux userspace and a cgminer-derived mining daemon called CPBO, exposing a web UI on port 80. Faults surface two ways — named dashboard strings and a colour-coded status LED. Anyone presenting a “Goldshell error-code table” with numbers is fabricating it; the real signals are strings and lights.
Goldshell LED status convention (verified)
The indicator scheme is consistent across the BOX lineup (KD-BOX, Mini-DOGE, HS-BOX, ST-BOX, CK-BOX, KA-BOX, AL-BOX) and documented by Goldshell’s Zendesk and third-party indicator-light guides:
| LED state | Meaning | First action |
|---|---|---|
| Green solid | Hashing normally | None — healthy |
| Red solid (from power-up) | Generic error state — boot reached the LED but a check failed and the daemon halted | 60-second cold power-cycle, then wired Ethernet. See the Mini-DOGE solid-red guide |
| Red + green solid or alternating | Firmware corruption / brick — the de-facto brick state, usually a WiFi-interrupted upgrade | SD-card recovery flash only. See red & green LEDs stuck |
| Red at power port + slow blue blink | Partial init — control board up, CPBO mining daemon not started | See CPBO failed to startup |
| Green LED1 triple-blink (chassis KD5/KD6/LT5/LT6/CK5/CK6/HS5) | Factory reset confirmed | Confirms a successful RST hold. See factory-reset matrix |
Two caveats from the bench: the chassis fan on most BOX models is hardwired to 12 V, so it spins even when the daemon is dead (a spinning fan does not mean the miner is healthy); and the reset procedure is per-model, not universal — KD-BOX wants a 5-second hold, Mini-DOGE wants a 10-second hold during power-on, and ST-BOX hides the button on the back panel.
Goldshell dashboard messages (verified)
| Dashboard string | Meaning | First action |
|---|---|---|
| CPBO failed to startup (sometimes “CPB0”) | Mining daemon aborted before hashing — most often a malformed pool config, then hashboard handshake or a corrupt binary | Factory-reset, re-add ONE valid pool only |
| pool not ready / connection failed | Stratum never completed — often an unsupported pool dialect | Use a confirmed-working pool for your algo. See unsupported-pool guide |
| temp protect / temp_high_warn / over_temperature | Thermal watchdog tripped | Confirm real heat with an IR gun first. See temperature-monitor thresholds |
| No miner in find.goldshell.com | Discovery tool can’t see the unit — network or boot failure | See IP not found and Ethernet link down |
Community-confirmed Goldshell thermal caps: chip temperature trips at <100°C and the firmware refuses to start above 35°C ambient (it throttles aggressively above ~30°C). Those are the only hard numbers Goldshell’s behaviour exposes — there is no per-board fault code behind them.
The general diagnostic ladder (both makers)
With code lists this sparse, the dependable approach is a layered ladder rather than a lookup. Work it in order:
- Read the dashboard, capture the LEDs. Photo or 5-second-video the LED block while the fault is live — it resets on reboot. On IceRiver pull the numeric code from Status → Miner Log; on Goldshell copy the banner verbatim.
- Network. Confirm the unit on the LAN — IceRiver via the router lease or “Detect IP” (DHCP / Detect IP), Goldshell via find.goldshell.com. No link lights = PHY/cable/port, not the miner. Always flash firmware over wired Ethernet — WiFi-interrupted flashes are the biggest brick cause on Goldshell.
- Power. Verify AC input is in range (KS5L expects ~180–285 V) and the PSU rail holds under load; a sag browns out the board and fakes codes. A KS5L/KS5M dropping to ~150–200 W is network-loss safe-mode, not a hardware fault.
- Thermal. IceRiver runs healthiest with Temp1/Temp2 in the 50–60°C band; Goldshell wants intake under 30°C. Clean fins and verify RPM before blaming a sensor or board.
- Hashboard / chips. A board reading 0 GH, or an IceRiver chip count of 9/26/52 below the full per-board count, is a partial-board failure; Goldshell’s equivalent is a CPBO handshake timeout. Both are bench territory.
- Firmware / recovery. Both makers recover a brick via SD card: IceRiver bricked recovery / Goldshell SD recovery. Do not flash undocumented third-party firmware as a “fix” — it is a separate failure mode, not a diagnostic step.
DIY versus bench — and where we help
Tier 1 is yours: cleaning, fan swaps, reset procedures, pool config, cable and PSU checks, and SD-card recovery all sit in DIY range with the linked guides. The line gets crossed when the fault is mechanical or chip-level — a partial chip count, a CPBO handshake timeout, a 7xx control-board fault, a dead Ethernet PHY, a collapsed voltage rail, or an eMMC that won’t hold a reflash. Those need a reflow station, a programmer, and a known-good donor to triangulate against.
That is the work D-Central has done in-house in Laval since 2016 — we diagnose and repair IceRiver and Goldshell hashboards, control boards, and PSUs at the component level. Send a unit to our repair bench. To self-diagnose first, search the exact code, string, or LED pattern in the ASIC Fault Finder (650+ indexed codes), or open the model profile — IceRiver KS5L, KS5M, Goldshell KD-MAX, KD6 — for spec context.
A closing honesty note: IceRiver and Goldshell mine Kaspa and altcoins, not Bitcoin — if you’re chasing a Bitmain or MicroBT fault, the conventions differ entirely, so start in the Fault Finder. And where this page marks a value community-decoded, treat it as a strong lead, not gospel: the LED or string tells you which subsystem to inspect, and the bench confirms the rest.
Related products, repair, and setup paths
- how D-Central diagnoses ASIC repairs
- ASIC troubleshooting library
- ASIC manuals and repair guides
- replacement hashboards
- ASIC control boards
- ASIC power supplies
- S19 family replacement hashboard
- C52 replacement control board
- APW12 S19 power supply
- immersion cooling hub
- home immersion cooling guide
- ASIC miners for immersion planning
- ASIC cooling parts
- airflow shroud before immersion
- compare miner specs in the database
- ASIC repair support
- compare ASIC miner specs
- ASIC miner database
- Whatsminer M30S specs
- Whatsminer repair guide
- MicroBT Whatsminer M30S++
- Whatsminer M3x exhaust shroud
Last reviewed June 8, 2026.
