Pages:
Author

Topic: Stratum Mining Proxy For Raspberry Pi - page 2. (Read 20700 times)

hero member
Activity: 1257
Merit: 811
full member
Activity: 126
Merit: 100
January 11, 2014, 06:07:04 PM
#9
[GPU-/CPU-Scrypt-Miner] ------(Internet)------> [RPi=proxy] ------(Internet)-----> Scrypt-Mining-Pool

Would that be possible with minepeon and bfgminer?
Or with the option from elmohasacoin?
anyone? Smiley
full member
Activity: 126
Merit: 100
January 10, 2014, 08:12:35 AM
#8
Can this be used as a proxy for (remote) scrypt miners?

I have some CPU + GPU miners, can they connect via network to the RPi with that proxy? The RPi should submit their work to another scrypt-mining-pool. Is that possible?


So basically:
[GPU-/CPU-Scrypt-Miner] ------(Internet)------> [RPi=proxy] ------(Internet)-----> Scrypt-Mining-Pool



Would that be possible with minepeon and bfgminer?
Or with the option from elmohasacoin?
member
Activity: 106
Merit: 10
December 28, 2013, 10:33:40 PM
#7
you have a lot more control with BFGMiner

tkx for the guide elmohasacoin

Thank you both; nice guide and appreciate the quick response.
newbie
Activity: 6
Merit: 0
December 28, 2013, 06:44:53 PM
#6
How to setup for Solo?

This is for POOLS that use stratum. Solo means no pool. So pretty much that I am aware of you can't do this solo mining.

you have a lot more control with BFGMiner

tkx for the guide elmohasacoin

Correct. BFGMiner is modular and has more control on almost everything. The mining proxy from Slush is very basic. Its based on KISS(keep it simple stupid). It's very easy to set up. You pretty much set it and forget it. You can't really mess it up.

 
Is this works with wifi as well >?
with minepeon i am loosing connection, and will not reconnect itself.??

If your using the cheap usb wireless N adapter that is a known issue. If its not PM me. but here is a work around for that problem.

In SSH

Linux Wifi Tools:
Code:
sudo apt-get install wireless-tools

Wifi Firmware:
Code:
apt-get install ralink-firmware

Settings for adapter:
Code:
iwconfig


Make sure power management is OFF.
Code:
lo        no wireless extensions.

eth0      no wireless extensions.

sit0      no wireless extensions.

wlan0     unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s   Tx-Power:off
          Retry:on   RTS thr:off   Fragment thr:off
          [b]Power Management:off[/b] <---- Make sure it's off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Time to edit your interface settings:
Code:
sudo nano /etc/network/interfaces

Make sure you have wireless power-off.. This is a example config:
Code:
iface lo inet loopback

iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.0.20
netmask 255.255.255.0
gateway 192.168.0.1
[b]wireless-power off[/b]
wpa-ssid WLANSIID
wpa-psk WLANPASSWORD

If that doesn't work do this:
Code:
sudo nano /usr/local/bin/wificheck.sh

Copy and past this into it:
Code:
#!/bin/bash
##################################################################
# NOTE: THIS SCRIPT HAS BEEN MODIFIED FROM ITS ORIGINAL VERSION.
# SEE THE BELOW WEB SITE FOR THE ORIGINAL AUTHOR'S SCRIPT:
#
# A Project of TNET Services, Inc
#
# Title:     WiFi_Check
# Author:    Kevin Reed (Dweeber)
#            [email protected]
# Project:   Raspberry Pi Stuff
#
# Copyright: Copyright (c) 2012 Kevin Reed
#            https://github.com/dweeber/WiFi_Check
#
# Purpose:
#
# Script checks to see if WiFi has a network IP and if not
# restart WiFi
#
# Uses a lock file which prevents the script from running more
# than one at a time.  If lockfile is old, it removes it
#
# Instructions:
#
# o Install where you want to run it from like /usr/local/bin
# o chmod 0755 /usr/local/bin/WiFi_Check
# o Add to crontab
#
# Run Every 5 mins - Seems like ever min is over kill unless
# this is a very common problem.  If once a min change */5 to *
# once every 2 mins */5 to */2 ...
#
# */5 * * * * /usr/local/bin/WiFi_Check
#
##################################################################
# Settings
# Where and what you want to call the Lockfile
lockfile='/var/run/WiFi_Check.pid'
# Which Interface do you want to check/fix
wlan='wlan0'
# Which address do you want to ping to see if you can connect
pingip='192.168.1.1'
##################################################################
echo
echo "Starting WiFi check for $wlan"
date
echo

# Check to see if there is a lock file
if [ -e $lockfile ]; then
    # A lockfile exists... Lets check to see if it is still valid
    pid=`cat $lockfile`
    if kill -0 &>1 > /dev/null $pid; then
        # Still Valid... lets let it be...
        #echo "Process still running, Lockfile valid"
        exit 1
    else
        # Old Lockfile, Remove it
        #echo "Old lockfile, Removing Lockfile"
        rm $lockfile
    fi
fi
# If we get here, set a lock file using our current PID#
#echo "Setting Lockfile"
echo $$ > $lockfile

# We can perform check
echo "Performing Network check for $wlan"
/bin/ping -c 2 -I $wlan $pingip > /dev/null 2> /dev/null
if [ $? -ge 1 ] ; then
    echo "Network connection down! Attempting reconnection."
    /sbin/ifdown $wlan
    sleep 5
    /sbin/ifup --force $wlan
else
    echo "Network is Okay"   
fi


# Check is complete, Remove Lock file and exit
#echo "process is complete, removing lockfile"
rm $lockfile
exit 0

##################################################################
# End of Script


Give the file chmod of 755:
Code:
sudo chmod 755 /usr/local/bin/wificheck.sh

Make sure the settings are correct for your network and adapter.

Time to make it a cron job.
Code:
sudo crontab -e

Add
Code:
* * * * * /usr/local/bin/wificheck.sh
to the end.

Code:
Ctrl-O
to save

Code:
Ctrl-X
to exit


Let me know what happens.
sr. member
Activity: 458
Merit: 250
beast at work
December 28, 2013, 07:08:28 AM
#5
you have a lot more control with BFGMiner

tkx for the guide elmohasacoin
member
Activity: 106
Merit: 10
December 28, 2013, 05:12:38 AM
#4
How does this method compare to using BFGMiner as the proxy for blades/cubes? I have had no issues using Minepeon + BFGMiner to make a proxy. I am just curious, as I do not fully understand the differences (does peon+bfg slow down with many units?) and have never had a reason to switch. Is it more efficient perhaps? Thank you!
sr. member
Activity: 266
Merit: 250
December 28, 2013, 04:42:41 AM
#3
Is this works with wifi as well >?
with minepeon i am loosing connection, and will not reconnect itself.
??
sr. member
Activity: 420
Merit: 250
December 28, 2013, 02:40:46 AM
#2
How to setup for Solo?
newbie
Activity: 6
Merit: 0
December 27, 2013, 08:44:43 PM
#1
Hey all... I made a post on my photography website on how to install Stratum Mining Proxy on Raspberry Pi. For next year I want my website to only be my photography and video work so I am moving my posts to either a hosted wordpress account and here. So this is the post I made for running a mining proxy on a Raspberry Pi. Please forgive me if this is in the wrong place:

Honestly, when you have as many miners as I do sometimes setting them up gets annoying. Imagine having to setup 20 or more ASIC blades. Having your own stratum proxy not only makes setup easier but stratum improves pool performance. Advantages of stratum is:

No more messages like “pool is not providing work fast enough” in miners, because work is produced locally by the proxy
Extremely low stale rate (less than 0.1%, that means below 1 stale per 1000 accepted shares)
Very low network bandwidth usage (around 10kB/minute)
The best way to have your own proxy is to install it on a Raspberry Pi. They are inexpensive, low power and runs Linux. It doesn’t get any better than that. If you want more information about stratum read the great post on Slush’s website. http://mining.bitcoin.cz/stratum-mining

The following tutorial is a modified version of Slush’s tutorial  for the Raspberry Pi.

What you will need:

Raspberry Pi Model B
SD Card With Linux installed(I recommend Occidentalis)http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/
Case for Pi
Ethernet Cable
Power Cable
Putty or SSH Softwarehttp://www.putty.org/

Get the Raspberry Pi set up and running your OS. You can follow the tutorials at Adafruit.

Preparing an SD Card for your Raspberry Pihttp://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi/overview
First Time Configurationhttp://learn.adafruit.com/adafruits-raspberry-pi-lesson-2-first-time-configuration/overview
Enable SSHEnable SSH

Alright, now its time to get to the meat of the tutorial. Open putty or ssh software and connect to your Pi. From here on its copy and paste. Pretty easy.

Lets start off with updating our Pi:

Code:
sudo apt-get update
This will download the files we need:

Code:
git clone git://github.com/slush0/stratum-mining-proxy.git
We now need to change to the directory where the files are located:

Code:
cd stratum-mining-proxy
Now time to download development packages for Python:

Code:
sudo apt-get install python-dev
We need to upgrade setuptools package:

Code:
sudo python distribute_setup.py
This package needs to have Twisted install. Problem is we need Twisted for the Pi. So, we need to change some files:

Code:
sudo nano setup.py
Find:

Code:
'install_requires': ['setuptools>=0.6c11', 'twisted>=12.2.0', 'stratum>=0.2.11', 'argparse'],
Change to:

Code:
'install_requires': ['setuptools>=0.6c11', 'stratum>=0.2.11', 'argparse'],

That will not install Twisted. You will not get an error saying you dont have enough space.

Now, we install Twisted for Pi.

Code:
sudo apt-get install python-twisted
Perfect, that should have installed twisted. We can now install the rest of the libraries:

Code:
sudo python setup.py develop
We are almost done. Time to install Screen. Screen allows us to continue running an SSH command even after we have disconnected.

Code:
sudo apt-get install screen
Lets start a Screen session. Its simple:

Code:
screen
Press Enter or Space to bring up the command line.

Lets get back into the directory:

Code:
cd stratum-mining-proxy

Last but not least lets run the script*:

Code:
./mining_proxy.py

That’s all. All you need to do is change your miner settings.

Point your miners to the Raspberry Pi ip address and port:

Code:
Example: 192.168.1.xx:8332

8332 is the default listen port.

*The script is for Slush’s pool. Not all of us mine his pool. If you need to change it its pretty simple. Instead of running:

Code:
./mining_proxy.py

Run:

Code:
./mining_proxy.py -o stratum.poolurl.com -p port -sp 3334 -gp 8332

Make sure you change “stratum.poolurl.com” to your pools URL and the port to the pool.

For example I am on Zetpool. I am using:

Code:
./mining_proxy.py -o us.stratum.zetpool.com -p 3333 -sp 3334 -gp 8332

To make it run at start up..

Code:
cd stratum-mining-proxy
Changes Directories

Code:
sudo nano miningserver.sh
Creates a file named miningserver.sh. This is where we type the command that we want to run at startup.

Code:
#!/bin/bash
node ./mining_proxy.py -o poolurl.com -p poolport -sp 3334 -gp getworkport
exec bash

The code runs the miningproxy at startup with the information for your pool... MAKE sure to change the dummy text with your pool info.

Then press
Code:
Ctrl x.
Then
Code:
Y
... Then
Code:
Enter
.
This will save the file and exit the text editor.

We are almost done.

Now time to tell the system to start that command at startup.

Code:
sudo nano /etc/rc.local


This is the boot file for linux. After
Code:
# By default this script does nothing.
  and before
Code:
exit 0
.

Type..

Code:
cd stratum-mining-proxy
screen -dmS test ./miningserver.sh

Then press
Code:
ctrl-x.
Then
Code:
Y
, Then
Code:
Enter
.

Your pretty much done.

Type...
Code:
sudo reboot
this will reboot the pi. Wait a few mins. then try it out.

That’s all folks. If you have any problems let me know. I will do my best to help.
Pages:
Jump to: