Bitcoin Forum
December 13, 2017, 04:27:52 AM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 [44] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 »
  Print  
Author Topic: Hacking The KNC Firmware: Overclocking  (Read 143223 times)
tolip_wen
Sr. Member
****
Offline Offline

Activity: 387


View Profile
March 09, 2014, 11:42:40 AM
 #861

@ Tolip Wen: You mean the 6 solder points right next to the PCI-e adapter already on the ASIC? Think that could help bring up a slow die?

The mounting place is same end of PCB but not 'right next to', opposite end on SAME EDGE OF PCB
If you don't KNOW, better you ignore the suggestion.
Unlikely to revive a die with another power connection.

Another question: on 8VRM October boards, is it totally obvious that there are 8 and not 4? I have an October board and it only looks like there are 4, but what do I know (? - enough about Linux, but not squat about EE).

The VRM are big silver colored things.

2 along each of 4 edges of ASIC for 8 VRM unit
for 4 VRM unit only along the sides and not front or back of PCB  (front is where power and data connect)
4 VRM units have empty spots to mount additional parts.
Shiny places with nothing mounted.


You can look in the web interface and determine how many DC/DC converters.
VRM (voltage Regulator Module) is just a different name for DC/DC converter.

I am ignorant in the practice of reviving a sleeping die, all mine are OK.
My suggestion for a sleeping die is and always has been to try lower clock settings.
I have no idea if this works as reports are scarce and lacking in details regarding clocks.

For the record I refer to them as 'sleeping' as I have heard of success in awakening.


YMMV
Smiley

'twisted research and opinion' donations happily accepted @
13362fxFAdrhagmCvSmFy4WoHrNRPG2V57
My sub 1337 vanity address Wink
1513139272
Hero Member
*
Offline Offline

Posts: 1513139272

View Profile Personal Message (Offline)

Ignore
1513139272
Reply with quote  #2

1513139272
Report to moderator
1513139272
Hero Member
*
Offline Offline

Posts: 1513139272

View Profile Personal Message (Offline)

Ignore
1513139272
Reply with quote  #2

1513139272
Report to moderator
1513139272
Hero Member
*
Offline Offline

Posts: 1513139272

View Profile Personal Message (Offline)

Ignore
1513139272
Reply with quote  #2

1513139272
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
zm
Newbie
*
Offline Offline

Activity: 4


View Profile
March 09, 2014, 12:01:03 PM
 #862

How to manually set frequencies in v1.0 firmware?
There is no "0x86" lines in new cgminer.sh  Sad
elasticband
Legendary
*
Offline Offline

Activity: 1036


Nighty Night Don't Let The Trolls Bite Nom Nom Nom


View Profile
March 10, 2014, 09:35:31 AM
 #863

Used compressed air around the boards, heatsinks and VRM's. got the vacuum cleaner out and cleaned the well, used the brush head and got right in there.

Can feel the extra airflow, temperatures have reduced by about 10-5c and temps have reduce in my mining room, which is what i wanted as it has been to hot the last few days, i had to run all my 4vrm board without overclock as it was jsut to hot, i think today i will be fine though.
Beans
Hero Member
*****
Offline Offline

Activity: 490



View Profile WWW
March 11, 2014, 08:49:51 AM
 #864

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.

Tigggger
Legendary
*
Offline Offline

Activity: 1053



View Profile
March 11, 2014, 09:04:20 AM
 #865

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.

elasticband
Legendary
*
Offline Offline

Activity: 1036


Nighty Night Don't Let The Trolls Bite Nom Nom Nom


View Profile
March 11, 2014, 11:49:59 AM
 #866

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


elasticband
Legendary
*
Offline Offline

Activity: 1036


Nighty Night Don't Let The Trolls Bite Nom Nom Nom


View Profile
March 11, 2014, 12:15:32 PM
 #867

WOW BFGminer was the bottle neck! works with CG
zm
Newbie
*
Offline Offline

Activity: 4


View Profile
March 11, 2014, 01:00:31 PM
 #868

@elasticband can You check CPU load on bfg and cg?
bondus
Newbie
*
Offline Offline

Activity: 13


View Profile
March 13, 2014, 04:21:20 PM
 #869


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
tolip_wen
Sr. Member
****
Offline Offline

Activity: 387


View Profile
March 14, 2014, 12:03:09 PM
 #870


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

'twisted research and opinion' donations happily accepted @
13362fxFAdrhagmCvSmFy4WoHrNRPG2V57
My sub 1337 vanity address Wink
elasticband
Legendary
*
Offline Offline

Activity: 1036


Nighty Night Don't Let The Trolls Bite Nom Nom Nom


View Profile
March 15, 2014, 12:52:42 PM
 #871

anyone tried to add extra VRM and PCI connections to KnC boards?
tolip_wen
Sr. Member
****
Offline Offline

Activity: 387


View Profile
March 17, 2014, 01:28:43 PM
 #872

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

'twisted research and opinion' donations happily accepted @
13362fxFAdrhagmCvSmFy4WoHrNRPG2V57
My sub 1337 vanity address Wink
tolip_wen
Sr. Member
****
Offline Offline

Activity: 387


View Profile
March 18, 2014, 05:31:27 PM
 #873

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<PGAct;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)<PGAct ){print "ASIC boundry"};                                          
        if (x%48==0 &&  (x+1)<PGAct ){print "die"((x/48))%4" begins"};                                
        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

'twisted research and opinion' donations happily accepted @
13362fxFAdrhagmCvSmFy4WoHrNRPG2V57
My sub 1337 vanity address Wink
tiozes
Legendary
*
Offline Offline

Activity: 855


View Profile
March 19, 2014, 04:31:44 PM
 #874

somebody can explain me how change cgminer for bfgminer?
dlasher
Sr. Member
****
Offline Offline

Activity: 417



View Profile WWW
March 19, 2014, 05:46:02 PM
 #875

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#

NilBit
Newbie
*
Offline Offline

Activity: 13


View Profile
March 19, 2014, 07:55:01 PM
 #876

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
tolip_wen
Sr. Member
****
Offline Offline

Activity: 387


View Profile
March 19, 2014, 08:20:53 PM
 #877

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

Oops
Shoulda been PGAct   instead of 384
That should work even for 6 ASIC installed

Will edit above...

Still not ready for prime time, but hopefully useful!

YMMV
Smiley


'twisted research and opinion' donations happily accepted @
13362fxFAdrhagmCvSmFy4WoHrNRPG2V57
My sub 1337 vanity address Wink
tolip_wen
Sr. Member
****
Offline Offline

Activity: 387


View Profile
March 19, 2014, 08:46:37 PM
 #878

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

'twisted research and opinion' donations happily accepted @
13362fxFAdrhagmCvSmFy4WoHrNRPG2V57
My sub 1337 vanity address Wink
proclivity
Member
**
Offline Offline

Activity: 67


View Profile
March 20, 2014, 03:11:03 AM
 #879

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

For tips only - 12QT6zPJM5kQ5piZfn7tyFfcJrbgvSnMLn
tolip_wen
Sr. Member
****
Offline Offline

Activity: 387


View Profile
March 23, 2014, 06:09:33 PM
 #880

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

'twisted research and opinion' donations happily accepted @
13362fxFAdrhagmCvSmFy4WoHrNRPG2V57
My sub 1337 vanity address Wink
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 [44] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!