Skip to content

Add ePIC UMC miner support#12

Open
taserz wants to merge 1 commit into
btccom:masterfrom
taserz:feat/epic-umc-support
Open

Add ePIC UMC miner support#12
taserz wants to merge 1 commit into
btccom:masterfrom
taserz:feat/epic-umc-support

Conversation

@taserz
Copy link
Copy Markdown

@taserz taserz commented May 13, 2026

Fixes #10.

Adds scanner, configurator, and rebooter support for ePIC UMC miners using the v3 REST/JSON API running on port 4028.

Scanner (scanner/EpicUmc.lua):

  • Reads /summary to populate pool URLs/workers/passwords from StratumConfigs, average hashrate (MH/s converted to TH/s), per-hashboard temperatures from HBs, fan speed from Fans, and software version
  • Reads /capabilities for the model name, setting the full type string to ePIC <Model> (e.g. ePIC SC200) or ePIC UMC as a fallback
  • Stores the current coin from Mining.Coin in epic.coin for use by the configurator

Configurator (configurator/EpicUmc.lua):

  • Posts the pool configuration to /coin in the format the v3 API expects: {"param": {"coin": ..., "stratum_configs": [...], "unique_id": false}, "password": ...}
  • Uses the coin stored by the scanner or defaults to BTC if not present
  • Looks up the admin password via utils.getMinerLoginPassword('EpicUmc')

Rebooter (rebooter/EpicUmc.lua):

  • Posts to /reboot with {"param": 0, "password": ...}
  • Polls /summary on port 4028 every 5 seconds (up to 30 attempts) until the device responds, matching the pattern used by other rebooters

Detection (scanner/HttpAutoDetect.lua):

  • When port 80 is unreachable or returns an unrecognized response, the detector now probes port 4028 with a GET /summary request
  • If the response contains both Hostname and Session fields the device is identified as an ePIC miner and the EpicUmc executor is launched
  • If port 4028 also yields nothing, the existing fallback to GenericCgminerApi runs as before

ScannerHelper.lua, ConfiguratorHelper.lua, and RebooterHelper.lua are updated to require the new scripts.

Implements scanner, configurator, and rebooter for ePIC UMC miners via
the v3 REST/JSON API on port 4028. The scanner reads /summary for pool
config, hashrate (MH/s converted to TH/s), temperature per hashboard,
fan speed, and software version, then /capabilities for the model name.
The configurator posts the pool configuration to /coin. The rebooter
posts to /reboot and polls /summary until the device comes back online.

HttpAutoDetect now probes port 4028 when port 80 yields no recognized
response, detecting ePIC miners by the presence of Hostname and Session
fields in the /summary JSON before handing off to the EpicUmc executor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add ePIC UMC support

1 participant