Post
Topic
Board Mining (Deutsch)
Merits 2 from 2 users
Topic OP
Bitaxe Supra (Ultra, Gamma) automatisch Optimieren
by
USt0ne
on 09/02/2025, 01:05:43 UTC
⭐ Merited by unpainted (1) ,Buchi-88 (1)
Einleitung/Infos:
Da ich noch recht neu im Umgang mit den Bitaxen bin und weiß, dass jeder Bitaxe durch leicht unterschiedliche Komponenten, Verarbeitung, Netzteil, Kühlung und Standort auch demzufolge ein anderes Ergebnis/Performance bietet, wollte ich bei meinen Voltage/Frequencie Änderungen alles möglichst gut überwachen und messen können.
Da stieß ich auf u.a. Seite/Python-Script Bitaxe-Hashrate-Benchmark und war überrascht, dass ich nur einen einzigen Treffer im Forum hier fand, nämlich den von brun0 hier ( https://bitcointalk.org/index.php?topic=5477020.1540 ).

Mein Ziel ist bislang ohne kritisches OC im Bereich der Standard-Werte in den AxeOS-Settings die für meinen Bitaxe effektivsten Werte (Efficiency und Hashrate) zu finden. Ich verwende noch die Standardkühler und 30W PSU/Netzteile, da ist dann später noch mehr machbar, aber hier soll es nur um das Automatische finden der besten Core Voltage/Frequency gehen.
Hinzu kommt noch, dass meine Miner woanders stehen und ich dies bequem vom PC machen kann, ohne auch nur ein Kabel zu verbinden!

Los gehts:

Skript:   https://github.com/WhiteyCookie/Bitaxe-Hashrate-Benchmark

Mein Skript-Config:  <<< für Bitaxe Supra - Firmware v2.5.1 >>>

# Configuration
bitaxe_ip = "http://192.168.xxx.xxx"
core_voltages = [1100, 1150, 1166, 1200, 1250, 1300]
frequencies = [400, 425, 450, 475, 490, 500, 525, 550, 575]
cool_down_voltage = 1166
cool_down_frequency = 400
cool_down_time = 30  # set x time in seconds
benchmark_time = 300  # set x time in seconds
sample_interval = 30  # set x time in seconds
max_temp = 66
max_allowed_voltage = 1300
max_allowed_frequency = 575

Den Sleeptimer im Script habe ich bei 120 Sekunden gelassen, nachdem ich 60 und 90 Sekunden ausprobiert habe, dies ist die Zeit, die der Benchmark nach dem Restart wartet. Wir haben ja alle schon bemerkt, dass am Anfang manchmal sehr hohe oder sehr niedrige Werte kommen, daher bin ich bei den 12ß Sekunden geblieben auch wenns beim Zuschauen nervt, aber die Werte sind dann gleichmäßiger.
Bei Voltage und Frequency habe ich ALLE genommen, die standardmäßig im AxeOS auswählbar sind, da ich ziemlich sicher bin, dass das keine gefährlichen Werte sind.
Jedes einzelne Hashrate notieren passiert alle 30 (sample_interval) Sekunden.
Ein Lauf (benchmark) einer einzelnen Voltage/Frequency-Kombination geht 300 (benchmark_time) Sekunden, dies endet darin, dass es 10x Hashrate notieren alle 30 Sekunden (300/30=10) gibt.

Meine Testen sieht also so aus:
1. Ich starte das Skript
2. Skript setzt Volt./Frequ. und restarted den Bitaxe.
3. 120 Sekunden abwarten (kann man im Bitaxe-Dashboard verfolgen)
4. Alle 30 Sekunden werden jetzt Hashrate und Temperature protokolliert.
5. Nach den 10 Messungen gibt das Skript die nächsthöhere Frequenz an bis alle durch sind und geht dann erst auf die nächste Core Voltage.
6. Wenn alle Läufe durch sind wird ein JSON File erstellt, indem alle Ergebnisse (1 Durchschnitsswert je 10 Läufe) plus Efficiency stehen.

Danach kille ich im Windows TaskManager den Prozess Python, damit das cmd-Fenster noch bleibt.

Ich habe zum erstmaligen Testen nur 2x Voltage und 2x Frequency genommen zum Testen, kann ich empfehlen!

Wenn ihr eure gewollten Voltages und Frequencies ALLE im Test eingeplant habt, dann seid ihr jetzt schon durch, wenn es euch "nur" um die höchste Hashrate ging, diese wählt das Skript nämlich am Ende automatisch aus und stellt den Bitaxe darauf ein. Also Praktisch ein Fire and Forget, sehr schön!


Ich habe mir aber extra z.B. einen BM1368 (Bitaxe Supra) geholt aufgrund der hohen Effizienz, d.h. ich will nur eine hohe Hashrate, wenn sie nicht exorbitant Watt zieht.
Dies regele ich im folgenden wie folgt:

Ich baute ein Sheet mit folgendem Aufbau aufgrund der o.a. Settings für den Supra:

https://www.talkimg.com/images/2025/02/09/e5tsP.jpeg


Dann füllte ich die Werte aus dem JSON File (bis auf Power, da ist ne Formel, siehe Bild).

Danach sortierte ich jede Spalte und habe die Top und Low 5 mit je grün für gut und rot für schlecht zum Visualisieren gekennzeichnet und letztlich nach Efficiency sortiert, da für mich mit am wichtigsten.
Siehe die nächsten beiden Bilder:

https://www.talkimg.com/images/2025/02/09/e5z7q.jpeg
https://www.talkimg.com/images/2025/02/09/e5Naj.jpeg


Jetzt müsste ich von der Effizienz 400/1166 nehmen, ABER natürlich will ich auch was Hashen, daher springt mir nun direkt 550/1250 ins Auge, den das Skript eh als besten (höchster Hash) auswählte, der aber noch akzeptabel niedriger ist von der Efficiency.

Daher mache ich jetzt exakt den gleichen Ablauf wie oben, grenze aber mein Ziel nun ein und kann auch Werte nehmen, die nicht im Pulldown im AxeOS vorgegeben werden und versuche es nun mit:

core_voltages = [1235, 1245, 1255, 1265]
frequencies = [535, 545, 555,565]

Alle anderen Settings bleiben gleich.
Ich habe also 2x Volt unter 1250 und 2x drüber genommen. Das gleiche bei der Frequenz 550. Da ich deren Werte ja schon habe, habe ich mal um 5 Werte verschoben.

Nach diesem finalen Lauf, der nun bedeutend kürzer ist, kam bei mir folgendes raus und mein Gewinner ist:

        "coreVoltage": 1255,
        "frequency": 555,
        "averageHashRate": 816.3942947891234,
        "averageTemperature": 44.9,
        "efficiencyJTH": 20.133653552091754

Der Gewinner aus dem "Alle" groben ersten Lauf war:

        "coreVoltage": 1250,
        "frequency": 550,
        "averageHashRate": 755.8281173844159,
        "averageTemperature": 44.5,
        "efficiencyJTH": 21.368614463973458



Durch diese gesamte Prozedur komme ich nun schnell und einfach, wie ich finde, zum besten Ergebnis ohne an der Hardware was zu ändern, was man ja auch noch machen kann.

Ich denke es wird bei den anderen Bitaxen auch so gehen, aber achtet auf die Angaben und wie immer alles auf eigene Gefahr, wobei bei mir wie o.a. alles ohne Probleme klappte. Besonders auf Hitze und 12V (Bitaxe Hex, QAxe+ etc) achten. Aber mindestens für die normalen Single-Chip-Bitaxe scheint das super zu klappen!

Beste Grüße
USt0ne