Pages:
Author

Topic: L3+/L3++ voltage tuning script - page 5. (Read 3509 times)

okg
newbie
Activity: 53
Merit: 0
May 16, 2018, 03:17:40 AM
#10
what kind of results can one expect? we talking 50watt or 5 ?

Sorry found answer in original thread.
full member
Activity: 195
Merit: 104
May 16, 2018, 02:47:41 AM
#9
Scrypt starts to work, but it finishes randomly testing - sometimes after 10mins or bit more, even if there is room for undervolt for example with zero HW.
And sometime it does this:

= Running since: 00:10.14, now sleeping for 46.4s =
| 192.168.8.18 [425] |  61  |  60  |  58  |  55  |
+ Current voltages   + 0x80 + 0x60 + 0x80 + 0x80 +
|Errors/min (5min)   | 0.00 | 0.00 | 0.00 | 0.00 | 0 0 0 0 |
|Errors/min (10min)  | 0.00 | 0.00 | 0.00 | 0.00 | 0 0 0 0 |
|Errors/min (15min)  | 0.00 | 0.00 | 0.00 | 0.00 | 0 0 0 0 |
|Errors/min (all)    | 0.00 | 0.00 | 0.00 | 0.00 | 0 0 0 0 |
Chain 1 can be undervolted more (0.00 err/m)
Voltage setting of 0x87 good to test.
Undervolted chain 1 from 0x80 to 0x87
Chain 2 can be undervolted more (0.00 err/m)
Voltage setting of 0x67 good to test.
Undervolted chain 2 from 0x60 to 0x67
Chain 3 can be undervolted more (0.00 err/m)
Voltage setting of 0x87 good to test.
Undervolted chain 3 from 0x80 to 0x87
Chain 4 can be undervolted more (0.00 err/m)
Voltage setting of 0x87 good to test.
Undervolted chain 4 from 0x80 to 0x87
= Running since: 00:12.07, now sleeping for -6.0s =
Traceback (most recent call last):
  File "./l3plus_autotune.py", line 600, in
    time.sleep( REPEAT - (time.time()-now) )
IOError: [Errno 22] Invalid argument
newbie
Activity: 64
Merit: 0
May 16, 2018, 02:14:13 AM
#8
Failed to decode json reply:
Expecting , delimiter: line 1 column 236 (char 235)

{"STATUS":[{"STATUS":"S","When":1526454833,"Code":70,"Msg":"CGMiner stats","Description":"cgminer 4.10.0"}],"STATS":[{"CGMiner":"4.10.0","Miner":"1.0.1.3","CompileTime":"Sun Jan 14 00:00:57 CST 2018","Type":"Antminer L3+ Blissz v1.02"}{"STATS":0,"ID":"L30","Elapsed":79294,"Calls":0,"Wait":0.000000,"Max":0.000000,"Min":99999999.000000,"GHS 5s":"580.898","GHS av":578.18,"miner_count":4,"frequency":"431","frequency1":431,"frequency2":431,"frequency3":456,"frequency4":456,"volt1":"13","volt2":"13","volt3":"13","volt4":"13","watt1":243,"watt2":243,"watt3":256,"watt4":256,"fan_num":2,"fan1":3384,"fan2":3414,"temp_num":4,"temp1":57,"temp2":51,"temp3":53,"temp4":51,"temp2_1":64,"temp2_2":60,"temp2_3":62,"temp2_4":59,"temp31":0,"temp32":0,"temp33":0,"temp34":0,"temp4_1":0,"temp4_2":0,"temp4_3":0,"temp4_4":0,"temp_max":57,"Device Hardware%":-0.0000,"no_matching_work":212,"chain_acn1":72,"chain_acn2":72,"chain_acn3":72,"chain_acn4":72,"chain_acs1":" oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo","chain_acs2":" oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo","chain_acs3":" oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo","chain_acs4":" oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo","chain_hw1":79,"chain_hw2":82,"chain_hw3":13,"chain_hw4":38,"chain_rate1":"147.83","chain_rate2":"144.97","chain_rate3":"142.43","chain_rate4":"145.67"}],"id":1}
legendary
Activity: 1612
Merit: 1608
精神分析的爸
May 15, 2018, 03:33:06 PM
#7
newbie
Activity: 64
Merit: 0
May 15, 2018, 02:49:36 PM
#6
Hi !

Tried to use it on one of my miners and got the following log:

/config/sv binary not found on target miner, installing it first:
MD5sum [113ad2c06daac293386e28807ea35671] matches, good.
Binary /config/sv successfully installed.
Traceback (most recent call last):
  File "./l3plus_autotune.py", line 545, in
    current_stats = get_minerstats(miner_ip, port=4028)
  File "./l3plus_autotune.py", line 95, in get_minerstats
    resp = json.loads(json_resp)
  File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 1 column 236 (char 235)


can you help ?
the script is running on a RPI3

Thanks for testing the script.

It seems to fall over while parsing the cgminer json output.
I am a bit at loss, would need to see the raw json output from cgminer.
EDIT:
You could try to add a print statement just before the line it falls over, i.e. before line 95 add
  print json_resp
and post or pm the output.

I have pushed an update to github which should print the json data so we can see whats wrong or where it falls over.
Please update with git pull and post or pm me the output.

Also, are you running the latest Bitmain firmware 1.0.1.3 ?

I'm running the custom blissz firmware. here the json output:

Failed to decode json reply:
Expecting , delimiter: line 1 column 236 (char 235)

{"STATUS":[{"STATUS":"S","When":1526413725,"Code":70,"Msg":"CGMiner stats","Description":"cgminer 4.10.0"}],"STATS":[{"CGMiner":"4.10.0","Miner":"1.0.1.3","CompileTime":"Sun Jan 14 00:00:57 CST 2018","Type":"Antminer L3+ Blissz v1.02"}{"STATS":0,"ID":"L30","Elapsed":38187,"Calls":0,"Wait":0.000000,"Max":0.000000,"Min":99999999.000000,"GHS 5s":"579.398","GHS av":577.89,"miner_count":4,"frequency":"431","frequency1":431,"frequency2":431,"frequency3":456,"frequency4":456,"volt1":"13","volt2":"13","volt3":"13","volt4":"13","watt1":243,"watt2":243,"watt3":256,"watt4":256,"fan_num":2,"fan1":3726,"fan2":3780,"temp_num":4,"temp1":60,"temp2":54,"temp3":55,"temp4":53,"temp2_1":67,"temp2_2":62,"temp2_3":64,"temp2_4":61,"temp31":0,"temp32":0,"temp33":0,"temp34":0,"temp4_1":0,"temp4_2":0,"temp4_3":0,"temp4_4":0,"temp_max":60,"Device Hardware%":-0.0000,"no_matching_work":101,"chain_acn1":72,"chain_acn2":72,"chain_acn3":72,"chain_acn4":72,"chain_acs1":" oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo","chain_acs2":" oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo","chain_acs3":" oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo","chain_acs4":" oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo oooooooo","chain_hw1":36,"chain_hw2":38,"chain_hw3":8,"chain_hw4":19,"chain_rate1":"143.73","chain_rate2":"143.59","chain_rate3":"14
legendary
Activity: 1612
Merit: 1608
精神分析的爸
May 15, 2018, 12:33:58 PM
#5
I am a little green in the ASIC world. What kind of tuning would this do. Apply the best bang for your buck voltage  to each of the cards ?  Does it go for higher hash power, etc ?

Sorry for the newb question. 

Basically you set a frequency for your L3+ and then this script tunes the miner to the best voltage settings in terms of optimal error_ratio/power-consumption per board.
legendary
Activity: 1612
Merit: 1608
精神分析的爸
May 15, 2018, 12:31:25 PM
#4
Hi !

Tried to use it on one of my miners and got the following log:

/config/sv binary not found on target miner, installing it first:
MD5sum [113ad2c06daac293386e28807ea35671] matches, good.
Binary /config/sv successfully installed.
Traceback (most recent call last):
  File "./l3plus_autotune.py", line 545, in
    current_stats = get_minerstats(miner_ip, port=4028)
  File "./l3plus_autotune.py", line 95, in get_minerstats
    resp = json.loads(json_resp)
  File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 1 column 236 (char 235)


can you help ?
the script is running on a RPI3

Thanks for testing the script.

It seems to fall over while parsing the cgminer json output.
I am a bit at loss, would need to see the raw json output from cgminer.
EDIT:
You could try to add a print statement just before the line it falls over, i.e. before line 95 add
  print json_resp
and post or pm the output.

I have pushed an update to github which should print the json data so we can see whats wrong or where it falls over.
Please update with git pull and post or pm me the output.

Also, are you running the latest Bitmain firmware 1.0.1.3 ?
full member
Activity: 284
Merit: 102
May 15, 2018, 12:24:09 PM
#3
I am a little green in the ASIC world. What kind of tuning would this do. Apply the best bang for your buck voltage  to each of the cards ?  Does it go for higher hash power, etc ?

Sorry for the newb question. 
newbie
Activity: 64
Merit: 0
May 15, 2018, 12:15:00 PM
#2
Hi !

Tried to use it on one of my miners and got the following log:

/config/sv binary not found on target miner, installing it first:
MD5sum [113ad2c06daac293386e28807ea35671] matches, good.
Binary /config/sv successfully installed.
Traceback (most recent call last):
  File "./l3plus_autotune.py", line 545, in
    current_stats = get_minerstats(miner_ip, port=4028)
  File "./l3plus_autotune.py", line 95, in get_minerstats
    resp = json.loads(json_resp)
  File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting , delimiter: line 1 column 236 (char 235)


can you help ?
the script is running on a RPI3
legendary
Activity: 1612
Merit: 1608
精神分析的爸
May 15, 2018, 11:50:37 AM
#1
Since jstefanop was so kind to release his demo code for voltage setting on the L3+ we could finally undervolt our L3+ and save some of those precious watts.

Though the process of tuning every hash board is time consuming and boring (at least after the third L3+) and I soon wished there was a way to automate this trial and error process similar to what General Tarkin did on the Titans.

So I hotglued some python script that does the whole process automatically and does not require you to install jstefanops binary on every single miner. But you need a Linux (MacOS might work) machine that can reach the miners you want to tune over the network.

Note: Just to be very clear: The script needs to be run from a different computer than your miner!

If you are willing to try this alpha software, head over to github and checkout my bitmain-tools repo:

https://github.com/psycodad-bct/bitmain-tools

Usage in the simplest form is just:
Code:
git clone https://github.com/psycodad-bct/bitmain-tools
cd bitmain-tools/scripts
./l3plus_autotune.py -i

All options are printed if you supply no arguments to the script:
Code:
Usage:
./l3plus_autotune.py -i |--minerip= [OPTIONS]

Options:
 -p admin password if not set to 'admin'
 --password=
 -s skip one or more chains
 --skip

Examples:
Tune miner on 10.10.10.33, use '1234' as admin password and skip tuning chain 2 and 3:
./l3plus_autotune.py --minerip 10.10.10.33 -p 1234 --skip 2,3
Default usage :
./l3plus_autotune.py -i 10.10.10.33

The script may take anywhere from 30min to several hours or can even refuse to complete if your miner is too unstable. If that happens you can try to use the --skip option to skip tuning one or more chains/hashboards and set them to the best possible value manually.

I did this to save time on tuning and re-tuning my L3+ miners and thought I'd share it here.

Disclaimer:
This script has at best pre-alpha-quality (or even less) and comes as-is with no warranties at all. I have tested it heavily and to the best of my knowledge it should do no harm, but it has obviously when playing with voltages the potential to damage your miner and even if not it will probably void your Bitmain warranty.

Use completely at your own risk!

If in doubt, use the source Luke!

Pages:
Jump to: