Bitcoin Forum
May 05, 2024, 08:51:30 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 »  All
  Print  
Author Topic: Bitmain L3+ Voltage Control Tool...Free :)  (Read 14061 times)
jstefanop (OP)
Legendary
*
Offline Offline

Activity: 2095
Merit: 1396


View Profile
May 04, 2018, 10:33:38 PM
Last edit: May 04, 2018, 10:51:39 PM by jstefanop
Merited by tw0rak (12), suchmoon (7), vapourminer (6), klintay (5), philipma1957 (4), senseless (3), Sandal_Hat (3), HagssFIN (1), psycodad (1), Eliovp (1), greyday (1), fyoung55 (1), crushed (1), grinbuck (1)
 #1

So certain members of this forum think its cool to rip off GPL code then do simple mods and profit greatly off it without releasing the code after having plenty of time to do so, therefore I decided to release a simple binary that does the most important function for free on the stock L3+ firmware Wink Figured lots of L3+ users would appreciate this with low profits and summer incoming.

My tests show that most boards will run on stock frequency (384) at the lowest voltage setting (0xfe) reliably at about 160 watts per board at the wall.

Source and release binary are here: https://github.com/jstefanop/bitmain-tools

This binary allows you to easily modify voltages on a per board bases for L3+ miners. It *should* work on all L3+ boards as long as they have the proper PIC version, If the binary complains about a wrong PIC version let me know (it wont do anything unless your board has the version I have tested on).

USAGE:

Since this need to be run directly from the miner console, below is my attempt at a user friendly instructions for people not familiar with the command line:

Download the release binary on GitHub and copy it over to your antminer:

Code:
scp [Directory you downloaded tool]/set_voltage root@[your miners ip]:/config

ssh into your miner and cd to config folder (this is the only folder that is saved on reboot on antminers so we saved the binary here).

Code:
ssh root@[your miners ip]
cd /config

binary accepts two inputs in the format of:

Code:
./set_voltage [chain# 1-4] [voltage in hex]

bitmains voltage controller can be configured to change the 12v input roughly +/- 1v from 10v, and this is configurable via a hex range of 0x00-0xfe, with the default being set to the middle (0x80). Higher hex values (0x80-0xfe) will LOWER voltage, lower values (0x00-0x7f) will INCREASE voltage from the default.

If your not familiar with hex numbering, all you need to know is that they range from 0-9, then a-f

For example if you want to slightly decrease your voltage on chain #1 you would input:

Code:
./set_voltage 1 90

increments of 0x10 are good starting point to test a sweet spot for each board for a particular frequency. Lowering voltage until you get around 1 HW error per minute is usually a good reference “sweet spot.”

So lower voltages from stock in increments of 0x10 are 90, A0, B0, C0, D0, E0, F0 and higher are 0x70, 0x60, 0x50 etc. If you want slightly higher resolution just go increments of 0x08, so lowering voltage in lower increments would look like 0x88, 0x90, 0x98, 0xA0, 0xA8, 0xB0 etc.

The tool directly writes the voltages to the pic controllers memory, so all changes are saved even on reboot and power down. If you want to set everything back to stock, you have to set the stock voltage for each chain using:

Code:
./set_voltage 1 80
./set_voltage 2 80
./set_voltage 3 80
./set_voltage 4 80

Enjoy! Keep in mind that the "other" solution has take a good few bucks or so a month of profit per L3 miner, so while I like helping out the community when I can especially in cases like this, please consider donating a few dollars per L3 if you end up using this tool, especially if you guys want me to work on similar tools or release more free stuff (like the auto voltage tuner I'm working on)  Tongue

LTC: LQZpb8AqbggUmsdPKr28DzdNcRP7MJ8kEf
BTC: 1LeA29mLjTFCyB5J6Yiq4TFtAck2VDPUZf


DISCLAMER: While the tool has basic error checking its not idiot proof, so be careful especially when overvolting. IM NOT RESPONSIBLE IF YOU FRY YOUR BOARD.

Project Apollo: A Pod Miner Designed for the Home https://bitcointalk.org/index.php?topic=4974036
FutureBit Moonlander 2 USB Scrypt Stick Miner: https://bitcointalk.org/index.php?topic=2125643.0
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714899090
Hero Member
*
Offline Offline

Posts: 1714899090

View Profile Personal Message (Offline)

Ignore
1714899090
Reply with quote  #2

1714899090
Report to moderator
1714899090
Hero Member
*
Offline Offline

Posts: 1714899090

View Profile Personal Message (Offline)

Ignore
1714899090
Reply with quote  #2

1714899090
Report to moderator
hinvestmentgroup
Newbie
*
Offline Offline

Activity: 23
Merit: 1


View Profile
May 04, 2018, 11:07:06 PM
 #2

Thanks!  I am very excited to try this.
Longsnowsm
Hero Member
*****
Offline Offline

Activity: 868
Merit: 517


View Profile
May 05, 2018, 12:11:52 AM
 #3

jstefanop,

What is the hash rate at that lowest speed?  I am just trying to think how to make this simple enough that a hosting location would be willing, able to update miners.  Thoughts?  Thanks for working on this.  I think the L3+ needs some help if coin prices don't get a pump.

Longsnowsm
jstefanop (OP)
Legendary
*
Offline Offline

Activity: 2095
Merit: 1396


View Profile
May 05, 2018, 12:23:46 AM
 #4

jstefanop,

What is the hash rate at that lowest speed?  I am just trying to think how to make this simple enough that a hosting location would be willing, able to update miners.  Thoughts?  Thanks for working on this.  I think the L3+ needs some help if coin prices don't get a pump.

Longsnowsm


Its the stock frequency so 500 MH/s. Keep in mind that not all hashboards will work at the lowest voltage setting on stock frequency, so you might have to undervolt some boards less. If you have your miners hosted, you should just be able to SSH into them and under volt them yourself?

Project Apollo: A Pod Miner Designed for the Home https://bitcointalk.org/index.php?topic=4974036
FutureBit Moonlander 2 USB Scrypt Stick Miner: https://bitcointalk.org/index.php?topic=2125643.0
Longsnowsm
Hero Member
*****
Offline Offline

Activity: 868
Merit: 517


View Profile
May 05, 2018, 12:27:27 AM
 #5

No access at my hosting location.  They have it locked down.  So I basically have to manage my miners through Mining Rig Rentals.  So in my case it would have to be something more or less "default" so that the technicians would be able to set it and forget it it kind of thing. 
nazzer
Member
**
Offline Offline

Activity: 238
Merit: 11


View Profile
May 05, 2018, 12:45:44 AM
 #6

Let's see how it goes ...

Code:
root@L3no01:/config# chmod a+x set_voltage
root@L3no01:/config# ./set_voltage 1 90

 version = 0x03
reading voltage

 voltage = 0x80
setting voltage
reading voltage

 voltage = 0x90
Success: Voltage updated!
root@L3no01:/config#

Vega 56 | Vega 64 | RX580 | GTX1070 | 1050Ti | S9 | L3+
jstefanop (OP)
Legendary
*
Offline Offline

Activity: 2095
Merit: 1396


View Profile
May 05, 2018, 12:46:25 AM
 #7

No access at my hosting location.  They have it locked down.  So I basically have to manage my miners through Mining Rig Rentals.  So in my case it would have to be something more or less "default" so that the technicians would be able to set it and forget it it kind of thing. 

If you want to play it safe, start off with 0xa0 undervolt. That should give most boards no issue at stock frequency, and still get a noticeable reduction in power. So you can't even see the web interface on your miners?

Project Apollo: A Pod Miner Designed for the Home https://bitcointalk.org/index.php?topic=4974036
FutureBit Moonlander 2 USB Scrypt Stick Miner: https://bitcointalk.org/index.php?topic=2125643.0
jstefanop (OP)
Legendary
*
Offline Offline

Activity: 2095
Merit: 1396


View Profile
May 05, 2018, 12:48:31 AM
 #8

Let's see how it goes ...

Code:
root@L3no01:/config# chmod a+x set_voltage
root@L3no01:/config# ./set_voltage 1 90

 version = 0x03
reading voltage

 voltage = 0x80
setting voltage
reading voltage

 voltage = 0x90
Success: Voltage updated!
root@L3no01:/config#

Looks good! Don't forget you need to do the same for the rest of the boards.

Project Apollo: A Pod Miner Designed for the Home https://bitcointalk.org/index.php?topic=4974036
FutureBit Moonlander 2 USB Scrypt Stick Miner: https://bitcointalk.org/index.php?topic=2125643.0
nazzer
Member
**
Offline Offline

Activity: 238
Merit: 11


View Profile
May 05, 2018, 12:59:43 AM
 #9

If you want to play it safe, start off with 0xa0 undervolt. That should give most boards no issue at stock frequency, and still get a noticeable reduction in power. So you can't even see the web interface on your miners?

Looks good! Don't forget you need to do the same for the rest of the boards.

I'm running at 462, chain 3 already giving 1 error per minute so leaving that alone for now.
Setting 1, 2 and 4 to 0xa0 and see how it goes over the next hour or so.

Power at wall now: ~950W / 240V (previously ~990W) - APW3++

Vega 56 | Vega 64 | RX580 | GTX1070 | 1050Ti | S9 | L3+
racebyu
Sr. Member
****
Offline Offline

Activity: 346
Merit: 260


View Profile
May 05, 2018, 04:10:55 AM
 #10

Very nice. So could we then turn down the voltage and boost the freq to get more hashing power at 800 watts then supplied by Bitmain? If the units voltage is high to start might be a bit of tuning between the voltage and freq. I assume the unit locks up if the freq is adjusted top high while under voltage.

jstefanop (OP)
Legendary
*
Offline Offline

Activity: 2095
Merit: 1396


View Profile
May 05, 2018, 07:29:15 AM
 #11

Very nice. So could we then turn down the voltage and boost the freq to get more hashing power at 800 watts then supplied by Bitmain? If the units voltage is high to start might be a bit of tuning between the voltage and freq. I assume the unit locks up if the freq is adjusted top high while under voltage.



It wont lock up...ASICs are dumb and they will just keep hashing but return bad data...thats what HW errors are. You want to tune it so HW errors are to minimum (ie under 1 a min or so).

Project Apollo: A Pod Miner Designed for the Home https://bitcointalk.org/index.php?topic=4974036
FutureBit Moonlander 2 USB Scrypt Stick Miner: https://bitcointalk.org/index.php?topic=2125643.0
nazzer
Member
**
Offline Offline

Activity: 238
Merit: 11


View Profile
May 05, 2018, 08:15:15 AM
 #12

Very nice. So could we then turn down the voltage and boost the freq to get more hashing power at 800 watts then supplied by Bitmain? If the units voltage is high to start might be a bit of tuning between the voltage and freq. I assume the unit locks up if the freq is adjusted top high while under voltage.

Results:

Chain 1, 2 and 4 voltage set to 0xc0,  < 1 HW error per minute
Chain 3 is at default 0x80

Power at wall ~900 W @ 462MHz vs 990 W @462 and ~830 W @384MHz with default voltage

20% increase in hashrate, < 10% increase in power draw at the wall

Vega 56 | Vega 64 | RX580 | GTX1070 | 1050Ti | S9 | L3+
Firstblackhaw
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
May 05, 2018, 11:15:29 AM
 #13

I tried it, but it errors
"root@antMiner:/config# ./set_voltage 1 90
./set_voltage: line 1: //: Permission denied
./set_voltage: line 2: //: Permission denied
./set_voltage: line 3: //: Permission denied
./set_voltage: line 4: //: Permission denied
./set_voltage: line 5: //: Permission denied
./set_voltage: line 6: //: Permission denied
./set_voltage: line 28: static: not found
./set_voltage: line 29: static: not found
./set_voltage: line 30: static: not found
./set_voltage: line 31: static: not found
./set_voltage: line 32: static: not found
./set_voltage: line 33: static: not found
./set_voltage: line 34: static: not found
./set_voltage: line 35: pthread_mutex_t: not found
./set_voltage: line 36: pthread_mutex_t: not found
./set_voltage: line 40: syntax error: unexpected "("
root@antMiner:/config# root@antMiner:/config# ./set_voltage 1 90
./set_voltage: line 35: pthread_mutex_t: not found
./set_voltage: line 36: pthread_mutex_t: not found
./set_voltage: line 40: syntax error: unexpected "("

Do I need reboot my L3+?
psycodad
Legendary
*
Offline Offline

Activity: 1604
Merit: 1564


精神分析的爸


View Profile
May 05, 2018, 12:32:22 PM
 #14

I tried it, but it errors
"root@antMiner:/config# ./set_voltage 1 90
./set_voltage: line 1: //: Permission denied
./set_voltage: line 2: //: Permission denied
./set_voltage: line 3: //: Permission denied
./set_voltage: line 4: //: Permission denied
./set_voltage: line 5: //: Permission denied
./set_voltage: line 6: //: Permission denied
./set_voltage: line 28: static: not found
./set_voltage: line 29: static: not found
./set_voltage: line 30: static: not found
./set_voltage: line 31: static: not found
./set_voltage: line 32: static: not found
./set_voltage: line 33: static: not found
./set_voltage: line 34: static: not found
./set_voltage: line 35: pthread_mutex_t: not found
./set_voltage: line 36: pthread_mutex_t: not found
./set_voltage: line 40: syntax error: unexpected "("
root@antMiner:/config# root@antMiner:/config# ./set_voltage 1 90
./set_voltage: line 35: pthread_mutex_t: not found
./set_voltage: line 36: pthread_mutex_t: not found
./set_voltage: line 40: syntax error: unexpected "("

Do I need reboot my L3+?


Try the obvious and see if that helps:

Code:
chmod u+x /config/set_voltage


psycodad
Legendary
*
Offline Offline

Activity: 1604
Merit: 1564


精神分析的爸


View Profile
May 05, 2018, 12:42:03 PM
 #15

Thanks for this awesome tool jstefanop!

While lowering the voltage on all my L3+, I had one that said on board #1:

Code:
for i in 1 2 3 4; do /config/set_voltage $i a0; done

 version = 0x03
reading voltage

 voltage = 0xff
setting voltage
reading voltage

 voltage = 0xa0
Success: Voltage updated!

 version = 0x03
reading voltage

 voltage = 0x80
setting voltage
...

Means I received this miner with 0xff for board 1 from bitmain and funny enough it never made a single error on any of its boards in its current lifetime. I am now considering to run my tests backwards, meaning starting with 0xff and seeing if it stays stable, I bet they do (most).

Thanks again!


jstefanop (OP)
Legendary
*
Offline Offline

Activity: 2095
Merit: 1396


View Profile
May 05, 2018, 04:33:25 PM
 #16

Thanks for this awesome tool jstefanop!

While lowering the voltage on all my L3+, I had one that said on board #1:

Code:
for i in 1 2 3 4; do /config/set_voltage $i a0; done

 version = 0x03
reading voltage

 voltage = 0xff
setting voltage
reading voltage

 voltage = 0xa0
Success: Voltage updated!

 version = 0x03
reading voltage

 voltage = 0x80
setting voltage
...

Means I received this miner with 0xff for board 1 from bitmain and funny enough it never made a single error on any of its boards in its current lifetime. I am now considering to run my tests backwards, meaning starting with 0xff and seeing if it stays stable, I bet they do (most).

Thanks again!



That’s weird...i think that 0xff sets DAC off, but this setting is not saved that’s why the tool only has range up to 0xfe

Project Apollo: A Pod Miner Designed for the Home https://bitcointalk.org/index.php?topic=4974036
FutureBit Moonlander 2 USB Scrypt Stick Miner: https://bitcointalk.org/index.php?topic=2125643.0
farmerjake
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
May 05, 2018, 06:26:03 PM
 #17

doing this on mac, and not very experienced, but running into an issue
download, unzip the files from github to downloads folder
try the scp command to send to antminer. set_voltage not found. Have to enter set_voltage_new.c for it to be found
then I get the same error as above
I tried chmod u+x /config/set_voltage_new.c as well

Quote
"root@IP ADDRESS:/config# ./set_voltage_new.c 1 90
./set_voltage: line 1: //: Permission denied
./set_voltage: line 2: //: Permission denied
./set_voltage: line 3: //: Permission denied
./set_voltage: line 4: //: Permission denied
./set_voltage: line 5: //: Permission denied
./set_voltage: line 6: //: Permission denied
./set_voltage: line 28: static: not found
./set_voltage: line 29: static: not found
./set_voltage: line 30: static: not found
./set_voltage: line 31: static: not found
./set_voltage: line 32: static: not found
./set_voltage: line 33: static: not found
./set_voltage: line 34: static: not found
./set_voltage: line 35: pthread_mutex_t: not found
./set_voltage: line 36: pthread_mutex_t: not found
./set_voltage: line 40: syntax error: unexpected "("
jstefanop (OP)
Legendary
*
Offline Offline

Activity: 2095
Merit: 1396


View Profile
May 05, 2018, 06:48:10 PM
 #18

doing this on mac, and not very experienced, but running into an issue
download, unzip the files from github to downloads folder
try the scp command to send to antminer. set_voltage not found. Have to enter set_voltage_new.c for it to be found
then I get the same error as above
I tried chmod u+x /config/set_voltage_new.c as well

Quote
"root@IP ADDRESS:/config# ./set_voltage_new.c 1 90
./set_voltage: line 1: //: Permission denied
./set_voltage: line 2: //: Permission denied
./set_voltage: line 3: //: Permission denied
./set_voltage: line 4: //: Permission denied
./set_voltage: line 5: //: Permission denied
./set_voltage: line 6: //: Permission denied
./set_voltage: line 28: static: not found
./set_voltage: line 29: static: not found
./set_voltage: line 30: static: not found
./set_voltage: line 31: static: not found
./set_voltage: line 32: static: not found
./set_voltage: line 33: static: not found
./set_voltage: line 34: static: not found
./set_voltage: line 35: pthread_mutex_t: not found
./set_voltage: line 36: pthread_mutex_t: not found
./set_voltage: line 40: syntax error: unexpected "("

Your trying to run the source code which wont work  Tongue...all you need to download is the release binary (click on the release tab on GitHub). Transfer that over and try again.


EDIT: https://github.com/jstefanop/bitmain-tools/releases/download/v.1/set_voltage.zip

Project Apollo: A Pod Miner Designed for the Home https://bitcointalk.org/index.php?topic=4974036
FutureBit Moonlander 2 USB Scrypt Stick Miner: https://bitcointalk.org/index.php?topic=2125643.0
farmerjake
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
May 05, 2018, 07:19:05 PM
Last edit: May 05, 2018, 07:57:23 PM by farmerjake
 #19

doing this on mac, and not very experienced, but running into an issue
download, unzip the files from github to downloads folder
try the scp command to send to antminer. set_voltage not found. Have to enter set_voltage_new.c for it to be found
then I get the same error as above
I tried chmod u+x /config/set_voltage_new.c as well

Quote
"root@IP ADDRESS:/config# ./set_voltage_new.c 1 90
./set_voltage: line 1: //: Permission denied
./set_voltage: line 2: //: Permission denied
./set_voltage: line 3: //: Permission denied
./set_voltage: line 4: //: Permission denied
./set_voltage: line 5: //: Permission denied
./set_voltage: line 6: //: Permission denied
./set_voltage: line 28: static: not found
./set_voltage: line 29: static: not found
./set_voltage: line 30: static: not found
./set_voltage: line 31: static: not found
./set_voltage: line 32: static: not found
./set_voltage: line 33: static: not found
./set_voltage: line 34: static: not found
./set_voltage: line 35: pthread_mutex_t: not found
./set_voltage: line 36: pthread_mutex_t: not found
./set_voltage: line 40: syntax error: unexpected "("

Your trying to run the source code which wont work  Tongue...all you need to download is the release binary (click on the release tab on GitHub). Transfer that over and try again.


EDIT: https://github.com/jstefanop/bitmain-tools/releases/download/v.1/set_voltage.zip

Well I feel dumb LOL! Will try it and let y'all know the results

Edit: set  power value to 90 on all boards across 9 units. Everything seems solid for now. Need to figure out what the next incremental step down in terms of voltage is and try that when I am physically located by the machines.
racebyu
Sr. Member
****
Offline Offline

Activity: 346
Merit: 260


View Profile
May 06, 2018, 12:33:37 AM
 #20


Enjoy! Keep in mind that the "other" solution has take a good few bucks or so a month of profit per L3 miner, so while I like helping out the community when I can especially in cases like this, please consider donating a few dollars per L3 if you end up using this tool, especially if you guys want me to work on similar tools or release more free stuff (like the auto voltage tuner I'm working on)  Tongue

LTC: LQZpb8AqbggUmsdPKr28DzdNcRP7MJ8kEf
BTC: 1LeA29mLjTFCyB5J6Yiq4TFtAck2VDPUZf

DISCLAMER: While the tool has basic error checking its not idiot proof, so be careful especially when overvolting. IM NOT RESPONSIBLE IF YOU FRY YOUR BOARD.

Wow, I missed the Auto voltage tuner in your first post, that would be the cats ass!!
Would you make it start at a baseline voltage then count the HW errors over time and adjust each board voltage up/down to get the error count around 1 per minute? I guess this would take a bit of time for testing and auto adjustments then write and store the final file. I would definitely give a LTC donation for this feature.
Pages: [1] 2 3 4 5 6 7 8 9 10 11 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!