Goldshell – Failed to Connect to Mining Pool
Critical — Immediate action required
Symptoms
- Goldshell dashboard Miner-Status reads 'pool not ready' on all configured pool slots
- Status row flashes between 'connecting...', 'connection failed', 'reconnecting', and back every 30-90 seconds
- Hashrate tile shows local H/s (miner is hashing) but pool-side effective hashrate stays at 0
- Pool dashboard shows the worker as offline or absent — worker never authorized
- Goldshell logs reference stratum handshake timeout, TCP connection refused, or CPBO failed to startup
- Setup was completed successfully; miner booted, got an IP, Web UI is reachable
- You just swapped pools from Dxpool/F2Pool to a third-party pool and shares stopped flowing
- You used WiFi to complete the most recent firmware upgrade (image may be corrupted)
- The LED on the front of the BOX is solid green but no shares escape to the pool
- After a power outage or router reboot, 'pool not ready' replaced a previously working session
- On LT5 Pro or LT6: Miner-Status shows pool OK for 1-2 minutes, then drops
- Switching from NiceHash or a third-party pool to F2Pool immediately restored shares
- Firmware version matches a known-bad release flagged on goldshellminer/firmware GitHub issues
- System clock drifted 24-48+ hours — suggests aging RTC battery + RAM errors on control board
Step-by-Step Fix
Log into the Web UI with default credentials admin / 123456789 and verify the pool URL, port, and worker name in Miner-Status > Pool Setting. Read every character. Remove any stratum+tcp:// prefix, trailing slashes, and whitespace. Save any correction. Power-cycle by pulling the power cord for a full 30 seconds (warm reboot via UI is not enough to clear stuck Stratum state on Goldshell hardware). This single fix resolves roughly 40% of pool-not-ready tickets at D-Central's bench.
Confirm the pool matches Goldshell's algorithm-supported allow-list. Kadena miners (KD-BOX, KD5, KD6, KD-MAX): kda.pool.dxpool.com:5831. Scrypt miners (LT5, LT5 Pro, LT6, Mini-DOGE): ltc.f2pool.com:8888 or ltc.pool.dxpool.com:5631. Handshake (HS5, HS-BOX, HS-LITE): hns.f2pool.com:6000 or hns.pool.dxpool.com:5931. Eaglesong CKB (CK5, CK6, CK-BOX): ckb.f2pool.com:8899. Blake2B-Sia (ST-BOX): sc.f2pool.com:7778. If your pool isn't in this list, you've hit Goldshell's Stratum allow-list restriction. Switch to a supported pool for production.
Set the worker format to account.workername. Goldshell expects a pool account prefix (e.g. your F2Pool username) followed by a dot and a rig identifier — yourF2Paccount.kdbox01. Do not paste a BTC address, a Lightning address, or a standalone rig name. Save. Reboot with a 30-second power-cycle. If 'pool not ready' clears on this alone, worker format was the issue. If not, keep going.
Switch the miner to Ethernet if it is currently on WiFi. Run a Cat5e or Cat6 cable from the router to the miner's RJ45 port. Rerun the find.goldshell.com discovery tool to pick up the new IP on the wired interface. Reload the Web UI. Ethernet eliminates three layers of variable at once: WiFi signal drop-outs, wireless driver quirks on older Goldshell hardware, and — critically — the well-documented WiFi-based firmware corruption vector on BOX-series models.
Override the router's DNS to 1.1.1.1 (Cloudflare) and 8.8.8.8 (Google) as primary/secondary. Save the router config, then reboot both the router and the miner. Canadian ISPs (Bell, Rogers, Vidéotron, Cogeco, Shaw) occasionally produce slow or flaky DNS for mining-pool hostnames at their default resolvers — not outright blocked, just slow enough to trip Goldshell's Stratum handshake timeout. This is the single biggest Canadian-specific fix for this error.
Run the Goldshell factory reset. Hold the RST button on the back of the miner for a full 5-10 seconds with power connected. The miner will reboot to defaults. Re-run find.goldshell.com to pick up the default IP. Log in with admin / 123456789. Re-enter pool config using the allow-listed defaults from Step 2. Keep pool config minimal on first boot — one pool slot only, Goldshell-blessed endpoint, correct worker format. Confirm shares flow for 15 minutes before adding secondary pools.
Check the firmware version in Web UI > System-Overview and cross-reference against open issues at github.com/goldshellminer/firmware/issues. Known-bad releases: KD-BOX on 2.1.1 or 2.1.3, ST-BOX on 2.2.0, and various 2.x BOX-series builds with documented Stratum regressions. If you're on a flagged release, plan a firmware downgrade in Step 10. Save a copy of your current config (pool URL, port, worker, WiFi credentials) before any flash — factory reset is always the safer fallback, but reflashing can lose custom config.
Packet-capture the Stratum exchange from your router. On OpenWrt or pfSense, run tcpdump -i <wan-iface> host <pool-hostname> for 2 minutes while the miner attempts to connect. You want to see SYN, SYN-ACK, ACK, then outbound JSON mining.subscribe followed by a pool response. Missing SYN-ACK = outbound filtering on your network (hotel WiFi, corporate router, CGNAT). Subscribe sent but no response = pool-side block. Subscribe with error response = pool-side Stratum-dialect incompatibility. This isolates whether the problem is client, network, or pool in under 5 minutes.
Prepare an SD-card firmware recovery image for BOX-series miners only (KD-BOX, HS-BOX, ST-BOX, CK-BOX, KA-BOX, Mini-DOGE). Download the correct factory recovery image for your specific model from an established community source (James Chambers' guide links verified versions). Verify the image hash against a trusted community copy before flashing. Write to a clean FAT32 SD card (8GB or larger) using balenaEtcher or Rufus. Power the miner off, insert the SD card, power on. Watch LED pattern. Full walkthrough at jamesachambers.com/goldshell-box-asic-miner-firmware-recovery-guide/.
Downgrade firmware by one minor version if upgrading is what broke pool-connect. Goldshell's official upgrade page (goldshell.com/upgrade-firmware/) does not always archive older releases — community threads on VoskCoin, Reddit r/dogemining, and Telegram channels are where known-good older builds live. Verify the .bin hash against multiple community references before flashing. Flash only over Ethernet, never over WiFi. Never flash during a storm or on a UPS-less circuit — a brownout mid-flash is the fastest path to a bricked Goldshell and a mandatory SD-card recovery.
Check the control-board coin-cell battery (CR2032). Symptom pattern: pool-not-ready cycling plus a 24-48 hour drift in the system clock (visible in System-Overview) is a classic sign that the RTC battery is dying and RAM errors are close behind. Pop the miner's case (unplug power first, discharge for 5 minutes), locate the CR2032 on the control board, swap with a fresh battery. Close up, power on, re-set the system time via NTP. If pool-not-ready returns after a few days, the control board itself is degrading — plan a control-board swap (Tier 4).
Swap the PSU with a known-good unit. Goldshell BOX-series run off 12V DC bricks in the 60-80W range; KD5/KD6/LT5/LT6 pull 500-1600W from internal or external PSUs. A failing PSU can hold the Stratum client in a partially-on state where the ESP/ARM control subsystem runs fine but the hashboard never completes its startup handshake — presenting as pool-not-ready on a miner that's actually half-dead. Test under load (not just idle) before declaring the PSU good.
Try a known-safe third-party pool only after Goldshell-blessed pools are confirmed working. Mining-Dutch Kadena, Poolbay Kadena, and some community Scrypt pools have been reported compatible with Goldshell's Stratum dialect in specific configurations. Keep expectations low — this is experimental. If pool-not-ready persists on a third-party pool but clears instantly on F2Pool, you've confirmed the Stratum-allow-list behavior is the root cause and Goldshell won't fix it this quarter.
Isolate the miner to a VLAN with no WAN-initiated inbound. This is a hardening step, not a direct fix — but if your Goldshell was compromised by pool-hijack malware (documented by Andreas Mai), it could be silently forwarding shares to an attacker's pool while your Web UI shows a different pool URL. Lock the miner behind the firewall. No port-forwarding. Block inbound. Outbound only to pool hostnames and firmware update endpoints. After hardening, SD-card reflash from a verified community image to remove any persistent compromise.
Capture a full log bundle before shipping to repair. Web UI > Miner-Status screenshot, System-Overview screenshot (firmware version + system time), /var/log output if accessible via SSH (Goldshell SSH access is documented at medium.com/@andreas.mai), two-minute tcpdump of the Stratum exchange, and a photo of the serial number sticker. D-Central's repair team triages Goldshell tickets 2x faster when these artifacts arrive with the device.
Ship to D-Central for Tier 4 repair. Stop DIY when: (a) SD-card reflash from verified image does not clear pool-not-ready, (b) Web UI is slow or unresponsive after clean reflash, (c) physical damage is visible (scorched connector, bulged cap, corrosion), (d) pool-hijack malware is suspected and forensic reflash is needed, (e) LT5 or LT5 Pro shows control-board failure pattern (random reboots plus pool-not-ready cycling every few days — Goldshell's most common hashboard RMA per Zeus BTC), or (f) you want a Canadian repair shop instead of shipping to China for a 6-12 week round-trip with customs overhead. Book at https://d-central.tech/services/asic-repair/.
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.
