Goldshell – Only Dxpool / F2pool Supported (Stratum Fail)
Warning — Should be addressed soon
Symptoms
- `Miner-Status` reads `pool not ready` or `connection failed` on the active pool slot
- Status row flips between `connecting…`, `connection failed`, `reconnecting`, indefinitely
- Local hashrate tile shows valid H/s briefly, then snaps back to `0.00 H/s` every 30-90 seconds
- Pool dashboard shows the worker as `offline` or never registers it at all
- Pool was just switched to a third-party endpoint (NiceHash, 2miners, generic public solo pool)
- On `ST-BOX`: any pool other than `Hash-Pool` produces this exact failure
- On `Mini-DOGE` / `LT5` / `LT6`: pool accepts the connection but no shares ever post
- Logs show `subscribe failed`, `mining.notify` parse errors, or `CPBO failed to startup` after a pool switch
- BOX-series LED is solid green (network OK, daemon up) but pool side stays empty
- Pool URL contains an explicit `stratum+tcp://` prefix or path component
- Worker name has no `account.` prefix — just a worker label or a raw payout address
- `extranonce` or `extranonce2_size` warnings in the log when targeting a Scrypt pool that auto-negotiates
- After a firmware upgrade, all pools that previously worked are now silently refused
Step-by-Step Fix
Identify your miner's algorithm and pick a confirmed-working pool. Kadena (KD series): F2Pool kda.f2pool.com:5400, ViaBTC kda.viabtc.io:3334, ProHashing prohashing.com:3334. Scrypt LT/Mini-DOGE: F2Pool ltc.f2pool.com:8888, ViaBTC, ProHashing, Litecoinpool.org (best for Mini-DOGE). ST-BOX: Hash-Pool only. Handshake HS: F2Pool hns.f2pool.com:6000. Eaglesong CK: F2Pool ckb.f2pool.com:4400.
Replace the pool URL in `Miner-Status` → `Pool Setting`. Bare hostname in the URL field, numeric port in the port field. No `stratum+tcp://` prefix, no trailing slash, no path. If the URL was pasted, delete and retype to clear invisible whitespace. Save settings via the Web UI button.
Set worker format to `account.workername` — Goldshell's daemon will not authenticate a bare worker name or a raw payout address. Example: `dcentralpleb.kdboxpro01`. Default Web UI login is `admin` / `123456789` — change this to something non-trivial in Tier 2 below to harden against pool-hijack botware.
Restart the miner cleanly via Web UI `System` → `Restart`. If pool still doesn't connect after 5 minutes, hard power-cycle (pull plug 30 s, plug back in, wait 90 s for full boot). The cold restart re-runs the Stratum subscribe handshake from scratch and clears most stuck-reconnecting loops.
Watch the pool dashboard for 5-10 minutes. A working Goldshell on a compatible pool registers the worker within 60 seconds and starts posting shares within 2-5 minutes (Mini-DOGE shares post slowest because of the Scrypt difficulty floor). Worker shows `online` and shares land = you're done.
From a laptop on the same LAN, run a Stratum probe: `ncat --recv-only <pool-host> <pool-port>` for 30 seconds. JSON `mining.notify` messages within 5 seconds = pool is alive and sending jobs. Algorithm-correct job parameters confirm the pool is fine and Goldshell dialect-mismatch is the diagnosis. No JSON = pool is dead, IP blocked, or DNS wrong.
Change the default Web UI credentials from `admin` / `123456789` to something non-trivial. Goldshell default-credentials are a documented vector for pool-hijack botware. If your shares are going somewhere and you're not earning, an attacker may have repointed your daemon — check the on-device daemon config from SSH if your firmware allows it.
A/B test with a fresh worker on a confirmed-working pool. Create `testdebug01` on F2Pool (or Litecoinpool.org for Mini-DOGE). Point miner at that pool with that worker name. Observe 10 minutes. Shares land = original pool was the problem. Still no shares = miner-side issue, escalate to firmware diagnostics.
Disable any Stratum proxies, port-forwards, or VPN routes between miner and pool. Goldshell's TLS handling is partial — middleware that intercepts and re-encrypts the connection often breaks Stratum subscribe in ways that look identical to dialect mismatch. Direct route, no middleware, retest.
Test against a second confirmed-working pool on the same algorithm. If F2Pool works, also try ViaBTC. Pool-side support changes over time — D-Central updates this page when operator reports show newly-broken or newly-fixed Goldshell-pool pairings.
Capture full miner-side logs during a pool subscribe attempt: Web UI → `Logs` → download. Search for `stratum`, `subscribe`, `notify`, `extranonce`, or `CPBO`. A `mining.notify` parse error or `extranonce2_size mismatch` line confirms dialect failure. A clean subscribe followed by no jobs accepted is the canonical Goldshell-dialect-mismatch fingerprint.
Roll firmware back to last-known-good. Goldshell does not host old firmware images publicly — email `hello@goldshell.com` requesting the previous version's `burn-*.img`, or pull from the community recovery guide. Flash via SD card over Ethernet — never WiFi (WiFi flashes on BOX-series corrupt the image more often than they succeed).
Re-flash the factory firmware image to clear corrupted Stratum state. If logs show clean subscribe but no jobs accepted, and pool dialect is ruled out, the daemon binary is partially corrupted (usually from a previous WiFi-based upgrade). Full SD-card reflash with the factory image, then redo pool config from scratch.
If your firmware exposes SSH (default `root` / `123456789` on some revisions): read `/etc/cgminer.conf` (or equivalent) directly and confirm it matches the Web UI. UI form save can fail silently on KD-BOX 2.1.x — the daemon then runs an older config. Edit the file directly, restart the daemon (`/etc/init.d/cgminer restart` or similar) if the UI is out of sync.
If you confirm a pool genuinely doesn't work with Goldshell's dialect on a current firmware, post the result on the `goldshellminer/firmware` GitHub issue tracker and the VoskCoin Goldshell forums. The community-maintained pool compatibility list is the only thing standing between operators and weeks of wasted hash. Mining Hacker ethos: open data, no gatekeepers.
Stop DIY when the pool is confirmed-compatible, worker format is correct, firmware is on a known-good version, and pool dashboard still shows worker offline after 30+ minutes — and a Stratum probe confirms algorithm-correct jobs flowing. Daemon-side Stratum client is genuinely broken at this point. Book a D-Central diagnostic slot.
What D-Central does at the bench: boot the miner on diagnostic LAN, run a Stratum proxy that logs every byte exchanged with the pool, identify whether the failure is daemon-side parse, hashboard-side job rejection, or partial firmware corruption invisible to the Web UI. Reflash from a clean factory image, reconfigure pool settings, validate share submission for 24 hours before return. Typical turnaround 3-7 business days for diagnosis-only.
Ship miners safely if returning to D-Central: anti-static bag inside the original Goldshell box if available, otherwise double-box with ≥5 cm foam on every side. Include a note with: model, firmware version, pool URL attempted, exact symptoms (dashboard text, log excerpts), and your contact info. Saves diagnostic time, which saves you 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.
