IceRiver Web Interface 404 Error / Can’t Access Miner IP
Warning — Should be addressed soon
Symptoms
- Browser shows literal `404 Not Found` when navigating to the miner LAN IP on port 80
- Browser hangs at a white screen with no content, no error, no favicon
- Browser shows a spinner / `Loading...` indefinitely after entering the IP
- `ping <miner-ip>` succeeds (miner is alive) but `curl http://<miner-ip>/` returns 404 or times out
- Network port LEDs are normal — yellow steady, green flashing — Ethernet link healthy
- Front-panel D-LEDs (KS5L/KS5M/KS3M) show normal `running` pattern, not a fault code
- Pool dashboard shows the miner still hashing (or stale shares trickling in)
- IceRiver `Detect IP` tool finds the miner but clicking through fails identically
- 404 began immediately after a firmware upgrade or after a power outage / brownout
- One specific browser fails but a different browser or device works (cache-side)
- 20-second reset hold makes the red LED solid, but UI does not return after reboot
Step-by-Step Fix
Clear browser site data for the miner IP. Chrome: chrome://settings/siteData → search miner IP → delete. Firefox: about:preferences#privacy → Manage Data → delete. Then close ALL browser windows (not just the tab) and reopen. This evicts the old SPA bundle that the new firmware no longer serves. Roughly 40% of `404 after firmware upgrade` reports clear with this single step.
Try a private/incognito window and a second device. Ctrl+Shift+N (Chrome), Ctrl+Shift+P (Firefox), or use your phone on WiFi. If the UI loads in private mode but not in your normal session, you have confirmed cache. The cleanup in step 1 then fixes it permanently.
Hard power-cycle the miner. Unplug the AC power cable from the PSU completely. Wait 30 seconds — long enough for capacitors to drain and the controller userland to fully die. Plug back in, wait 3 minutes for boot and DHCP renewal. Retry the IP. This restarts a hung `httpd` process and clears any leaked file descriptors. Don't skip the 30-second wait — a quick reboot does not drop controller RAM.
Verify network reachability. From a LAN host run `ping <miner-ip>`. If the ping succeeds, the miner is alive — your problem is the web UI specifically. If the ping fails, you have a separate network/DHCP problem and the 404 is a red herring; switch to the IceRiver DHCP / Detect-IP playbook before proceeding.
Check the IceRiver firmware portal at iceriver.io/firmware-download for known-good versions. Note the previous stable filename — you may need it in Tier 3 if reflash becomes necessary. The KS5L/KS5M and KS0 Ultra have a track record of rough firmware releases since 2024.
20-second factory reset. Locate the small recessed reset button on the controller end-plate (KS uses a pinhole — paperclip works). Press and hold for a full 20 seconds until the red LED beside it comes on solid. Release. Miner reboots itself. Wait 3 minutes. Use IceRiver Detect-IP from a Windows PC on the same LAN to re-find the miner. Re-enter pool config from scratch on the restored UI.
Use `curl` for a clean read of what the controller is actually serving: `curl -v http://<miner-ip>/ -m 10`. `Connection refused` = httpd is down (power-cycle). `HTTP/1.1 404` = httpd up but content broken (Tier 3). Empty body with 200 = SPA bundle missing. `Connection timed out` = httpd wedged mid-handshake. Each result routes you to a different fix — and crucially distinguishes a network problem from a web-server problem.
Watch the controller TCP stack with `nmap -p 22,80,443 <miner-ip>`. If port 80 is `closed` while ping succeeds, httpd failed to bind on boot. If port 80 is `open` but the response is 404, the server is up. If port 22 (SSH) is open on your KS variant — KS0 family historically allowed SSH with default creds — you can shell in for further diagnosis. Controller-level shell access is the difference between recovery and a $400 board swap.
Power-cycle then watch boot timing with a stopwatch. The KS controller takes ~90-120 s for full boot. If the web UI is reachable for the first 30 s and then 404s, httpd is crashing on startup-completion (often a config-read race — Tier 3 step 13). If 404 from the moment of network availability, the web partition is suspect (Tier 3 step 11).
Disconnect from the internet and retry locally. Some KS firmware versions phone home for a license/telemetry check on first web hit; if the WAN is unreachable the SPA can hang waiting for a remote endpoint. Disconnect WAN, leave the miner on LAN, retry the UI. If it loads when isolated, you have confirmed a stuck remote-call dependency in firmware — flag for upstream firmware update.
Reflash the SD card / eMMC with the official IceRiver image. Power off, remove the controller microSD (KS0/KS1/KS2/KS3 family — KS5 revisions vary, check before assuming), use Balena Etcher (verifies post-write) or `dd if=iceriver_ks*.img of=/dev/sdX bs=4M status=progress conv=fsync` on Linux. Reinsert, boot, wait 5 minutes for first-boot setup. This restores the `www/` partition and resets all userland config.
Replace the SD card if reflash fails verification. SD cards die — the IceRiver factory cards are entry-grade industrial parts and don't last forever under continuous read/write. If Balena Etcher reports a verify mismatch, the SD has bad sectors. Buy a Class-10 industrial-grade microSD (SanDisk High Endurance, Samsung PRO Endurance — 32 GB is plenty), write the official image, swap. New SD + reflash recovers about 70% of `post-reflash still 404` cases.
Roll back to the previous-stable firmware. If the 404 began immediately after a firmware upgrade and the new firmware is the prime suspect, write the previous stable image. You may need to ask IceRiver support or check community archives — the official portal sometimes only hosts the current version. Specifically watch for KS0 Ultra and KS5L/KS5M release notes — these models have shipped buggy firmware multiple times.
Avoid 3rd-party OC firmware on a recovery attempt. The community OC firmwares (`xyys`, `tswift`) for KS0 are excellent for performance but a poor choice for 404-recovery — if the OC firmware has its own web-UI bug, you have stacked two unknowns. Get back to a working stock firmware first; then re-apply OC firmware once the dashboard is healthy.
SSH into the controller (where available) and tail the web server log. On variants with SSH open: `ssh root@<miner-ip>` (default creds vary by FW version). Once in: `dmesg | tail -50` for kernel-level errors, `ps | grep httpd` to confirm the server is running, `cat /var/log/httpd.log` if present. A line like `bind: address already in use` or `cannot read /www/index.html: I/O error` tells you exactly which fix to jump to.
Stop DIY when UI is still 404 after browser cache clear, power-cycle, 20-second factory reset, AND SD card reflash with a known-good card. You have eliminated every software cause. The controller board is the failure — RAM, eMMC (where soldered), or main SoC. Book a D-Central ASIC Repair slot.
D-Central bench process: controller-level diagnostics with bench logic analyzer, eMMC raw-read with a programmer to confirm filesystem damage versus storage-side failure, controller swap with graded inventory (we keep KS-series controllers on hand), full post-repair burn-in with web UI accessibility verified at 24 hours. One of the few Western shops doing IceRiver controller-level work.
Ship safely — controller board and end-plate only, not the whole miner. Anti-static bag the controller, double-box with at least 5 cm of foam every side. Include a note with: KS model, firmware version observed before failure, what tiers you tried, your contact info. Per-unit diagnostic time is the biggest line item on a repair invoice — hand us the diagnostic context and you save real money.
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.
