Compac F Inbetriebnahme Linux/ Raspberry Pi

Vorbereitung

Ich empfehle für die erfolgreiche Inbetriebnahme von CGMiner für den Compac F auf Linux folgende Betriebssystemversionen

  • Ubuntu 24.04 LTS (Noble Numbat) oder höher
  • Raspberry PI OS Legacy, 32-bit (Bullseye) für den Raspberry Pi 4, Pi 5 oder Pi Zero 2 W

Hinweis: Die aktuellste Version des Raspberry PI OS auf Basis Debian Bookworm hat Stand Juli 2024 Probleme beim Bauen und einbinden der CGMiner API. Ich empfehle daher den Einsatz der Vorgängerversion auf Basis Debian Bullseye.

Erster Schritt ist die Aktualisierung des Systems und bereits installierter Pakete:

sudo apt-get update
sudo apt-get upgrade -y

Paketabhängigkeiten

Folgende Pakete müssen installiert werden, um die Paketabhängigkeiten von CGMiner aufzulösen:

  • build-essential: Compiler und Compile-Werkzeuge
  • autoconf: Für den Build aus GIT benötigt.
  • automake: Für den Build aus GIT benötigt.
  • libtool: shared library Zugriff für CGMiner
  • pkg-config: Für Build und Kompilierung benötigt
  • libcurl4-openssl-dev: http connectivity für CGMiner
  • libudev-dev: USB support für CGMiner
  • libusb-1.0-0-dev: USB support für CGMiner
  • libncurses5-dev: Textbasiertes User Interface für CGMiner
  • zlib1g-dev: Kompressions-Library
  • git: source code repository
sudo apt-get install -y build-essential autoconf automake libtool pkg-config libcurl4-openssl-dev libudev-dev libusb-1.0-0-dev libncurses5-dev zlib1g-dev git

Build

Jetzt den CGMiner Branch von Kanos GIT Repository klonen:

mkdir -p mining/compacf; cd mining/compacf
git clone https://github.com/kanoi/cgminer.git
cd cgminer

Dann das cgminer Binary kompilieren (kann je nach verwendeter Hardware einige Minuten dauern):

CFLAGS="-O2 -march=native -fcommon" ./autogen.sh --enable-gekko --enable-icarus
make

Zum Schluss noch OpenJDK für die Verwendung der Java API installieren:

sudo apt-get install -y openjdk-8-jre-headless

Wenn Sie den CGMiner als Command systemweit installieren möchten (ohne jedesmal in den Build Ordner wechseln zu müssen), ergänzen Sie noch ein:

sudo make install

Danach empfehle ich das neu kompilierte Binary folgendermaßen getestet werden:

sudo ./cgminer -n

oder falls Sie CGMiner systemweit installiert haben (aus jedem beliebigen Ordner ausführbar):

sudo cgminer -n

Dieses Kommando listet die erkannten Miner auf. Beispielausgabe “Compac F BM1397 Bitcoin Miner”.

Inbetriebnahme

Ich empfehle die Einrichtung einer Konfigurationsdatei, das ist im Vergleich zum Start des CGMiner mit Konsolenparametern viel übersichtlicher.

Beispiel einer gekko.conf Konfigurationsdatei:

{
"pools" : [
{
"url" : "stratum+tcp://stratum.kano.is:3333",
"user" : "benutzername.worker",
"pass" : "x"
}
],
"gekko-compaca1-start-freq" : "300",
"gekko-compaca1-freq" : "300",
"gekko-compaca1-corev" : "300",
"gekko-compaca1-detect" : true,
"gekko-r909-freq" : "450",
"gekko-r909-detect" : true,
"gekko-compacf-freq" : "400",
"gekko-compacf-detect" : true,
"gekko-tune2" : "60",
"suggest-diff" : "442",
"failover-only" : true,
"api-listen" : true,
"api-port" : "4028",
"api-allow" : "W:192.168.1.0/24,W:127.0.0.1"
}

So starten Sie CGMiner mit Konfigurationsdatei:

./cgminer -c gekko.conf 

So sieht die Kommandozeile zum Beispiel ohne Konfigurationsdatei aus

./cgminer --o stratum+tcp://stratum.kano.is:3333 -u 1BURGERAXHH6Yi6LRybRJK7ybEm5m5HwTr -p x --suggest-diff 442 --gekko-compacf-freq 400 --gekko-compacf-detect true

Bitte tauschen Sie in oben genannten Beispielen sowohl die Pool-Daten als auch Benutzername und Worker gegen eigene Pooldaten, Benutzerdaten und Worker aus.

Je nach Einsatzzweck empfiehlt es sich, die Ausgabe von CGMiner in eine Logdatei zu protokollieren:

./cgminer -c gekko.conf 2> "run-`date +%Y%m%d%H%M%S`.log"

Alternativ können Sie den CGMiner auch in ein Shell-Skript packen, das eine Logdatei mitschreibt:

touch cgminer.sh
sudo nano cgminer.sh

Inhalt des Shell-Scripts:

#!/bin/sh
#
while true ; do
now="`date +%Y%m%d%H%M%S`"
#
./cgminer -c gekko.conf "$@" 2> "run.$now.log"
#
echo "Sleeping for 5 seconds ..."
sleep 5
done

Danach noch das Shell-Skript ausführbar machen:

chmod +x cgminer.sh

Das „$@“ bedeutet, dass Sie zusätzliche Parameter an das Shell-Skript übergeben können, die dem laufenden cgminer hinzugefügt werden sollen, z. B um asicboost abzuschalten.

./cgminer.sh --gekko-noboost

Zubehör

Der Miner benötigt insbesondere zum Betrieb mit einem Raspberry Pi einen USB Hub mit aktiver Stromversorgung, der in der Lage ist, mindestens 3 A pro USB Port zur Verfügung zu stellen. Gute Erfahrungen haben wir mit USB 2.0 Geräten von Anker und Orico gemacht. Unser 7-Port USB Hub verfügt über selbstrückstellende Sicherungen an jedem Port und kann bis zu 6 Ampere pro Port zur Verfügung stellen.

Das Compac F Hardwaredesign ist auf hohe Leistung ausgelegt und benötigt gute Kühlung. Schon 1-2 Minuten ohne Kühlung kann Bauteile auf der Platine beschädigen. Daher ist gute Kühlung unerlässlich. Gute Erfahrungen haben wir mit dem Arctic Breeze Mobile 92 mm gemacht. Sehr leise, leistungsstark und langlebig. Alternativ bieten wir den Compac F auch mit Snap-on Lüfter an, der mit einem USB-Splitter am USB Hub betrieben werden kann. Der hier verbaute Sunon 40 mm Lüfter bietet ausreichende Kühlung bei nur 23 Dezibel Lautstärke.