-
v1.33.0
StableAll checks were successfulCI / Rust clippy (push) Successful in 1m59sCI / Rust fmt (push) Successful in 1m16sCI / Rust test (push) Successful in 6m22sCI / UI (SvelteKit) (push) Successful in 1m19sCI / Security Audit (push) Successful in 1m19sdocs / build (push) Successful in 35sRelease / Docker Multi-Arch (push) Successful in 23m13sRelease / Binary aarch64-unknown-linux-gnu (push) Successful in 11m47sRelease / Binary x86_64-unknown-linux-gnu (push) Successful in 10m31sRelease / Linux .deb + .rpm (amd64) (push) Successful in 2m3sRelease / Linux .deb + .rpm (arm64) (push) Successful in 1m51sRelease / Linux AppImage (aarch64) (push) Successful in 26sRelease / Linux AppImage (x86_64) (push) Successful in 27sRelease / Cosign sign artifacts (push) Successful in 25sRelease / Forgejo Release (push) Successful in 38sreleased this
2026-09-24 05:46:46 +00:00 | 219 commits to main since this releaseAdded
- dvb-WarpTune energy mode:
surplus_enter_polls(readings with surplus
before the surplus mode is taken, default 1) next to the existing
surplus_exit_polls, both now per miner overridable. An Avalon Q on
the defaults would have spent half of its Super minutes on the grid on
a cloudy day (simulated on 2026-09-21/22); three polls in and two out
keep it on the real surplus. - dvb-WarpTune: a step never seen hashing in full is judged (ten minutes,
hashrate ≥ 95 %) before the next one is taken; the stock point, steps
with a good voltage in the trial memory and steps judged this session
are known and climb on the dwell as before. The first ascent on a new
board takes ten minutes per step instead of ninety seconds (a NerdAxe
Gaia reached 440 MHz in ten minutes and lost its core voltage there). - dvb-WarpTune: power collapse guard, the emergency stop that works inside
the settle and judge windows. Every decision tick — before the settle
gate, not after it — the regulator holds the draw against what the
current point should pull (what it predicted for its own write, else the
previous point's reading scaled by f·V²). Under 30 % of that, and only
when the expectation itself is above 5 W, it steps back urgently to the
last point that demonstrably ran and marks the collapsed step unstable.
The NerdAxe Gaia of 2026-09-22 is the case: 30 s after 420→440 MHz the
board fell from ~36 W to 4.99 W withshutdown: false, no fault flag and
its unchanged nominal hashrate in the API — power was the only honest
reading — and the regulator stood insettling 45s, judged after 600s
for six minutes until the operator wrote the old point by hand. The
Avalon Q is covered by the same path: its work modes run through this
regulator, and it reports neither a VR output voltage nor a trustworthy
momentary hashrate, so the dead-chip guard alone is half blind there —
but because a mode switch re-initialises its hash board, the Q gives the
board five minutes (power_collapse_hold_s) before a low draw counts,
where the Bitaxes act on the first reading. - dvb-WarpTune: dead-chip guard. When the VR output reads 0 mV against a
set point, or the momentary hashrate is 0, for three decisions in a row
on a settled point, the step is marked unstable, the stock point is
written and the board is rebooted (POST /api/system/restart, journal
restart). A NerdAxe Gaia at 440 MHz / 970 mV had dropped its core
voltage and sat at 5 W with no fault flag while the ten-minute judge
waited (2026-09-22). - NerdAxe Gaia (BM1373, one chip, 6860 small cores, NerdOS) as a miner
vendor: registration, LAN discovery by hostname, dashboard label and
docs. The AxeOS probe now takes the board name from the firmware's
deviceModel(NerdOS), so a board registered under a sibling label (a
Gaia on a former Gamma address) shows up as what it is. dvb-WarpTune
regulates it from the device's own option list (300–440 MHz, 900–1040
mV), no vendor table needed. - dvb-WarpTune:
eco_cap_mhzper miner — Eco mode's own ladder top. The
miner steps down to it in Eco and never above it; the other modes ignore
it. Until now Eco only left steps whose efficiency measured worse, which
from a factory point never leads down. - dvb-WarpTune: voltage trial (
voltage_trial,voltage_min_mv,
voltage_max_mvper miner). At the frequency it holds the regulator
writes the core voltage 10 mV lower once the point is judged healthy, and
10 mV higher when a step turns unstable before it gives the frequency
up, inside the configured window. Good voltages per frequency are
journaled (kind = "trial") and read back at start; a failed voltage is
the floor for that frequency for an hour, doubling per failure. Every
trial is an ordinary verified write under the hourly breaker. - dvb-WarpTune: the fan and the power budget. While an automatic fan runs
below 90 % the thermal budget is left to the fan and only the power cap
limits a step up; the ten-minute judge decides on the new step. The
fixed-fan thermal rule kept an Octaxe at 650 MHz through a whole
afternoon of surplus with its fan at 61 %. Manual fans and fans at 90 %
or above keep the old rule; the temperature guards are unchanged.
Fixed
- dvb-WarpTune energy mode: the surplus margin (
surplus_min_excess_w)
is an entry condition only. Once a miner runs its surplus mode its
extra draw sits in the consumption the excess is computed from, so
checking the margin again on the way out made a live Avalon Q leave
Super as soon as it was in it (1244 W of surplus minus its own 850 W
reads "below the 900 W margin"). In the surplus mode the pool's own
flag decides whether to stay. - dvb-WarpTune: the urgent hashrate step-down (reading under 90 % of
expected) now takes the pool's share counter on the settled point as a
second vote, as the voltage verdicts already did, and the share window
starts after the settle time. The Avalon Q judges a mode 900 s after
its settle time, not after the switch, so the MM's 15-minute window no
longer contains the hash-board re-init. Found with the WarpAxe
simulator: a healthy Super mode read 86 % at the judge and cascaded
Super → Standard → Eco without a fault. - dvb-WarpTune kept its regulator state per host address, not per device.
The journal's unstable steps and voltage trials were replayed at start
for whatever answered on that IP, so a replaced board inherited limits
measured on its predecessor's silicon. A NerdAxe Gaia that took over a
Gamma's address on 2026-09-22 carried the Gamma's 640 MHz / 1140 mV
trial entry — a point outside the Gaia's 300–440 MHz, 900–1040 mV
window. The board now identifies itself (macAddr, the Avalon MM's
DNA, else a model fingerprint) and the identity is journaled with
each start; a different one on a known address writes a
device_changedline, and everything the journal remembers for that
address before it is ignored from then on. Only identities of the same
kind are compared, so a reply that drops the MAC is a telemetry gap,
not a swap. A swap noticed while
regulating stops that miner's loop instead of writing a ladder built
for the previous board, and leaves the point where it is. - Hashrate accounting after a VarDiff retarget (Stratum V1 and Sv2). A share
was booked at the worker's difficulty at the moment it arrived, but a V1
miner keeps the old difficulty until the next job, and Sv2 shares in
flight met the old target: after each retarget those shares counted at
the new, up to fourfold difficulty. A six-minute link outage on
2026-09-22 (idle decay, reconnect burst, retargets) drew a 65 TH/s peak
into a 17 TH/s pool. V1 now books a share at the difficulty in force when
its job went out; Sv2 books a grace-window share at the target it met.
Acceptance is unchanged. - dvb-WarpTune voltage trial: the firmware's hashrate reading drifts by
±5 % on a steady point (NerdOS), which produced false "short of good"
verdicts and pushed the voltage back up. The accepted-share counter is
now the second vote (share difficulty from the pool row or the firmware's
poolDifficulty): good when either says ≥ 95 %, short of good only when
both do. A frequency that two upward trials in a row did not improve is
marked unstable and left on the third failure instead of trialled up to
the top of the window. An unstable step is skipped on the way up when
the one above it is usable (the budget judges the jump), and a step down
lands below it. Each share counts at the difficulty it was found at (VarDiff
moves mid-window), the vote looks up to 30 minutes back on one point,
and a short reading waits while fewer than 40 shares are in. A verdict
also waits until the reading has settled. - dvb-WarpTune energy mode:
surplus_exit_pollscounted telemetry ticks
(every 5 s) instead of pool feed readings (everypoll_secs), so ten
"polls" passed in fifty seconds and one cloud ended every surplus
window. Only a new feed reading counts now; a stale feed still falls
back to Balanced after the hold. - dvb-WarpTune energy mode: while the pool's surplus flag is on but the
surplus is below a miner'ssurplus_min_excess_w, the governor now holds
Eco. It fell through to the tariff rule, read the pool's 0 EUR/kWh surplus
rate as a cheap tariff and picked Balanced, which on an Avalon Q opens the
ladder up to Super on 200 W of surplus (seen on the dry run 2026-09-20).
dvb-WarpPool v1.33.0 — Downloads
Docker
git.warppool.org/dvb-projekt/dvb-warppool:v1.33.0(multi-arch amd64+arm64, ohne v-Präfix)Native packages
- Linux .deb: amd64 + arm64 →
apt install ./dvb-warppool_*.deb - Linux .rpm: amd64 + arm64 →
dnf install ./dvb-warppool-*.rpm - Linux AppImage: x86_64 + aarch64 portable
- Linux tarballs: x86_64 + aarch64 for manual installs
- macOS .dmg: added shortly after publish (built separately) — or build from source
- Windows .msi: paused since the forge migration (no Windows runner yet)
Signatures
SHA256SUMS+ cosign bundle (SHA256SUMS.bundle, project key)- SBOM (SPDX) for all dependencies
Verify (project public key
cosign.pubin the repo root):cosign verify-blob \ --key cosign.pub \ --bundle SHA256SUMS.bundle \ SHA256SUMS sha256sum --check SHA256SUMSFirst-time setup: run
dvb-warppool-setupfor the first-run wizard.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- dvb-WarpTune energy mode: