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
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-toolsThis 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:
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).
ssh root@[your miners ip]
cd /config
binary accepts two inputs in the format of:
./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:
./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:
./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)
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.