__________.__ __ ___________ \______ \__|/ |\_ _____/_ _________ ___.__. | | _/ \ __\ __)| | \_ __ < | | | | \ || | | \ | | /| | \/\___ | |______ /__||__| \___ / |____/ |__| / ____| \/ \/ \/ BFSB Miner v0.1 Copyright (C) 2013 – Bitfury Group This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. THIS IS PRERELEASE ALPHA VERSION. PLEASE JOIN #BFSBSUPPORT ON FREENODE OR IRCNET FOR SUPPORT. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //// ATTENTION ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- INSTALL CARDS SO THAT COMPONENT SIDE FACES TOWARDS RASPBERRY PI!!! ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //// NOTES ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - Password for pi is "publicpass" - Root password has not been set. If you want to set it, you may do so by typing 'sudo passwd' - Stratum proxy is started in /etc/rc.local as root. - Edit pool settings by typing: nano /opt/bitfury/proxy_pools.conf to change your pool settings. Failover support is not implemented yet, pools are used concurrently. - Miner software is in /opt/bitfury/chainminer directory ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //// How to start mining /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1. Edit pool settings and set your pool in mining_proxy.py options: nano /opt/bitfury/proxy_pools.conf Save the file by pressing ctrl-x and then y and enter 2. Restart stratum proxy: sudo /opt/bitfury/start-stratumproxy.sh 3. Start the miner (make sure you're logged in as user pi) sudo /opt/bitfury/start-miner.sh to start miner with log showing on console: sudo /opt/bitfury/start-miner-console.sh ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Generated files ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- /tmp/.best.log = best autotune results (rename to /opt/bitfury/best.cnf and it is copied to /run/shm on miner start) /tmp/.core.log = Chip core mapping //// .putstat.log ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Queue length Getworks Nonces found Nonces submitted Server IP 0 43270 1188 1188 [0]http://127.0.0.1:8332/ - Queue length should be 0. If not, you have bandwidth problems - If queue grows over 1000 > thread does not load tasks, tasks are not sent to chip, there is no communication with the chip - If noncerate is higher than hashrate, then chips don't get new jobs after finishing last one //// .stat.log ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// .stat.log is generated every second for first 5 minutes, then every 5 minutes ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Chip ProgParams Speed Noncerate Hashrate Nonces/round False nonce SPIerr MISOerr Jobs/5min (hash rate) ChipID CoresOK Autoclock 9 AIfDSo 56 1.875 1.691 131 1 0 0 160 [A1:01] 756 speed up ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Chip | Chip number ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Prog params | CAPS = ON, non-caps = off) A = Autotuning (if off, chip will not be modified by autotuning) I = External clock (must have this on to make the chip work) F = Fast clock D = Clock division by 2 (should be on) S = Slowclock (should be on) O = Send clock to output (OutClk pin) NOTE: chip has bug: you have to set I to on and S to on to have slow internal clock ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Speed | Sets clock speed (52-57) Gets set automatically if Autotuning is on ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Noncerate | Hashrate based on solutions found ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Hashrate | Hashrate based on.. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Nonces/round | Amount of solutions found ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- False nonces | Nonces that were returned as valid answer, but were incorrect ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SPIerr | SPI communication error. Usually caused by noisy chip on SPI chain. Try moving card with noisy chips to last slot of SPI bus ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- MISOerr | Master In Slave Out error. Error in communication from chip to RasPi. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Jobs/5min | Job requests in last 5 minutes (relates to how many nonce spaces were scanned by the chip) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ChipID | Letter for SPI bus (A,B,C,D) + number for card (1,2,3,4) | ChipID shown with 2 digits (e.g. 01) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CoresOK | Show number of cores on chip that have found a valid answer (max 756) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Autoclock shut down = Chip will be shutdown and unavailable (Aifdso) speed->0 = If still more errors than correct nonces -> shut down speed up = If you have 0 errors speed down = If you have >5 errors clock down ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Bottom stats Board speed:383 noncerate[GH/s]:17.065 hashrate[GH/s]:30.060 good:1192 errors:2675 spi-errors:29 miso-errors:1235 jobs:631 (record[GH/s]:76.205) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- A1: 383 11.711 13.233 818 38 0 7 A2: 125 0.888 4.175 62 918 17 386 A3: 235 2.491 6.035 174 923 10 427 A4: 213 1.976 6.617 138 796 2 405 B1: 383 11.711 13.233 818 38 0 17 B2: 123 0.888 4.175 62 918 17 386 B3: 462 2.491 6.035 174 23 1 427 B4: 233 1.976 6.617 138 796 2 405 C1: 383 11.711 13.233 818 38 0 17 C2: 304 0.888 4.175 62 918 17 386 C3: 323 2.491 6.035 174 923 10 427 C4: 123 1.976 6.617 138 796 11 405 D1: 383 11.711 13.233 818 38 0 17 D2: 233 0.888 4.175 62 918 17 386 D3: 123 2.491 6.035 174 923 10 427 D4: 126 1.976 6.617 138 796 2 405 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Troubleshooting ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SPI communication is from top to bottom, so if you see problems with cards, try to move card with most errors (especially MISO & SPI) to last slot in bus (A,B,C,D). This way the errors will not be so likely to affect other cards and chips ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Source files jobconnect.cpp spidevc.cpp miner.cpp jobconnect.cpp can have multiple work threads ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------