Pages:
Author

Topic: Hacking The KNC Firmware: Overclocking - page 22. (Read 144343 times)

full member
Activity: 157
Merit: 100
March 26, 2014, 05:08:27 AM
Simple question: Once I edit my /etc/init.d/cgminer.sh file, how do I restart cgminer to ensure that it's picked up the changes? Will just rebooting it from the menu or web interface work, or is there a specific command-line I should use? Thanks.

sh cgminer.sh stop
sh cgminer.sh start

or

sh cgminer.sh restart
Perfect, thanks Ponchik.
newbie
Activity: 35
Merit: 0
March 26, 2014, 02:28:56 AM
Simple question: Once I edit my /etc/init.d/cgminer.sh file, how do I restart cgminer to ensure that it's picked up the changes? Will just rebooting it from the menu or web interface work, or is there a specific command-line I should use? Thanks.

sh cgminer.sh stop
sh cgminer.sh start

or

sh cgminer.sh restart
full member
Activity: 157
Merit: 100
March 26, 2014, 01:19:31 AM
Simple question: Once I edit my /etc/init.d/cgminer.sh file, how do I restart cgminer to ensure that it's picked up the changes? Will just rebooting it from the menu or web interface work, or is there a specific command-line I should use? Thanks.
sr. member
Activity: 386
Merit: 250
March 23, 2014, 02:09:33 PM
My original procs.sh is/was flawed!

It writes temp files to permanent storage then deletes them.
It causes unnecessary consumption of limited write cycles.

Suggest using the following instead, which uses ramdisk.

Code:
echo "procs|" > /tmp/procs.cmd
nc localhost 4028 < /tmp/procs.cmd > /tmp/nc.procs.out
./procs.awk /tmp/nc.procs.out
rm /tmp/procs.cmd
rm /tmp/nc.procs.out

I'm thinking the whole external to awk stuff can be eliminated.
(ignorant psudo programmer forcing intentions til usable output)

YMMV
Smiley
member
Activity: 67
Merit: 10
March 19, 2014, 11:11:03 PM
Reduce power 100W or more on your Jupiters!

Hi all - I've kept a close eye on this thread and have benefited from the hard work that has gone in to making these machines ever faster Smiley

I've read a lot about people increasing voltages to reduce errors and wake dies.. But how many of you have gone the other way and lowered voltages as much as possible while keeping errors low?

I have and I've reduced power by over 100W each of my November Jupiters using the 1.0 firmware. Here's a quick guide on what I did:

I'm going to assume you know how to use putty, can connect to the mining screen, and get around bfgminer settings.

As many have said, the first step is to change to bfgminer so you can see what's happening on each die. If you don't want to use bfgminer permanently that's fine, but you'll need it to tune so do this first and restart the miner if necessary.

Open the bfgminer screen and the advanced tab together. Then take a deep breath because you will probably freak out soon, but this is a very fast way to tune your miner. Read through the steps before you begin.

Make a note if your error %s by board. Reset stats in bfgminer. Adjust all voltages to -0.0803 and apply. This will make many of your dies start to throw errors and the screen will start to lite up with disabled core messages with a three digit code. The first digit is the board, 0 1 2 or 3 for a Jupiter, the next two are the core and this code also helps you determine which die. Here is the range from memory:
Die 1:aa-bv
Die 2:bw-dr
Die 3:ds-fn
Die 4:fo-hj

Check bfgminer error stats - for any boards throwing a lot of errors start looking for disabled die messages, I recommend going in sequence, if the first board is throwing errors look for disabled dies starting with 0. If you see:

0cn disabled

Then increase the voltage one step for board 1, die 2.

Keep watching the messages and try to find a core in each range. Don't spend too long, move on to the next board, repeating the process for all boards all core ranges.

Apply your changes and wait about 15 seconds for the firmware to cycle the cores.

Reset bfgminer stats. If you are lucky, and I was, one of your boards may already be stable. Repeat the process for any board that still has a high error rate. Only increase voltage one step at a time and only increase voltage when you see disabled core messages. Go through all boards all dies, apply, reset, repeat.

If you have any dies at -0.0803, lower these one step. Apply the settings, wait, reset stats, check errors. Reverse any that now throw errors, keep reducing any that are not producing errors.

Once you stop seeing disabled cores you may have a few dies that are still throwing errors. Now you want to switch bfgminer display to show all cores. Scroll through the list and look for ranges that have multiple cores throwing errors. Increase voltage one more step on these until you are happy with the error rate.

It took me about 10 minutes by the time I tuned my third Jupiter. All of my voltages are adjusted negative - most are around -0.05 to -0.07, I have a couple that went down to -0.09 and a couple that needed to come all the way back to -0.02. But, I've reduced both temps and power. I was getting many FAULT 4 messages regarding DC/DC temps but now they are all happy. Good luck and hope this helps you!

My next step... Push the clocks even further now that power draw is optimized Wink
sr. member
Activity: 386
Merit: 250
March 19, 2014, 04:46:37 PM
somebody can explain me how change cgminer for bfgminer?

EDIT !!!
I just upgraded to fw 1.0 (why mess with success? curiosity!)  Smiley
Click on the MINING tab on the web interface
Scroll to the bottom and click 'use bfgminer'
reboot
change your custom bfgminer shell script to point to /usr/bin/bfgminer
run it.


The rest of this post only applies if you want to run bfgminer newer than 3.8.1 or edit before compile.
bfgminer is currently @ 3.10 as of today.



I build from scratch

The build instructions in ASIC.README are broken.
It points to a repository that has vanished.

Below is a modified build script that will git er done

The following method will build from scratch but needs to be rebuilt after a reboot or power cycle.
Save this as '/configure/BFGMINER_build.20140319t.sh' or something.
Code:
cat >/etc/opkg/feeds.conf <<\EOF
src/gz noarch http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/all/
src/gz base http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/armv7ahf-vfp-neon/base/
src/gz beaglebone http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/armv7ahf-vfp-neon/machine/beaglebone/
EOF
opkg update
opkg install angstrom-feed-configs
rm /etc/opkg/feeds.conf
opkg update

opkg install update-alternatives
opkg install automake autoconf make gcc cpp binutils git less pkgconfig-dev ncurses-dev libtool bash i2c-tools-dev
while ! opkg install libcurl-dev; do true; done
ln -s aclocal-1.12 /usr/share/aclocal

curl http://www.digip.org/jansson/releases/jansson-2.0.1.tar.bz2 | tar -xjvp
cd jansson-2.0.1
./configure --prefix=/usr CC=arm-angstrom-linux-gnueabi-gcc --disable-static NM=arm-angstrom-linux-gnueabi-nm
make install && ldconfig
cd ..

git clone git://github.com/luke-jr/bfgminer
cd bfgminer
./autogen.sh
git clone git://github.com/troydhanson/uthash
./configure --host=arm-angstrom-linux-gnueabi --enable-knc  CFLAGS="-I$PWD/uthash/src -O0 -ggdb"
make AR=arm-angstrom-linux-gnueabi-ar
make AR=arm-angstrom-linux-gnueabi-ar api-example

###/etc/init.d/cgminer.sh stop
###./bfgminer -S knc:auto -c /config/cgminer.conf


The following are the fixed lines (plus 2 '###'  commented outs at the end)

src/gz base http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/armv7ahf-vfp-neon/base/
src/gz beaglebone http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/armv7ahf-vfp-neon/machine
./configure --host=arm-angstrom-linux-gnueabi --enable-knc --without-libusb CFLAGS="-I$PWD/uthash/src -O0 -ggdb"


the first 2 changes are FROM  cortexa8hf-vfp-neon  TO armv7ahf-vfp-neon
EDIT! seems to need libusb else something else breaks, whack a mole! Smiley
3rd change was add --without-libusb to the configure line for bfgminer
else it no go

5 & 6 were to comment out last 2 lines that autorun when built
I figure most will want to run via a custom startup script.

Working on a way to preserve the libs needed, had it working but the repository change changed one of the libs that I had stashed.
uski has stashed libs in bertmod too, they will work with his version of bfgminer.

EDIT
If I get it working to rerun after reboot WITH THE LASTEST bfgminer
I'll post a tolipmod or somesuch with just bfg, libs, and a few tuning scripts to get folks goin.


build as above then point your custom sh to run the binary /config/bfgminer/bfgminer
No extra libs needed if running fw 1.0 !

This will fix an error in bfgminer 3.8.1(the one that comes with fw 1.0) that shows volt and amp as 1
Advanced web page is still correct though.

Could also
cp bfgminer and bfgminer-rpc  from the /config/bfgminer directory to /config and you can delete the /config/bfgminer directory and save 48 megs of disk space Smiley

YMMV
Smiley
sr. member
Activity: 386
Merit: 250
March 19, 2014, 04:20:53 PM
newbie
Activity: 14
Merit: 0
March 19, 2014, 03:55:01 PM
If you change the value 384 into 1152 in this line of procs.awk, then it seems to work for a 6 module miner:

Code:
for( y=1 ; y <= 384 ; y++) {

Just running very briefly after restart to test:

Code:
die   Mh/s      HW%      min   max     Volt   Amp   Watt      Gh/W
0_0  646.56    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     31.035
0_1  609.13    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     29.238
0_2  595.10    1.389  ( 0.00 / 66.67 )  1.00  1.00  1.00     28.565
0_3  625.97    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     30.046
40.0 C
1_0  684.10    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     32.837
1_1  606.42    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     29.108
1_2  632.37    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     30.354
1_3  563.11    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     27.029
41.0 C
2_0  629.06    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     30.195
2_1  670.99    1.389  ( 0.00 / 66.67 )  1.00  1.00  1.00     32.208
2_2  563.07    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     27.027
2_3  609.80    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     29.270
44.5 C
3_0  669.40    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     32.131
3_1  594.51    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     28.536
3_2  634.89    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     30.475
3_3  567.33    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     27.232
48.0 C
4_0  599.24    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     28.763
4_1  650.87    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     31.242
4_2  565.48    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     27.143
4_3  689.70    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     33.105
43.0 C
5_0  573.87    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     27.546
5_1  698.01    0.260  ( 0.00 / 12.50 )  1.00  1.00  1.00     33.504
5_2  506.54    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     24.314
5_3  661.96    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     31.774
45.0 C

Great stuff. Smiley
sr. member
Activity: 467
Merit: 250
March 19, 2014, 01:46:02 PM
A tid-bit for bfgminer users
(cgminer only folks, read it and weep) Wink

Great code... except it stops after 2 DIE on each of my Jupiters.

Code:
542.735  Gh/s
000.328  %R
000.520  %HW
540.658   Gh/s expected @ pool

slot 0,slot 3,slot 4,slot 5,in service (slot #s start at ZERO!)


die   Mh/s      HW%      min   max     Volt   Amp   Watt      Gh/W
0_0  714.33    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     34.288
0_1  775.13    0.001  ( 0.00 / 0.00 )  1.00  1.00  1.00     37.206
0_2  770.64    0.744  ( 0.60 / 0.90 )  1.00  1.00  1.00     36.991
0_3  775.28    0.001  ( 0.00 / 0.00 )  1.00  1.00  1.00     37.214
57.0 C
1_0  749.71    0.000  ( 0.00 / 0.00 )  1.00  1.00  1.00     35.986
1_1  775.35    0.012  ( 0.01 / 0.02 )  1.00  1.00  1.00     37.217
1_2  775.40    0.981  ( 0.94 / 1.03 )  1.00  1.00  1.00     37.219
1_3  773.71    0.010  ( 0.01 / 0.02 )  1.00  1.00  1.00     37.138
58.5 C
root@knc1:/config#

legendary
Activity: 861
Merit: 1000
“Create Your Decentralized Life”
March 19, 2014, 12:31:44 PM
somebody can explain me how change cgminer for bfgminer?
sr. member
Activity: 386
Merit: 250
March 18, 2014, 01:31:27 PM
A tid-bit for bfgminer users
(cgminer only folks, read it and weep) Wink

An awk program to display some miner status.
This runs on the miner in a ssh session!

the program output looks like this
Code:
----------------SNIP---------------------
ProcID=184 57.00C MHS5s=875.602 A=48 HW_0.4632% 0.795V 54.188A 43.0795W
ProcID=185 57.00C MHS5s=874.609 A=54 HW_0.5050% 0.795V 54.188A 43.0795W
ProcID=186 57.00C MHS5s=874.925 A=44 HW_0.3925% 0.795V 54.188A 43.0795W
ProcID=187 57.00C MHS5s=875.179 A=55 HW_0.3656% 0.795V 54.188A 43.0795W
ProcID=188 57.00C MHS5s=874.114 A=48 HW_0.5069% 0.795V 54.188A 43.0795W
ProcID=189 57.00C MHS5s=875.077 A=59 HW_0.4384% 0.795V 54.188A 43.0795W
ProcID=190 57.00C MHS5s=874.119 A=50 HW_0.4705% 0.795V 54.188A 43.0795W
ProcID=191 57.00C MHS5s=875.199 A=56 HW_0.4576% 0.795V 54.188A 43.0795W
die3 ends

313.107  Gh/s
000.610  %R
001.109  %HW
311.541  Gh/s expected @ pool

slot 2,slot 3,in service (slot #s start at ZERO!)

die   Mh/s      HW%      min   max     Volt   Amp   Watt      Gh/W
0_0  799.04    0.596  ( 0.32 / 0.87 )  0.80  47.75  38.25     1.003
0_1  832.49    0.771  ( 0.50 / 1.01 )  0.83  49.94  41.70     0.958
0_2  747.19    3.115  ( 2.81 / 3.42 )  0.79  46.94  37.17     0.965
0_3  795.39    0.709  ( 0.00 / 0.89 )  0.79  48.81  38.32     0.996
53.5 C
1_0  799.80    0.223  ( 0.02 / 0.42 )  0.80  47.50  38.14     1.007
1_1  849.52    0.301  ( 0.20 / 0.45 )  0.79  51.94  41.13     0.991
1_2  825.26    2.794  ( 2.39 / 3.30 )  0.81  51.19  41.36     0.958
1_3  874.38    0.386  ( 0.22 / 0.51 )  0.80  54.19  43.08     0.974
57.0 C

You need to paste the following into files on your miner.
(anywhere is OK but somewhere below /config is a good idea!!!)

It is a rough rough rough first draft proof of concept.
If it's broke you get to keep both parts.

save this as an awk file ex:      /config/procs.awk
Code:
#!/usr/bin/awk -f
BEGIN {
RS="[|,]"; FS="="
}

/PGA/{PGAct++}
#Name=KNC
###/ID/ {if ($1=="ProcID"){ID[IDct++]=$2};next}
/ProcID/{ProcID[++ProcIDct]=$2}
/Enabled/{En[++Enct]=$2}
/Status/{Stat[++Statct]=$2}
/Temperature/{Temp[++Tempct]=$2}
#Device Elapsed
/MHS av/{MHSav[++MHSavct]=$2}
/MHS 5s/{MHS5s[++MHS5sct]=$2}
/Difficulty Accepted/ {next}
/Accepted/{A[++Act]=$2}
/Difficulty Rejected/{next}
/Rejected/{R[++Rct]=$2}
/Hardware Errors/{HW[++HWct]=$2}
#Utility
#Stale
#Last Share Pool
#Last Share Time
#Total MH
#Diff1 Work
#Work Utility
#Difficulty Accepted
#Difficulty Rejected
#Difficulty Stale0.00000000
#Last Share Difficulty                        
#Last Valid Work                              
/Device Hardware\%/{HWp[++HWpct]=$2}          
/Device Rejected\%/{Rp[++Rpct]=$2}            
/Voltage/{V[++Vct]=$2}                        
/DCDC Current/{I[++Ict]=$2}        
{                                  
#should be nuthin to do            
}                                  
                                    
END {                              
print IDct                          
for (x=1;x{                                  
        print "ProcID="ProcID[x]" "Temp[x]"C MHS5s="MHS5s[x]" A="A[x]" HW_"HWp[x]"% "V[x]"V "I[x]"A "V[x]*I[x]"W";
        if (x%48==0){print "die"((x/48)-1)%4" ends"};                                                
        if (x%192==0 && (x+1)        if (x%48==0 &&  (x+1)        Gh+=MHS5s[x];                                                                                
        HWpTotal+=HWp[x];                                                                            
        RpTotal+=Rp[x];                                                                              
}                                                                                                    
        print                                                                                        
        printf "%6.3f %s\n", (Gh/1000)," Gh/s";                                                      
        printf "00%5.3f %s\n", RpTotal/PGAct," %R";                                                  
        printf "00%5.3f %s\n", HWpTotal/PGAct," %HW";                                                
        printf "%6.3f %s\n", (Gh - ((Gh/100) * (HWpTotal/384)) + ((Gh/100) * (RpTotal/384))  )/1000,"  Gh/s expected @ pool";
        print                                                                                        
        "i2cget -y 2 0x71 2" | getline spi_en                                                        
#       printf "%s\t\n",  "spi_en="spi_en                                                            
        spi = substr(spi_en, 3)                                                                      
        for (i = 1; i <= 2; i++)                                                                      
        {                                                                                            
                c = substr(spi, i, 1)                                                                
                c = tolower(c)                                                                        
                if ((k = index("0123456789", c)) > 0) {k--}                                          
                else if ((k = index("abcdef", c)) > 0) {k += 9}                                      
                if (i == 2){spi_en_dec+=k}                                                            
                if (i == 1){spi_en_dec+=(k * 16)}                                                    
        }                                                                                            
        for (j=0;j<6;j++){                                                                            
                bit=(and(spi_en_dec, 1) ? "1" : "0")                                                  
                slot[j]=bit                                                                          
                spi_en_dec=rshift(spi_en_dec, 1)                                                      
                if (slot[j]==1){printf "%s",  "slot "j","}                                            
        }                                                                                            
                printf "%s\n", "in service (slot #s start at ZERO!)"                                  
        print                                                                                        
        print                                                                                        
        die=0;                                                                                        
        ASIC=0;                                                                                      
        min="";                                                                                      
        max="";                                                                                      
        y=0;                                                                                          
        HWpTotal="";                                                                                  
        MHS5sTotal="";                                                                                
                print "die   Mh/s      HW%      min   max     Volt   Amp   Watt      Gh/W"            
                                                                                                      
        for( y=1 ; y <= PGAct ; y++) {                                                                  
                if(y==1 + (48*die)) {                                                                
                        min=max=HWp[y];                                                              
                }                                                                                    
                if (min > HWp[y]) {                                                                  
                        min=HWp[y];                                                                  
                }                                                                                    
                if (max < HWp[y]) {                                                                  
                        max=HWp[y];                                                                  
                }                                                                                    
                MHS5sTotal+=MHS5s[y]                                                                  
                HWpTotal+=HWp[y];                                                                    
#               print "HWpTotal=" HWpTotal;                                                          
                if ( y == (48 + (48*die)) ) {                                                        
#                       print ASIC"_"die%4," ",(MHS5sTotal/48)" Mh/s","HW% "(HWpTotal/48),"  \t("min,  "/"max")","V="V[y]" I="I[y]" W="V[y]*I[y],"\t Gh/W="(MHS5sTotal/1000)/(V[y]*I[y])
                        printffmt="%s %5.2f %-s %5.3f %s %4.2f %s %-4.2f %s %-4.2f %s %-4.2f %s %-4.2f %s %-5.3f %s"
                        printf printffmt, ASIC"_"die%4" ",(MHS5sTotal/48),"  ",(HWpTotal/48)," (",min,"/",max,") ",V[y],"",I[y],"",V[y]*I[y],"   ",(MHS5sTotal/1000)/(V[y]*I[y]),"\n"
                        HWpTotal=0;                                                                  
                        MHS5sTotal=0;                                                                
                        ++die;                                                                        
                }                                                                                    
                if ( y%192 == 0) {                                                                    
                ASIC++;                                                                              
                printf "%3.1f %-s\n", Temp[y],"C";                                                    
                }                                                                                    
        }                                                                                            
                                                                                                      
                                                                                                      
}

Save this as a sh file   ex:   /config/procs.sh
Code:
echo "procs|" > procs.cmd
nc localhost 4028 < procs.cmd > nc.procs.out
./procs.awk nc.procs.out
rm procs.cmd
rm nc.procs.out

to run it just type
'./procs.sh'
(without the quotes) from whatever directory you created the files in


It's my first awk program.
Feedback is appreciated!

Between the awk on the KnCMiner being the stripped down busybox version, and my ignorance of awk,,,
"It is what it is"
Lots of things to do differently next time, more fun!

Now that I have the info available in a program I can try to implement an AUTOMATIC monitor/tweaker.

YMMV
Smiley

EDIT 3/19    fixed leftover premie error in code  -  a 'for' loop was static @ 384 instead of however many are installed
sr. member
Activity: 386
Merit: 250
March 17, 2014, 09:28:43 AM
FYI

One of my die went on strike, protesting adverse working conditions.
We negotiated a settelement!

It had been steady for months!

Either I have a thermal issue (quite possible with current WB setup)
OR
Possibly a die or VRM has been degraded by OC.

It used to muster 875Mh/s  (221 or 452)
Now only get 812Mh/s (402)

I'll de-gas my loop(possible bubble in waterblock) again and try to put it back.


Be careful out there!

YMMV
Smiley
legendary
Activity: 1036
Merit: 1000
Nighty Night Don't Let The Trolls Bite Nom Nom Nom
March 15, 2014, 08:52:42 AM
anyone tried to add extra VRM and PCI connections to KnC boards?
sr. member
Activity: 386
Merit: 250
March 14, 2014, 08:03:09 AM

I made a new modifications to cgminer.sh to make the clock configuration easier to adapt and save between reboots.

The modification will read the clock settings from the file /config/clocks.conf and apply them when cg/bfgminer is started.
The syntax of the config file should be self explanatory.

SNIP

I hope its useful Smiley

Very useful indeed!
Thx bondus.

I'm working on something related.
HW error monitor and AUTO speed tuning using HW error as throttle.
Every couple of weeks one of my ASIC gets squinked up requiring manual intervention.
I was thinking of a similar file but with an added HW error tolerance field per die in addition to target speed.
I spose a temp monitor thrown in too.

I'll come begging for auto voltage tuning help if I get that far.
Thx again!

YMMV
Smiley
newbie
Activity: 13
Merit: 0
March 13, 2014, 12:21:20 PM

I made a new modifications to cgminer.sh to make the clock configuration easier to adapt and save between reboots.

The modification will read the clock settings from the file /config/clocks.conf and apply them when cg/bfgminer is started.
The syntax of the config file should be self explanatory.

Add in the beginning (where the other similar lines are) to cgminer.sh :

CLOCKS=/config/clocks.conf


And a bit further down:

        if [ -n "$good_ports" ] ; then
                if [ -f $CLOCKS ] ; then
                    clocks=$(cat $CLOCKS)
                else
                    clocks="0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 0x02,0x01 "
                fi

                di=0
                for p in $good_ports ; do
                        # Re-enable PLL
                        i2cset -y 2 0x71 1 $((p+1))
                        for c in 0 1 2 3 ; do
                                cmd=$(printf "0x84,0x%02X,0,0" $c)
                                spi-test -s 50000 -OHC -D /dev/spidev1.0 $cmd >/dev/null
                                cl=$(echo $clocks $di | awk '{split($0,a," "); print a[a[NF]+1]}')
                                cmd=$(printf "0x86,0x%02X,%s" $c $cl)
                                spi-test -s 50000 -OHC -D /dev/spidev1.0 $cmd >/dev/null
                                cmd=$(printf "0x85,0x%02X,0,0" $c)
                                spi-test -s 50000 -OHC -D /dev/spidev1.0 $cmd >/dev/null
                                di=$((di+1))
                        done

                        # re-enable all cores
                        i=0
                        while [[ $i -lt 192 ]] ; do
                                i2cset -y 2 0x2$p $i 1
                                i=$((i+1))
                        done
                        spi_ena=$(( spi_ena | (1 << $p) ))
                done
        fi



Example /config/clocks.conf:

0x02,0x71 0x02,0x71 0x02,0x71 0x02,0x71
0x02,0x71 0x02,0x51 0x02,0x71 0x02,0x51
0x02,0x51 0x02,0x51 0x02,0x51 0x02,0x51
0x02,0x51 0x02,0x51 0x02,0x51 0x02,0x51

Spaces are very important in this file. Do not add a space after "0x02,".

I hope its useful Smiley
zm
newbie
Activity: 4
Merit: 0
March 11, 2014, 09:00:31 AM
@elasticband can You check CPU load on bfg and cg?
legendary
Activity: 1036
Merit: 1000
Nighty Night Don't Let The Trolls Bite Nom Nom Nom
March 11, 2014, 08:15:32 AM
WOW BFGminer was the bottle neck! works with CG
legendary
Activity: 1036
Merit: 1000
Nighty Night Don't Let The Trolls Bite Nom Nom Nom
March 11, 2014, 07:49:59 AM
Has anyone managed to get 5 or 6 boards working with anything close tot he following settings.

5 boards
all 8vrm
99.2 firmware/99.2E to enable all VRM
clock setting 271 - 291
HW - 0.5-1.5%

I can run 4 boards perfectly with the above and an output of 790GH, but when i add the 5th board i only seem to get a total of about 150 x 5 = 750 - 10% - HW  Embarrassed


legendary
Activity: 1098
Merit: 1000
March 11, 2014, 05:04:20 AM
So I used putty to change the following line on my saturn.

L61   0x86,0x%02X,0x02,0x11

Then , esc, :wq, reboot.

Nothing ever happens though and the settings just revert back when it reboots.

I've been having a lot of trouble with unit in the browser, sometimes even incognito browser will not show the advanced tab, or the proper firmware version or let me upgrade the firmware. Could be related. I could be missing something though. This thread is nothing but a jumble with no clear directions.

Once you have made the edit you need to type

/etc/init.d/cgminer.sh restart

If you reboot the machine any changes made are lost.

Browser problems are usually due to pages being cached, ctrl+f5 them usually works.
hero member
Activity: 518
Merit: 500
March 11, 2014, 04:49:51 AM
So I used putty to change the following line on my saturn.

L61   0x86,0x%02X,0x02,0x11

Then , esc, :wq, reboot.

Nothing ever happens though and the settings just revert back when it reboots.

I've been having a lot of trouble with unit in the browser, sometimes even incognito browser will not show the advanced tab, or the proper firmware version or let me upgrade the firmware. Could be related. I could be missing something though. This thread is nothing but a jumble with no clear directions.
Pages:
Jump to: