FAQ Chainminer & Raspberry:1. How to Connect to the BitFury's Raspberry Pi?
2. How to change default password?
3. How to fix security issues concerning the EU raspberry pi image?
4. How to fix an empty miner File?
5. How to know which chip correspond to the chip in the stats.log?
6. How to start tuning chips manually?
7. Why does my pool GH estimation is far apart of the BitFury hashrate?
8. Bad & Dead Chips
9. Hashrate droping regularly, despite bitfury admin showing steady noncerate?
10. How to update on the most actual chainminer version (gitpull)?
11. More ... stuff1. How to Connect to the BitFury's Raspberry Pi?Use
PuTTY or an other SSH client.
Open a SSH connection to the IP of your Raspberry Pi.
User = pi
default password = raspberry
2. How to change default password?pi@bitfury ~ $ passwd
3. How to fix security issues concerning the EU raspberry pi image?We've spotted a minor (potentially major) security issue with the image that was distributed with the shipped
units. The user pi and root both have some ssh credentials set. You should remove these so that no one can
access your unit.
pi@bitfury ~ $ sudo rm -rf .ssh
pi@bitfury ~ $ sudo rm -rf /root/.ssh
pi@bitfury ~ $ sudo reboot
4. How to fix an empty miner File?NOTEDue to my personal epic screw-up the SD image does not contain a working binary. And on top of this some orders were shipped without instructions also
We have whipped ourselves vigorously here over the weekend and will try to improve our process so these bloopers don't happen in the future.
Here's how to get your miner working:
1. Check your router for bitfury IP
2. SSH into the raspberry pi (username pi password raspberry)
3. Run following commands:
cd /opt/bitfury/chainminer
sudo make clean
sudo make
sudo killall screen
sudo /etc/rc.local
You should now be mining. You can check the web interface of the miner with a normal browser and setup your pools there (use the IP that you used for SSH).
5. How to know which chip correspond to the chip in the stats.log?Sure,
you have [board:chip] on every line and on the board chips are numbered from 40 to 4F beside each chip.
Chips start in the lower left corner, connector facing down, go up, then down, then up, then down again reaching the lower right corner of the board.
spiccioli
6. How to start tuning chips manually?pi@bitfury ~ $ nano /run/shm/.stat.log
1. Chip, Chip number
2. 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
3. Speed, Sets clock speed (52-57) Gets set automatically if Autotuning is on
4. Noncerate, Hashrate based on solutions found
5. Hashrate, Hashrate based on..
6. Nonces/round, Amount of solutions found
7. False nonces, Nonces that were returned as valid answer, but were incorrect
8. SPIerr, SPI communication error. Usually caused by noisy chip on SPI chain. Try moving card with noisy chips to last slot of SPI bus
9. MISOerr, Master In Slave Out error. Error in communication from chip to RasPi.
10. Jobs/5min, Job requests in last 5 minutes (relates to how many nonce spaces were scanned by the chip)
11. ChipID, Letter for SPI bus (A,B,C,D) + number for card (1,2,3,4) | ChipID shown with 2 digits (e.g. 01)
12. CoresOK, Show number of cores on chip that have found a valid answer (max 756)
13. 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
- Edit file to fit your needs
- when done, press Ctrl-X
- Save yes
- Write file to: /opt/bitfury/best.cnf
pi@bitfury ~ $ sudo reboot
7. Why does my pool GH estimation is far apart of the BitFury hashrate?There is a load balancing included in chainminer, im not really sure how it works. So it is possible that your
hashing power is divided amongst your setup of pools. To verify that you can check the putstats.log which shows
the connections to the pools.
8. Bad & Dead ChipsYou might have
dead chips (marked as
A) on your board that want go anywhere else then 0, ... and autotune ("a") will even be turn of on them and you might have
bad chips which autotune will probably tune down to 0 clockspeed, but still autotune ("A") will be turned on (marked as
B).
For dead chips there is no solution from software side that I know off. There might be some Hardware possibilities ... I don't know.
For bad chips there is!First you need to turn of autotune "A" to "a" so that they wont be turned down to 0, because right know as long as they produce to many errors, they will be turned down until 0.
To start of set there clockspeed to 55 on the bad chip and let him run for 10-15 min. Check again. If he is performing better or not ... find a good rate between good and error. You might go down to 54 or 53 ... just check again, where the bad chip is performing at his max. potential ... at the end it might look like this one ...
* a bad one but still more then a stick It might even be that bad chips get again running fine after running for hours (>24h) ... some users mentioned that bitfury chips have an integrated selfhealing mechanisme ... :-)
9. Hashrate droping regularly, despite bitfury admin showing steady noncerate?Someone may find this useful... If your pool reports your hashrate dropping regularly DESPITE bitfury admin showing steady noncerate:
1) ssh into your pi
2) run command:
crontab -e3) add this line at the end of file:
*/10 * * * * sudo /opt/bitfury/start-stratumproxy.sh
4) save & exit
It will restart your stratum proxy every 10 minutes from now on. If you want to cancel it, just run the command again and delete the line.
10. How to update on the most actual chainminer version (gitpull)?... first .. if it ain't broke don't fix it ...do backup of your actual bitfury chainminer version...
pi@bitfury ~ $ cp -a /opt/bitfury /usr/bitfury.backup
Then move to chainminer get latest version clean make ... restart ...
pi@bitfury ~ $ cd /opt/bitfury/chainminer
pi@bitfury ~ $ git pull
pi@bitfury ~ $ make clean
pi@bitfury ~ $ make
restart the miner ... and hope it will still hash ... :-)
11. More ... stuffSome info on setupChainminer is compiled with encoded username and password that are hard coded in jobconnect.cpp. Currently miner is set to run three getwork threads to localhost 127.0.0.1:8332-8334.
hosts_t hosts[]={
{"Basic dHl0dXMucGkyOnB1YmxpY3Bhc3M=","http://127.0.0.1:8332/",{0,0,0,0,0,0,0,0xFFFFFFFF},NULL,NULL,0,0,0} // local stratum client
,{"Basic dHl0dXMucGkyOnB1YmxpY3Bhc3M=","http://127.0.0.1:8333/",{0,0,0,0,0,0,0,0xFFFFFFFF},NULL,NULL,0,0,0} // local stratum client
,{"Basic dHl0dXMucGkyOnB1YmxpY3Bhc3M=","http://127.0.0.1:8334/",{0,0,0,0,0,0,0,0xFFFFFFFF},NULL,NULL,0,0,0} // local stratum client
};
If you want to use the miner without stratum proxy you may do so by setting it in the above place. However, you must first encode your miner credentials to be inserted there:
pi@bitfury01 /opt/bitfury/chainminer $ echo -n username:password | base64
dXNlcm5hbWU6cGFzc3dvcmQ=
pi@bitfury01 /opt/bitfury/chainminer $
Then you must copy these encoded credentials into jobconnect.cpp and rebuild the miner:
dXNlcm5hbWU6cGFzc3dvcmQ=
hosts_t hosts[]={
{"Basic dXNlcm5hbWU6cGFzc3dvcmQ=","http://getworkpool:port/",{0,0,0,0,0,0,0,0xFFFFFFFF},NULL,NULL,0,0,0} //
};
Save the file and make. Restart miner.