Pages:
Author

Topic: Bitmain L3+ Voltage Control Tool...Free :) - page 8. (Read 14249 times)

member
Activity: 238
Merit: 11
...

I'm running at 462, underclocked at 0xd0 getting 595MH (due to HW errors) at 870W, compared to stock freq/voltage I get 830W

I have 4 running at 462M now with HW errors <0.08%.

In conclusion, a few things were done to try and keep HW errors < 0.08%

Individual boards with high HW @ 462 gets an overvolt at 0x78 or 70.

Boards with average HW gets a 1-2 step undervolt 0x88, 0x90

Good boards gets more undervolting. I have one that throws 1HW in 10 mins at 0xb0

My goal right now is to increase revenue and improve profitability - Hash at 595 gives roughly 15-20% increased revenue with an efficiency gain to 0.68MH/W over 0.60MH/W hence improving profitability.


newbie
Activity: 53
Merit: 0
I would think your hash rate of the unit is not the same as the pool due to the hardware errors,
only accepted good shares, stale, orphaned, duplicate would be used to calculate your hash rate
over a period of time.

I have my unit running at 555Mhs @ freq 425 stock volatage and want to see how much I can turn
it down and get the least power draw. Anyone dial back yet on a overclocked unit?

I'm running at 462, underclocked at 0xd0 getting 595MH (due to HW errors) at 870W, compared to stock freq/voltage I get 830W

I have 4 running at 462M now with HW errors <0.08%.

In conclusion, a few things were done to try and keep HW errors < 0.08%

Individual boards with high HW @ 462 gets an overvolt at 0x78 or 70.

Boards with average HW gets a 1-2 step undervolt 0x88, 0x90

Good boards gets more undervolting. I have one that throws 1HW in 10 mins at 0xb0
member
Activity: 238
Merit: 11
I would think your hash rate of the unit is not the same as the pool due to the hardware errors,
only accepted good shares, stale, orphaned, duplicate would be used to calculate your hash rate
over a period of time.

I have my unit running at 555Mhs @ freq 425 stock volatage and want to see how much I can turn
it down and get the least power draw. Anyone dial back yet on a overclocked unit?

I'm running at 462, underclocked at 0xd0 getting 595MH (due to HW errors) at 870W, compared to stock freq/voltage I get 830W
newbie
Activity: 54
Merit: 0
Would love a version of this in graphical form. Im a noob with this command line stuff. Incidentally I have a no devfee D3 bios where you can reduce noise and watts if anyone wants it.

newbie
Activity: 53
Merit: 0
D3 is not supported.


Yea ill add D3 support when I have time

Love to have A3 support too. With new miners incoming from other competition.
legendary
Activity: 2174
Merit: 1401
D3 is not supported.


Yea ill add D3 support when I have time
full member
Activity: 284
Merit: 102
I will do a second one with clear shots to help.

I am working with Mac .

Set at freq 359 hash is 471mh stock voltage

I set to 0xf0





so your command looks like this:

Code:
./set_voltage 1 F0
   

the 0 = zero

This was a dumb question.  Sorry.
sr. member
Activity: 346
Merit: 260
Why doesn't the hashrate on my pool stats match with my miner?

My miner is reporting 604MH with 462 frequency. But the pool is reporting 570MH?


If overclocking to 462M without undervolting is already generating HW errors, does that mean I will have to OVERVOLT my miner?


I would think your hash rate of the unit is not the same as the pool due to the hardware errors,
only accepted good shares, stale, orphaned, duplicate would be used to calculate your hash rate
over a period of time.

I have my unit running at 555Mhs @ freq 425 stock volatage and want to see how much I can turn
it down and get the least power draw. Anyone dial back yet on a overclocked unit?
legendary
Activity: 4326
Merit: 8950
'The right to privacy matters'
Can I apply this file to adjust the voltage on the D3?

this is his file
I looked at it  and I am not sure I see if it can or can't work


Code:
//
//  set_voltage_new.c
// 
//
//  Created by jstefanop on x/xx/18.
//

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

#define PIC_COMMAND_1                       0x55
#define PIC_COMMAND_2                       0xaa
#define GET_VOLTAGE                         0x18
#define SET_VOLTAGE                         0x10
#define JUMP_FROM_LOADER_TO_APP             0x06
#define RESET_PIC                           0x07
#define READ_PIC_SOFTWARE_VERSION           0x17
static unsigned char Pic_command_1[1] = {PIC_COMMAND_1};
static unsigned char Pic_command_2[1] = {PIC_COMMAND_2};
static unsigned char Pic_set_voltage[1] = {SET_VOLTAGE};
static unsigned char Pic_get_voltage[1] = {GET_VOLTAGE};
static unsigned char Pic_read_pic_software_version[1] = {READ_PIC_SOFTWARE_VERSION};
static unsigned char Pic_jump_from_loader_to_app[1] = {JUMP_FROM_LOADER_TO_APP};
static unsigned char Pic_reset[1] = {RESET_PIC};
pthread_mutex_t iic_mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t i2c_mutex = PTHREAD_MUTEX_INITIALIZER;



void pic_send_command(int fd)
{
    //printf("--- %s\n", __FUNCTION__);
    pthread_mutex_lock(&i2c_mutex);
    write(fd, Pic_command_1, 1);
    write(fd, Pic_command_2, 1);
    pthread_mutex_unlock(&i2c_mutex);
}

void pic_read_pic_software_version(unsigned char *version, int fd)
{
    pic_send_command(fd);
   
    //printf("\n--- %s\n", __FUNCTION__);
    pthread_mutex_lock(&i2c_mutex);
    write(fd, Pic_read_pic_software_version, 1);
    read(fd, version, 1);
    pthread_mutex_unlock(&i2c_mutex);
}

void pic_read_voltage(unsigned char *voltage, int fd)
{
   
    pic_send_command(fd);
   
    //printf("\n--- %s\n", __FUNCTION__);
   
    pthread_mutex_lock(&i2c_mutex);
    write(fd, Pic_get_voltage, 1);
    read(fd, voltage, 1);
    pthread_mutex_unlock(&i2c_mutex);
   
    usleep(500000);
}

void pic_set_voltage(unsigned char *voltage, int fd)
{
   
    pic_send_command(fd);
   
    //printf("\n--- %s\n", __FUNCTION__);
   
    pthread_mutex_lock(&i2c_mutex);
    write(fd, Pic_set_voltage, 1);
    write(fd, voltage, 1);
    pthread_mutex_unlock(&i2c_mutex);
   
    usleep(500000);
}



void pic_jump_from_loader_to_app(int fd)
{
    pic_send_command(fd);
   
    //printf("\n--- %s\n", __FUNCTION__);
    pthread_mutex_lock(&i2c_mutex);
    write(fd, Pic_jump_from_loader_to_app, 1);
    pthread_mutex_unlock(&i2c_mutex);
    usleep(500000);
}

void pic_reset(int fd)
{
    pic_send_command(fd);
   
    printf("\n--- %s\n", __FUNCTION__);
    pthread_mutex_lock(&i2c_mutex);
    write(fd, Pic_reset, 1);
    pthread_mutex_unlock(&i2c_mutex);
    usleep(600*1000);
}


void main (int argc, char *argv[]){
   
    if (argc != 3) {
        printf("Incorrect arguments\n");
        printf("Usage:\n");
        printf("./set_voltage [chain# 1-4] [voltage in hex]\n");
        exit(1);
    }
   
    int chain = atoi(argv[1]);
    unsigned char set_voltage = strtol(argv[2], NULL, 16);
   
    if(chain > 4 || chain == 0){
        printf("Invalid chain #, valid range 1-4\n");
        exit(1);
    }
    if(strtol(argv[2], NULL, 16) > 0xfe){
        printf("Invalid hex voltage, valid range 0x00-0xfe\n");
        exit(1);
    }
   
    int fd;
    char filename[40];
    unsigned char version = 0;
    unsigned char voltage = 0;
    int const i2c_slave_addr[4] = {0xa0,0xa2,0xa4,0xa6};
   
    chain--;
   
    sprintf(filename,"/dev/i2c-0");
   
    if ((fd = open(filename,O_RDWR)) < 0) {
        printf("Failed to open the bus\n");
        exit(1);
    }
   
    pthread_mutex_lock(&iic_mutex);
    if (ioctl(fd,I2C_SLAVE,i2c_slave_addr[chain] >> 1 )) {
        printf("Failed to acquire bus access and/or talk to slave.\n");
        exit(1);
    }
   // pic_reset(fd);
   // pic_jump_from_loader_to_app(fd);
    pic_read_pic_software_version(&version, fd);
    printf("\n version = 0x%02x\n", version);
   
    if(version != 0x03){
        printf("Wrong PIC version\n");
        exit(1);
    }
   
    printf("reading voltage\n");
    pic_read_voltage(&voltage, fd);
   
    printf("\n voltage = 0x%02x\n", voltage);
   
    printf("setting voltage\n");
    pic_set_voltage(&set_voltage, fd);
   
    printf("reading voltage\n");
    pic_read_voltage(&voltage, fd);
    printf("\n voltage = 0x%02x\n", voltage);
   
   // pic_reset(fd);
    pthread_mutex_unlock(&iic_mutex);
   
    if(voltage != set_voltage)
        printf("ERROR: Voltage was not successfully set\n");
    else
        printf("Success: Voltage updated!\n");
   
}


newbie
Activity: 96
Merit: 0
D3 is not supported.
legendary
Activity: 4326
Merit: 8950
'The right to privacy matters'
Why doesn't the hashrate on my pool stats match with my miner?

My miner is reporting 604MH with 462 frequency. But the pool is reporting 570MH?


If overclocking to 462M without undervolting is already generating HW errors, does that mean I will have to OVERCLOCK my miner?

Very hard to answer.  Are you tossing thousands of errors hundreds of errors or dozens of errors.

In day 100 errors is no big deal

Mine indeed is tossing 1100 HW in 2 hours.

I'm now seeing a clearer picture of it. The % error is indicated at the HW row under the Nounce# column right?

The value for my first rig is 0.4% despite getting 7k HW errors in 14 hours.

The value for my second rig is 0.01% with just 200 HW errors.

What about the percentage of DiffA# column?


It's also very dependent on how the pool parcels out work, how much work is thrown away, difficulty settings etc

I'm getting 1% error rate, difficulty at 65k, pool reported rate average for the past 24h between 550 to 600; miner reports effective rate of 595 (due to errors ~1%) at 462M frequency

Did you undervolt or overvolt it? What does 1% error rate mean? My HW errors are numbers like 5k in 10 hours, still reporting 599MH average on stats panel. Pool panel (litecoinpool) reports 540-660 so huge fluctuation here. Feeling like mine needs an overvolt.


1% errors means that 1% of overall hash is in error - basically, miner reports 604 as what the chips are hashing, 595 as average, and hardware errors under nonce reports 1% errors.
Fluctuation is normal, over time miner is "600 MH/sec" but difficulty and shares are based on luck - in the long run I should be getting around 600 MH - 1% = 594 at pool.
This is further reduced by work from pool not being "instant" and the antminer software itself has discarded work.




% error is indicated under Nonce# column HW row right?

For the first machine, I get 7k hw errors in 15 hours, 0.4056%
Second machine 4k hw errors, 0.2532%
The third machine I got 158 hw errors, with the number just being 0.0101%

These percentages do seem like hw error % due to their relevance proportionally.
As long as I keep these numbers reasonable, I'm undervolting correctly?


Yes  I shoot for under

0.0500%
newbie
Activity: 53
Merit: 0
Why doesn't the hashrate on my pool stats match with my miner?

My miner is reporting 604MH with 462 frequency. But the pool is reporting 570MH?


If overclocking to 462M without undervolting is already generating HW errors, does that mean I will have to OVERCLOCK my miner?

Very hard to answer.  Are you tossing thousands of errors hundreds of errors or dozens of errors.

In day 100 errors is no big deal

Mine indeed is tossing 1100 HW in 2 hours.

I'm now seeing a clearer picture of it. The % error is indicated at the HW row under the Nounce# column right?

The value for my first rig is 0.4% despite getting 7k HW errors in 14 hours.

The value for my second rig is 0.01% with just 200 HW errors.

What about the percentage of DiffA# column?


It's also very dependent on how the pool parcels out work, how much work is thrown away, difficulty settings etc

I'm getting 1% error rate, difficulty at 65k, pool reported rate average for the past 24h between 550 to 600; miner reports effective rate of 595 (due to errors ~1%) at 462M frequency

Did you undervolt or overvolt it? What does 1% error rate mean? My HW errors are numbers like 5k in 10 hours, still reporting 599MH average on stats panel. Pool panel (litecoinpool) reports 540-660 so huge fluctuation here. Feeling like mine needs an overvolt.


1% errors means that 1% of overall hash is in error - basically, miner reports 604 as what the chips are hashing, 595 as average, and hardware errors under nonce reports 1% errors.
Fluctuation is normal, over time miner is "600 MH/sec" but difficulty and shares are based on luck - in the long run I should be getting around 600 MH - 1% = 594 at pool.
This is further reduced by work from pool not being "instant" and the antminer software itself has discarded work.




% error is indicated under Nonce# column HW row right?

For the first machine, I get 7k hw errors in 15 hours, 0.4056%
Second machine 4k hw errors, 0.2532%
The third machine I got 158 hw errors, with the number just being 0.0101%

These percentages do seem like hw error % due to their relevance proportionally.
As long as I keep these numbers reasonable, I'm undervolting correctly?
newbie
Activity: 96
Merit: 0
Can I apply this file to adjust the voltage on the D3?
full member
Activity: 284
Merit: 102
I will do a second one with clear shots to help.

I am working with Mac .

Set at freq 359 hash is 471mh stock voltage

I set to 0xf0





so your command looks like this:

Code:
./set_voltage 1 F0
   

the 0 = zero
legendary
Activity: 4326
Merit: 8950
'The right to privacy matters'
@ yankees

 this unit was at freq 359---- hash 472---- watts 800---- HW 0
this unit is now freq  359---- hash 472---- watts 701---- HW 0
this unit is now freq  359---- hash 467---- watts 6xx---- HW 0 lowest volts

so 100 watts saved or 2.4 kwatts a day  or 72 kwatts a month

I have 12 units  so 12 x 72 =  864 kwatts a month  at 10 cents a kwatt  that is 86 dollars a month  1032 dollars a year.

and  I am not a the rock bottom setting of 0xfe  !

I will see if I can get that to work on this unit.

just did it  works fine
sr. member
Activity: 465
Merit: 301
So phil  with new voltage   how much watts  did you drop from stock voltage?
legendary
Activity: 4326
Merit: 8950
'The right to privacy matters'
I will do a second one with clear shots to help.

I am working with Mac .

Set at freq 359 hash is 471mh stock voltage

I set to 0xf0



member
Activity: 531
Merit: 29
Thank you Sir!

I set all to C0 and temps dropped 4 deg across the board. I am sure power would be down too.

Sent $5 for my 2 L3s.

Edit: For reference I am 425 freq / 550 MH/s for each.
member
Activity: 238
Merit: 11
Why doesn't the hashrate on my pool stats match with my miner?

My miner is reporting 604MH with 462 frequency. But the pool is reporting 570MH?


If overclocking to 462M without undervolting is already generating HW errors, does that mean I will have to OVERCLOCK my miner?

Very hard to answer.  Are you tossing thousands of errors hundreds of errors or dozens of errors.

In day 100 errors is no big deal

Mine indeed is tossing 1100 HW in 2 hours.

It's also very dependent on how the pool parcels out work, how much work is thrown away, difficulty settings etc

I'm getting 1% error rate, difficulty at 65k, pool reported rate average for the past 24h between 550 to 600; miner reports effective rate of 595 (due to errors ~1%) at 462M frequency

Did you undervolt or overvolt it? What does 1% error rate mean? My HW errors are numbers like 5k in 10 hours, still reporting 599MH average on stats panel. Pool panel (litecoinpool) reports 540-660 so huge fluctuation here. Feeling like mine needs an overvolt.


1% errors means that 1% of overall hash is in error - basically, miner reports 604 as what the chips are hashing, 595 as average, and hardware errors under nonce reports 1% errors.
Fluctuation is normal, over time miner is "600 MH/sec" but difficulty and shares are based on luck - in the long run I should be getting around 600 MH - 1% = 594 at pool.
This is further reduced by work from pool not being "instant" and the antminer software itself has discarded work.


legendary
Activity: 4326
Merit: 8950
'The right to privacy matters'
Why doesn't the hashrate on my pool stats match with my miner?

My miner is reporting 604MH with 462 frequency. But the pool is reporting 570MH?


If overclocking to 462M without undervolting is already generating HW errors, does that mean I will have to OVERCLOCK my miner?

Very hard to answer.  Are you tossing thousands of errors hundreds of errors or dozens of errors.

In day 100 errors is no big deal

Mine indeed is tossing 1100 HW in 2 hours.

It's also very dependent on how the pool parcels out work, how much work is thrown away, difficulty settings etc

I'm getting 1% error rate, difficulty at 65k, pool reported rate average for the past 24h between 550 to 600; miner reports effective rate of 595 (due to errors ~1%) at 462M frequency

Did you undervolt or overvolt it? What does 1% error rate mean? My HW errors are numbers like 5k in 10 hours, still reporting 599MH average on stats panel. Pool panel (litecoinpool) reports 540-660 so huge fluctuation here. Feeling like mine needs an overvolt.

yeah  do the smallest overvolt setting and see if you reduce  hw

my hw for  9 hours

bd 1 ..... 2
bd 2 ..... 85
bd 3 ..... 2
bd 4 ..... 0
Pages:
Jump to: