Moonlander 2

Z Poznámkový blok
Verze z 14. 10. 2018, 12:53, kterou vytvořil Tydyt (diskuse | příspěvky) (Web rozhraní)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Popis

Parametry:

  • Rozhraní k připojení: USB (obsahuje převodník na COM)
  • Rychlost Hashování : 3 - 5 MH/s
  • Efektivita: 2 W/MH
  • Napájení : 5 V USB
  • Spotřeba : Max 10 W





Základní měny které je možné těžit:

  • Litecoin, Dogecoin, Verge, GameCredits, Digibyte, Feathercoin, Megacoin, Novacoin

Instalace

Následující popis je zaměřen na zprovoznění distribuce pro ARM procesory, Raspberry. Pro instalaci na jinou platformu stačí jen stáhnout patřičný soubor z Githubu.

Prvně provedeme upgrade systému a doinstalujeme potřebné balíčky:

sudo raspi-config

sudo rpi-update
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade
sudo apt-get install -y libcurl4-gnutls-dev libjansson-dev

Následně vytvoříme podadresář a stáhneme aktuální verzi z Githubu (následující postup je pro verzí 5.4.2 - doporučuji ověřit zda není novější):

mkdir -p moonlander2
cd ./moonlander2
wget https://github.com/jstefanop/bfgminer/releases/download/bfgminer-5.4.2-futurebit2-beta2/bfgminer_5.4.2-futurebit2_linux_armv6.tar.gz
tar -xzf bfgminer_5.4.2-futurebit2_linux_armv6.tar.gz
cd bfgminer_5.4.2-futurebit2_linux_armv6
sudo ln -s ~/moonlander2/bfgminer_5.4.2-futurebit2_linux_armv6/bfgminer /usr/bin/
cd ~

A nakonec ověříme že se vše zdařilo:

./bfgminer --help

Web rozhraní

Pokud chceme sledovat funkčnost přes web rozhraní, doinstalujeme web server. To je vhodné, pokud budeme těžaře spouštět na pozadí.

sudo apt-get install -y lighttpd php-cgi apache2-utils screen htop
sudo lighty-enable-mod fastcgi-php
sudo service lighttpd force-reload

Následně stahneme soubor miner.php a uložíme je do adresáře www.

cd ~
sudo apt-get install -y git
git clone https://github.com/jstefanop/bfgminer.git
cd bfgminer
sudo cp *.php /var/www/html
cd ..
rm -rf bfgminer
cd /var/www/html
sudo ln -s miner.php index.php
cd ~

Konfigurace

Příklad spuštění přímo z příkazového řádku:

 ./bfgminer --api-listen --api-mcast --scrypt -o stratum+tcp://litecoinpool.org:3333 -u Tydyt.1 -p 1,d=128  -S MLD:ALL --set MLD:clock=540

Nejzajímavější je parametr "--set MLD:clock=xxx" který umožňuje nastavit rychlost hodin. Povolené hodnoty jsou jen : 384, 450, 480, 540, 576, 600, 612, 625, 636, 648, 660, 672, 684, 700, 720, 744, 756, 768, 796, 832, 852, 876, 900, 924, 954.

Na výše uvedené frekvenci hodin a výkonu jádra závisý vlastní těžební výkon. Průměrnou rychlost hašování můžete vypočítat podle následujícího vzorce:

  • Výkon hašování MH = 5.66 * MHz.
  • Příklad MH = 5.66 * 832 => Výkon hašování cca. 4.7 MH/s (+-5%).
  • Čím vyšší je rychlost hašování, tím větší je odchylka od tohoto průměru způsobená výrobní odchylkou ASIC.

Autostart

Předpokládám že je žádoucí, aby se težař spouštěl aoutmaticky při spuštění systému. Pro tento účel jsem vytvořil skrypt, který to zajistí. Tudíž otevřeme textový editor a skrypt uložíme:

sudo nano /etc/init.d/bfgminer
#!/bin/bash
### BEGIN INIT INFO
# Provides:          bfgminer
# Required-Start:    $local_fs $remote_fs $network $time
# Required-Stop:     $local_fs $remote_fs $network $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: bfgminer
### END INIT INFO

# Nastaveni poolu pro těžbu vcetne uzivatele a hesla na pool(y)
# Tezba na jednom poolu:
#  "-o stratum+tcp://pool:port -u username -p password"
#
# Tezba na vice poolech:
#  "-o http://pool1:port -u pool1username -p pool1password -o http://pool2:port -u pool2usernmae -p pool2password"
#
# Těžba více bloku:
#  "-o http://pool1:port -u pool1username -p pool1password --pool-goal default -o http://pool2:port -u pool2usernmae -p pool2password --pool-goal freicoin"
#
URL="-o stratum+tcp://litecoinpool.org:3333 -u Tydyt.1 -p 1"

# Nastaveni sítoveho rozhrani pro vzdeleny pristup k informacim o tezbe
#  --api-listen    Aktivuje api rozhrani na porte TCP
#  --api-mcast     Aktivuje api rozhrani na portě UDP
#
# Vice paramatru zjistime po yadani prikazu bfgminer --help
#
NET="--api-listen"

# Nastaven jake zarizeni, klicenky, ... se maji pouzit
DEV="MLD:ALL"

# Nastaveni parametru pro zarizeni
# Pro Moonlander 2 se nastavuje rychlost hodin. Povolené hodnoty jsou:
#  384, 450, 480, 540, 576, 600, 612, 625, 636, 648, 660, 672, 684,
#       700, 720, 744, 756, 768, 796, 832, 852, 876, 900, 924, 954.
# Pozor: Pokud jsou hodiny nastavene na vetsi rychlost, nez je dle stavu
#        napajeni schopen miner zvladnout, nastane chybovost vypoctu a
#        snizeni realneho zisku
#
SET="MLD:clock=600"

# Jedinecny nazev pro oznaceni spusteneho skruptu
NAME="tezar1"

# Cesta k vlastnimu programu bfgminer (jeli bfgminer spustitelny odkudkoliv, neni nutne zadavet) 
DIR="/home/pi/moonlander2/bfgminer_5.4.2-futurebit2_linux_armv6"

#--------------------------- Konec nastaveni -------------------------------

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

RUN=""
[ ! "$NET" == "" ] && RUN="$RUN $NET"
[ ! "$DEV" == "" ] && RUN="$RUN -S $DEV"
[ ! "$SET" == "" ] && RUN="$RUN --set $SET"

start() {
    echo -n "Starting mining. "

    RUN="bfgminer --real-quiet $RUN $URL"

    [ ! "$DIR" == "" ] && RUN="$DIR/$RUN"

    PID="$(ps fax | grep $NAME | grep -v grep | head -1 | awk '{print $1}')"
    if [ ! "$PID" == "" ]; then
        echo "$(tput setaf 1)Error:$(tput sgr0) Mining is already running. [ $(tput setaf 1)NG$(tput sgr0) ]"
    else
        /usr/bin/screen -L -S $NAME -m -d $RUN
        PID="$(ps fax | grep $NAME | grep -v grep | head -1 | awk '{print $1}')"
        if [ ! "$PID" == "" ]; then
            echo "PID of $(tput setaf 3)$PID$(tput sgr0) [ $(tput setaf 2)OK$(tput sgr0) ]"
        else
            echo "[ $(tput setaf 1)NG$(tput sgr0) ]"
        fi
    fi
}

test() {
    RUN="bfgminer $RUN $URL"
    echo $RUN
    echo "Spustit tezbu z příkazového řádku dle zadaných parametru ? Enter - Ano / Ctrl-C - Ne"
    read
    [ ! "$DIR" == "" ] && RUN="$DIR/$RUN"
    $RUN
}

stop() {
    echo -n "Stopping mining. "
    PID="$(ps fax | grep $NAME | grep -v grep | head -1 | awk '{print $1}')"
    if [ "$PID" == "" ]; then
        echo "$(tput setaf 1)Error:$(tput sgr0) The mining was not running. [ $(tput setaf 5)NG$(tput sgr0) ]"
    else
        /usr/bin/screen -X -S $NAME quit
        PID="$(ps fax | grep $NAME | grep -v grep | head -1 | awk '{print $1}')"
        if [ "$PID" == "" ]; then
            echo " [$(tput setaf 2)OK$(tput sgr0) ]"
        else
            echo " [$(tput setaf 1)NG$(tput sgr0) ]"
        fi
    fi
}

case "$1" in
    restart)
        stop
        sleep 3
        start
    ;;
    status) status;;
    start)  start ;;
    stop)   stop;;
    test)   test;;
    *)
        echo "usage $0 start|stop|restart|test" >&2
        exit 1
    ;;
esac

Doinstalujeme screen, nastavíme aby byl skript spustitelný a následně jej přidáme do seznamu pro spuštění po startu systému.

sudo apt-get install -y screen
sudo chmod 755 /etc/init.d/bfgminer
sudo update-rc.d bfgminer defaults
sudo systemctl daemon-reload
sudo service bfgminer start

Tuning

Upozornění:

Regulace napětí by měla být prováděna pečlivě a ve velmi malých krocích. Nikdy nepoužívejte Hašovací rychlost, které je mimo uvedený rozsah. To by s největší pravděpodobností poškodilo ASIC, který poběží na vysokém napětí a s vysokýni hodinami po dlouhou dobu. Na takto poškozené horníky se pak záruka nevstahuje !

Horník obsahuje dva trimry pro nastavení napětí:

  • první je určen pro napájení pamětí a umožnuje nastavit rozsah 0.65 až 1.05 V.
  • druhý je určen pro napájení procesoru a umožnuje nastavit rozsah 0.625 V až 0.91 V.

V zásadě můžete nastavit cokoliv mezi následujícími scénáři:

  • Maximální hashový výkon s vysokou frekvencí procesoru a odpovídajícím přizpůsobení napájení pro procesor pro co nejnožší spotřebě energie.
  • Maximální účinnost s nízkou frekvencí a odpovídajícím nastaveným nízkého napětím při nízké spotřebě


Konbinací obou scénářů můžeme docílit nejoptimálnějšího bodu výkonu. V praxi je nejvýhodnější rychlost hodin 756 MHh při napájení jádra 0,725V. Toto nastavení odpovídá nejefektivnějšímu nastavení maxima, které stále vykazuje dobrý výkon, ale stále stačí chlazení namontovaným ventilátorem.

Zpět