Pages:
Author

Topic: Hacking the S7 - improving efficiency through minor hardware manipulation - page 10. (Read 26495 times)

sr. member
Activity: 338
Merit: 250
Sidehack,

My 2 S7-LN's just arrived thanks, turned one on and saw the original firmware installed (Mar 2016) is older than the one listed on BitMain's site (of May 2016).  Will there be any problem with updating the firmware to the newer one with your mod. or will that erase the mod. you did on it?
hero member
Activity: 924
Merit: 500
This could be possible with the S9 as well?
Next to the PIC there is a one set of six pinholes.

----

Thanks for the instructions by the way, I might buy a Pickit 3 and do this hack to my 3-board Antminer S9 batch 9 which I'm planning to use with a 1000W Enermax.


A did quick measurements of my S9B2:

Voltage across chain: 8.72V
Voltage comes up after while, so I guess Bitmain finally added some safety protections. I hope it can shut down voltage in case of overheat (not tested).
Voltage doesn't change in case of _STOP_ condition (unplugged fan).

Finally, based on different thread, we can 99% confirm voltage CAN BE adjusted by software:

https://enforum.bitmain.com/bbs/topics/3554

Bitmain has a new firmware with higher voltage (based on higher chip temps claimed by Bitmain). We should check first batch firmware for voltage change.

hero member
Activity: 2534
Merit: 623
Come on everyone. Just four more people to buy one of sidehacks superb S7ln's so he can get another order in!!

p.s. Can you tell I'm a bit impatient for my one  Grin Cheesy
legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
It is an ISP header. I pulled firmware off the PIC and had the chip identified within about half an hour of one coming in the building. But I was not allowed to make modifications, nor dismantle enough to take direct measurements, so I don't know hex/volt pairs or anything for it. I also can pretty much guarantee that my S7 hex files won't work on it.
legendary
Activity: 2464
Merit: 1710
Electrical engineer. Mining since 2014.
This could be possible with the S9 as well?
Next to the PIC there is a one set of six pinholes.

Yes 6 Holes next to Pic virtually guarantees an ICSP connection.

Rich

Alrighty, that was what I was thinking as well.
hero member
Activity: 588
Merit: 500
This could be possible with the S9 as well?
Next to the PIC there is a one set of six pinholes.

Yes 6 Holes next to Pic virtually guarantees an ICSP connection.

Rich
legendary
Activity: 2464
Merit: 1710
Electrical engineer. Mining since 2014.
This could be possible with the S9 as well?
Next to the PIC there is a one set of six pinholes.

----

Thanks for the instructions by the way, I might buy a Pickit 3 and do this hack to my 3-board Antminer S9 batch 9 which I'm planning to use with a 1000W Enermax.

I'm looking forward to try these settings which should give the 3-board miner ~4.218Th/s (calc) hash rate:

Of course the possible HW error rate has some effect on the actual hash rate and I'll have to see about that.
hero member
Activity: 588
Merit: 500
Yes agreed absolute best would be something that left the Miner unchanged in both Hardware & Firmware terms and could be removed. So your plug in module in the 18 Pin leads would do the trick.

Rich
legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
It'd be nice to make it adjustable without requiring modification or dismantling of the miner itself. Maybe not feasible, but it'd be nice.
hero member
Activity: 588
Merit: 500
All work done without much checking so room for error... but once booted and when the BBB starts sending Data the TX line seems to be actively held high preventing the Terminal from writing.

Yes 115200, 8 Bit Data, no Parity, 1 Stop bit.

Did not spend much time looking for the check, just worked some of them out the hard way, but made quite easy by the response from the Pic.

Yes inserting something in the 18 Pin jacks path would work. or with some versions of the firmware and simple single point setting might just need a terminal & a PC?


Rich

legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
I was thinking the other night, what about making a small board with two 18-pin jacks that would plug inline of the cable? Put a micro on that board which is tied to the TX line and listens for a pause in transfers from the 'Boner to the hashboard, and then injects the four-byte code for whatever voltage you want? It should be possible to set it up as adjustable, and even with dual hot- and cold-run settings with a delay inbetween.

When you say "the com line is held by the BBB" do you mean it's busy, or it's actively pulled high to resist any data getting pushed in from another source? Is the 4-byte volt code pushed out at 115200? Because if the PIC can listen that fast, and the TX line is togglable, all you should need is about 400uS in the clear to change the voltage.

For the check, might be worth looking at the crc5 function in driver-icarus.c since cmd_buf is in use for a 3-byte command to set voltage and 4th byte checksum generated with that function for I believe the AntMiner U3. May be completely unrelated, but it's worth looking at.
hero member
Activity: 588
Merit: 500
I hooked up a terminal emulator to a PIC on the Bench running the Bitmain code. Connected the Emulator TX to RA5 and RX to RA4.

On Power up the Pic sends 73 0F FF FF FF FF FF FF                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
It then responds to inputs from the Terminal. As expected the key Bytes are AB B0 0E D4

AB & B0 introduce the value to be written which in this case is 0E (14 decimal) D4 is some sort of Check Byte which I have not worked out, although I am sure it is obvious. Here are the correct check Bytes for some of the values.

Value   Check   Response
00   D8   18
01   D5   15
02   C2   02
03   CF   0F
04   C9   09
05   C4   04
06   D3   13
07   DC   1E
08   DF   1F
09   D2   12
0A   C5   05
0B   C8   08
0C   CE   0E
0D   C3   03
0E   D4   14
0F   D9   19
10   D6   16
11   DB   1B
12   CC   0C
13   C1   01
14   C7   07
15   CA   0A
16   DD   1D
17   D0   10
18   D1   11
19   DC   1C
1A   CB   0B
1B   C6   06
1C   C0   00
1D   CD   0D
1E   DA   1A
1F   D7   17
20   C4   04
21   C9   09
22   DE   1E
23   D3   13
24   D5   15
25   D8   18
26   CF   0F
27   C2   02
28   C3   03
29   CE   0E
2A   D9   19
2B   D4   14
2C   D2   12
2D   DF   1F
2E   C8   08
2F   C5   05
30   CA   0A
31   C7   07
32   D7   10
33   DD   1D
34   DB   1B
35   D6   16
36   C1   01
37   CC   0C
38   CD   0D
39   C0   00
3A   D7   17
3B   DA   1A
3C   DC   1C
3D   D1   11
3E   C6   06
3F   CB   0B
40   C5   05
41   C8   08
42   DF   1F
43   D2   12
44   D4   14
45   D9   19
46   CE   0E
47   C3   03
48   C2   02
49   CF   0F
4A   D8   18
4B   D5   15
4C   D3   13
4D   DE   1E
4E   C9   09
4F   C4   04


The pic then responds with your 4 Bytes plus two additional Bytes, first Byte as in the table above followed by 33

I then tried hooking up the emulator to a live Miner and during the Boot Phase you can write values to the Pic which are then remembered. Except.... that with the latest Single fan firmware they are then overwritten with the value from cgminer. You cannot then rewrite values as the Com line is held by the BBB.

I have not tried but it is probably the case with other versions of firmware which do not seem to write a value, that your entered values would not be overwritten. Alternatively if you were to break the connection from the BBB to the RX on the Pic that would also solve the problem.

So bottom line is that there is a mechanism with a Terminal connected to write values directly to the Pic. Further work needed to come up with the best way to use it.


Rich




hero member
Activity: 578
Merit: 501
When it comes to modding your S7 or S7-LN with sidehack's voltage modification, there are quite a few PICkit 3 options available via eBay. The majority of those are PICkit 3 clones from China. It may just be me, but I prefer the real deal. Anyway, I just ordered a PICkit 3 In-Circuit Debugger and the PICkit 3 Programming Cable Kit (extension cable) from Microchip Technology Inc. for ~$50 shipped (overnight). It is the real deal, so that may be something to consider.

http://www.microchipdirect.com/

You can get 20% off the PICkit 3 In-Circuit Debugger using the code 2MILLSOLD.

PICkit 3 In-Circuit Debugger can be found under PG164130. $47.95 (before 20% off)

PICkit 3 Programming Cable Kit can be found under TPROG001. $4.00

Overnight shipping was the only shipping option, but it was only a tad under $7.
legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
Quote
5752587.51184.505310.2050.04125080.970.212
55024751184.305070.2050.00924671.000.206

620mV@575 burns an extra 24 watts for an effective 41GH increase for a margin of 0.59J/GH by those numbers, because you lose so much hashrate to errors and instability. Better off staying at 550MHz. My criteria for maximum stable hashrate (which I used to generate the graph) was less than or equal to 0.01% HW errors, because I noticed past that threshold the hashrate would suffer noticeably - averaging 98% or less of expected versus 100% +/- 1%. Now maybe your miner will handle it, worth testing, but from what I've seen so far I don't expect it to work that well.
legendary
Activity: 1736
Merit: 1006
wow looks sweet.. when i get my pickit 3 im going to be shooting for the 620mv @ 575 or highest to get the .2
legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
The post with the massive data table has been updated with even more data. It's okay, because right at the top I put a graph summarizing it all.
legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
To run 600MHz stable, you're probably going to want at least 640mV, which will cost you more like 900W. Still a fair sight better than stock. The best you could feasibly do at 620 is about 550MHz for 3.7TH at 800W but maybe that's the setpoint you're talking about.

Pictures are up showing where to plug in the programmer.

There is no way to do this with an Avalon6, just like you can't do it on a 162-chip S7.

Yes, that looks like what you need. If you get one with a ribbon cable it'll make hooking it up to your miner boards easier.
legendary
Activity: 1736
Merit: 1006
Pickit 3 is an ICSP programmer, it is USB, it can be temporarily connected without soldering by just stressing sideways pins inserted into the 5 through plated holes on the edge of the board to reprogram the Pic. It does not have to be left connected.

Rich

sweet. i have to get one.. and see if i can figure out what you guys are talking about lol..


right now im running my s7 @ 600M because i only have one wall outlet.. it runs around 4th and its about 1120W.
by the chart on page 4 i see that if i do this i can run it at 650/620 and it will be only 800W.

this means i can still mine bitcoin with my s7 after the halving until it no longer produces 60$ a month.. which would be around 300,000,000,000 difficulty at todays bitcoin price..
instead of right now after the halving i instantly go unprofitable..

i like this idea.. it might even allow me to get another s7 and save up for a s9 when they get cheaper.

does anyone know how to do this with an avalon 6?

is this what i need?
http://www.ebay.com/itm/like/121743226502?lpid=82&chn=ps&ul_noapp=true




legendary
Activity: 3374
Merit: 1859
Curmudgeonly hardware guy
I did take some pictures when I worked up the first-round LNs today. I'll get those added to the explanation post.

Also, based on your TX dump and what I'm seeing in your kernel log (confirming with my own), I'd guess the "AB B0 0E D4" is the command for adjusting voltage, where the third byte (0E) is the volt-setting command. I'll test this later on a factory-firmware board.
hero member
Activity: 588
Merit: 500
Pickit 3 is an ICSP programmer, it is USB, it can be temporarily connected without soldering by just stressing sideways pins inserted into the 5 through plated holes on the edge of the board to reprogram the Pic. It does not have to be left connected.

Rich
Pages:
Jump to: