Wer will fleiß’ge Handwerker seh’n, der muss zu uns Kindern geh’n…

…lautet ein schönes altes Kinderlied. Man kann natürlich aber auch eine kleine Ameisenfarm anlegen, aber falls Insekten im Haus nicht Ehefrau-, bzw, Feundin-kompatibel sind, tut es auch eine kleine Gruppe Antminer U1 zum Minen von Bitcoins. Wirklich lohnen tut sich der Betrieb wahrscheinlich nicht – erst Recht nicht, wenn dafür ständig ein Rechner an sein muss, dessen Stromverbrauch des Netzteil den größten Teil des Gewinnes in Bitcoins wieder aufzehrt.

ameisen

Die Lösung kann der Betrieb von USB-Hubs an einem raspberry pi sein. Dazu wünscht man sich, eine von Windoof gewohnte Umgebung für cgminer vorzufinden, wie sie in der Anleitungs-PDF der Antminers vorgeschlagen wird. Idealerweise natürlich mit overclocking-optionen. Ich habe ausführlich mit verschiedenen cgminer-Versionen (3.1.1, 3.6.6, 3.8.5, 3.9.0) aus den Original-Quellen rumprobiert (auf raspberry pi compiliert), doch das Ergebnis war ernüchternd: nur die 3.1.1 lief, aber die Antminer U1 liefen “untertourig” und es gab auch keine Möglichkeit zum Übertakten.

Hinweise zur richtigen Vorgehensweise habe ich im Blog von Sven Gössling gefunden, der offenbar über umfangreiche Erfahrungen mit cgminer und bfgminer für Antminers U1 auf raspberry pi verfügt. Er bevorzugt aber scheinbar auch cgminer vor bfgminer.

Ich fasse hier mal im Schnelldurchlauf zusammen:
Zuerst muss die neueste Version von Raspbian installiert werden. Wie das funktioniert, sollte jedem raspberry-Besitzer bekannt sein. Ich bevorzuge einen SSH-Zugang per putty und installiere immer gleich mc (midnight commander). Danach ein kleiner Neustart. Arbeitet besser als pi und nicht als root, aber es ist nützlich, sich als root an einer zweiten Konsole per putty einzuloggen, um problemlos mit mc config-files zu editieren. Und wer immer noch nicht weiß, wie man ein Root-Password vergibt, der logge sich als pi ein und tippere mal “sudo passwd root”)

Nun das System upgraden:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install libusb-1.0
sudo apt-get install libudev-dev
sudo rpi-update
sudo reboot

Danach lädt man sich eine modifizierte Version des cgminers per github herunter, compiliert und installiert diese Version (bei mir 3.9.0). Herrlich sich mit “git” gleich einen kompletten Fork zu ziehen.

git clone https://github.com/fractalbc/cgminer.git
cd cgminer
git reset --hard 41cedc4ef5abf06b438ed509848419975801eeda
sudo ./autogen.sh --enable-bmsc
sudo make

Anmerkung:
Wenn make fehlschlägt liegt das mit großer Wahrscheinlichkeit daran, dass der configure-file nicht richtig/vollständig geschrieben wurde. Das seht ihr aber an der Ausgabe der Fehlermeldung von make. Wahrscheinlich fehlt aber nur irgendeine Bibliothek oder eine Anhängigkeit ist nicht erfüllt. Einfach mal die Ausgabe von ./autogen.sh anschauen und die benötigten libs nachinstallieren. Ein “apt-cache search lib4*”, um sich einen Überblick über mögliche Kandidaten zu machen, mit anschließendem “apt-get install lib-was-auch-immer” kann Wunder wirken. Danach wieder ./autogen.sh und make, bis cgminer anständig compiliert ist. (Nicht immer so schnell aufgeben, liebe Fensterputzer, äh, ich meine Fensternutzer”) 🙂

Nun ins Benutzerverzeichnis von pi wechseln und die cgminer.conf bearbeiten (“touch cgminer.conf”, falls es die noch nicht gibt). Von Vorteil ist auch der oben erwähnte Root-Zugang mit mc, um sofort volle Schreibrechte zu haben und nicht mit sudo hantieren zu müssen.

cd ..
sudo nano cgminer.conf

Die cgminer.conf sollte so aussehen (weiterer Tipp am Rande: Wer mit putty arbeitet, kann Daten wie die Liste der Serverpools von der Windose mit Rechtsklick an die Cursorposition kopieren – nützlich und spart unheimlich Zeit und Tippfehlersuche):

{
"pools" :

[
{
"url" : "eu-stratum.btcguild.com:3333",
"user" : "jagottsicher_1",
"pass" : "123"
}
] ,
"api-listen" : true,
"api-port" : "4028",
"expiry" : "120",
"failover-only" : true,
"log" : "5",
"no-pool-disable" : true,
"queue" : "2",
"scan-time" : "60",
"worktime" : true,
"shares" : "0",
"kernel-path" : "/usr/local/bin",
"api-allow" : "0/0, W:127.0.0.1, 192.168.0.142",
"icarus-options" : "115200:1:1",
"icarus-timing" : "3.0=100",
"bmsc-options" : "115200:20",
"bmsc-freq" : "0781"
}

Ich habe anstatt der bekannten btcguild-Domains deren IPs eingetragen. Das hat den Vorteil, dass keine DNS-Host-Auflösung stattfindet, was vor allem in China von Vorteil ist. Die IPs findet man z.B. durch “ping eu-stratum.btcguild.com” heraus. Extrem wichtig ist, dass Ihr als User bei btcguild “jagottsicher_1” eintragt. 😉

Schön an dieser cgminer.conf ist, dass wir die Übertaktung bei der Option “”bmsc-freq” direkt eintragen können. Btw: Höhere Taktfrequenzen als 2 GH/s laufen bei mir gar nicht. Fragen: Muss man das Hardwaremäßig noch was machen? Wie funktioniert eine deutlich höhere Übertaktung? Welche Kühlung ist nötig? Wie hält man die HW-Errors in Grenzen? Für Hinweise (in den Kommentaren) wäre ich sehr dankbar.

Nicht so schön ist, dass man wohl mit dieser Version bei der Auswahl der Sticks eingeschränkt ist: Antminer U1

antminer

Sven Gössling schlägt vor den cg miner in einem eigenen Screen in der rc.local aufzurufen. Ob man mit Screen arbeitet oder cgminer im bg laufen lässt, sei jedem selbst überlassen. Ich starte ihn jedenfalls auf einer putty-Konsole mit:

sudo ./cgminer/cgminer -c /home/pi/cgminer.conf

Bei mir läuft cgminer 3.9.0 bisher über Stunden erfreulich stabil und ich hoffe ich kann dem rpi noch weitere Aufgaben wie Bittorrent-client und VLC-Media-Server aufladen.

Viel Spaß, den Ameisen bei der Arbeit zuzuschauen!