Bitcoin Forum
October 22, 2018, 04:50:55 AM *
News: Make sure you are not using versions of Bitcoin Core other than 0.17.0 [Torrent], 0.16.3, 0.15.2, or 0.14.3. More info.
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 [10]  All
  Print  
Author Topic: Efudd's Custom Z9 OC Firmware available! Per board freq control in next version!  (Read 3655 times)
efudd
Member
**
Online Online

Activity: 112
Merit: 19


View Profile
October 14, 2018, 12:43:31 PM
 #181

Folk,

I wanted to post a quick update on the per-hashboard-frequency control modification (and associated functionality). The short version: no good progress as of 1:30AM Eastern on 10/13/2018.

The long version (which is a collection of random thoughts and probably won't make sense to many):

* Hardware was loaned to me (a Z9, thank you...) so I could continue some development work. This arrived on Wednesday.
* Since then I've been working on various methods to modify the firmware to extend functionality.
* The methods I normally would use for this are running into issues with bitmain's release. The basic gist is, it looks like they built things with gcc, and there is an issue I don't yet understand that prevents me from using my preferred method to extend functionality. If it were built with clang, this would be different...
* I've been at this more or less non-stop the last 36+ waking hours... and I'm going to take a break now....
* With some luck I'll have another good idea(s) on other ways to attack this... I've been through countless variations so far.
* The problem is not with knowing what to modify inside the firmware, it's with actually modifying things at run-time in system memory.
* The most challenging solution is: trace the hardware (via software and/or external devices), reverse engineer the hardware communications and extend public sources to support this BM1704 and PICF16704... the -DASH variant firmware has an older incarnation of the PIC control code... yet the comms endpoints are not correct.
* ... lots of other thoughts, but gonna pause for now.

What's next?

* Hopefully I get another good idea at attacking a highly esoteric problem...
* ... I have lots of improvement ideas for the firmware; things that would apply to all Z series and even future miners... but I must break through the current roadblock to get to any of those things.

More soon(ish).

Thank you,

Jason


Small update -- I got through the "wall" I was banging my head against when I wrote this update. I'm now "climbing the hill", which means slow but steady progress. I have a couple of infrastructure pieces to complete that are the more challenging components, and then I should be able to make some quick progress towards the per-hashboard frequency management.

More soon.

-j
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1540183855
Hero Member
*
Offline Offline

Posts: 1540183855

View Profile Personal Message (Offline)

Ignore
1540183855
Reply with quote  #2

1540183855
Report to moderator
Den4uktlt
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
October 14, 2018, 01:07:15 PM
 #182

Hello, I want to buy firmware for Z9. Write me in a personal message please

Responded.
You have exceeded the limit of 1 personal messages per hour. Buying a Copper membership may increase your limit.
efudd
Member
**
Online Online

Activity: 112
Merit: 19


View Profile
October 14, 2018, 01:08:33 PM
 #183

Hello, I want to buy firmware for Z9. Write me in a personal message please

Responded.
You have exceeded the limit of 1 personal messages per hour. Buying a Copper membership may increase your limit.

I have responded to your email.
Crypto305
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
October 14, 2018, 01:57:59 PM
 #184

Folk,

I wanted to post a quick update on the per-hashboard-frequency control modification (and associated functionality). The short version: no good progress as of 1:30AM Eastern on 10/13/2018.

The long version (which is a collection of random thoughts and probably won't make sense to many):

* Hardware was loaned to me (a Z9, thank you...) so I could continue some development work. This arrived on Wednesday.
* Since then I've been working on various methods to modify the firmware to extend functionality.
* The methods I normally would use for this are running into issues with bitmain's release. The basic gist is, it looks like they built things with gcc, and there is an issue I don't yet understand that prevents me from using my preferred method to extend functionality. If it were built with clang, this would be different...
* I've been at this more or less non-stop the last 36+ waking hours... and I'm going to take a break now....
* With some luck I'll have another good idea(s) on other ways to attack this... I've been through countless variations so far.
* The problem is not with knowing what to modify inside the firmware, it's with actually modifying things at run-time in system memory.
* The most challenging solution is: trace the hardware (via software and/or external devices), reverse engineer the hardware communications and extend public sources to support this BM1704 and PICF16704... the -DASH variant firmware has an older incarnation of the PIC control code... yet the comms endpoints are not correct.
* ... lots of other thoughts, but gonna pause for now.

What's next?

* Hopefully I get another good idea at attacking a highly esoteric problem...
* ... I have lots of improvement ideas for the firmware; things that would apply to all Z series and even future miners... but I must break through the current roadblock to get to any of those things.

More soon(ish).

Thank you,

Jason


Small update -- I got through the "wall" I was banging my head against when I wrote this update. I'm now "climbing the hill", which means slow but steady progress. I have a couple of infrastructure pieces to complete that are the more challenging components, and then I should be able to make some quick progress towards the per-hashboard frequency management.

More soon.

-j

Great work!
efudd
Member
**
Online Online

Activity: 112
Merit: 19


View Profile
October 17, 2018, 05:48:11 AM
 #185

Update:

Still working on this... was able to get through a hurdle that has had me blocked for the last couple of days today. Unfortunately a problem on the target board (with how bitmain has compiled their stuff) that I thought I had solved has reared its head. I was hoping to be able to put at least a picture of a system with hashboards at different frequencies tonight but it does not look like that is going to happen.

Will update as I can.

I apologize this next update is taking longer than I had hoped.

Jason
alexis97
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
October 17, 2018, 11:27:22 PM
 #186

Quote

I have responded to your email.

if you have time, look at my letter, this function will also be useful to you
so that the coolers do not scream when rebooting
chipless
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
October 18, 2018, 01:53:48 AM
 #187

Update:

Still working on this... was able to get through a hurdle that has had me blocked for the last couple of days today. Unfortunately a problem on the target board (with how bitmain has compiled their stuff) that I thought I had solved has reared its head. I was hoping to be able to put at least a picture of a system with hashboards at different frequencies tonight but it does not look like that is going to happen.

Will update as I can.

I apologize this next update is taking longer than I had hoped.

Jason

If you can look at a disassembly of the D3 machine with BlissX firmware they it has separate voltage and frequency control for each board. From what I can tell most the BM firmwares are the same with a few exceptions of the compilation.
efudd
Member
**
Online Online

Activity: 112
Merit: 19


View Profile
October 18, 2018, 03:01:30 AM
 #188

Update:

Still working on this... was able to get through a hurdle that has had me blocked for the last couple of days today. Unfortunately a problem on the target board (with how bitmain has compiled their stuff) that I thought I had solved has reared its head. I was hoping to be able to put at least a picture of a system with hashboards at different frequencies tonight but it does not look like that is going to happen.

Will update as I can.

I apologize this next update is taking longer than I had hoped.

Jason

If you can look at a disassembly of the D3 machine with BlissX firmware they it has separate voltage and frequency control for each board. From what I can tell most the BM firmwares are the same with a few exceptions of the compilation.

Bliss's firmware was built from source to the best of my awareness.

These modifications are being done in assembly -- so it's a slightly different challenge. If this was in C I'd have had it done a couple of weeks ago. Smiley

That said, check out the next post!
efudd
Member
**
Online Online

Activity: 112
Merit: 19


View Profile
October 18, 2018, 03:03:52 AM
 #189

Folk,

Quick update -- this is a snippet of the startup log from the machine I'm currently working on. Of note here is the part in bold, "freq=". One board is running at 650Mhz, the other 2 are running at 500Mhz. Unfortunately the API that feeds the web interface does not output these numbers, but instead outputs whatever is set for the main frequency.... so the web interface currently is still showing 650.

Regardless -- this is much closer to working now.

...
[2018-10-18 02:51:00] check_every_chain_asic_number
[2018-10-18 02:51:01] check_asic_reg: chain J0 has 16 ASIC
[2018-10-18 02:51:03] check_asic_reg: chain J1 has 16 ASIC
[2018-10-18 02:51:04] check_asic_reg: chain J2 has 16 ASIC
[2018-10-18 02:51:05] calculate_address_interval:addrInterval = 16
[2018-10-18 02:51:08] chainid0 set_frequency_chain freq=650
[2018-10-18 02:51:10] chainid1 set_frequency_chain freq=500
[2018-10-18 02:51:13] chainid2 set_frequency_chain freq=500

[2018-10-18 02:51:14] set_ticket_mask_chain chainID0 ticket_mask = 0x0000000c
[2018-10-18 02:51:14] set_ticket_mask_chain chainID1 ticket_mask = 0x0000000c
[2018-10-18 02:51:14] set_ticket_mask_chain chainID2 ticket_mask = 0x0000000c
[2018-10-18 02:51:14] software_set_address_chain chainID0 asics 16 addrInterval 16
[2018-10-18 02:51:14] software_set_address_chain chainID1 asics 16 addrInterval 16
[2018-10-18 02:51:14] software_set_address_chain chainID2 asics 16 addrInterval 16
[2018-10-18 02:51:14] chainid0 set_core_timeout_chain: core timeout = 00100000
...

Thanks,

Jason
imine2
Jr. Member
*
Offline Offline

Activity: 70
Merit: 4


View Profile
October 18, 2018, 10:10:35 AM
 #190

Folk,

Quick update -- this is a snippet of the startup log from the machine I'm currently working on. Of note here is the part in bold, "freq=". One board is running at 650Mhz, the other 2 are running at 500Mhz. Unfortunately the API that feeds the web interface does not output these numbers, but instead outputs whatever is set for the main frequency.... so the web interface currently is still showing 650.

Regardless -- this is much closer to working now.

...
[2018-10-18 02:51:00] check_every_chain_asic_number
[2018-10-18 02:51:01] check_asic_reg: chain J0 has 16 ASIC
[2018-10-18 02:51:03] check_asic_reg: chain J1 has 16 ASIC
[2018-10-18 02:51:04] check_asic_reg: chain J2 has 16 ASIC
[2018-10-18 02:51:05] calculate_address_interval:addrInterval = 16
[2018-10-18 02:51:08] chainid0 set_frequency_chain freq=650
[2018-10-18 02:51:10] chainid1 set_frequency_chain freq=500
[2018-10-18 02:51:13] chainid2 set_frequency_chain freq=500

[2018-10-18 02:51:14] set_ticket_mask_chain chainID0 ticket_mask = 0x0000000c
[2018-10-18 02:51:14] set_ticket_mask_chain chainID1 ticket_mask = 0x0000000c
[2018-10-18 02:51:14] set_ticket_mask_chain chainID2 ticket_mask = 0x0000000c
[2018-10-18 02:51:14] software_set_address_chain chainID0 asics 16 addrInterval 16
[2018-10-18 02:51:14] software_set_address_chain chainID1 asics 16 addrInterval 16
[2018-10-18 02:51:14] software_set_address_chain chainID2 asics 16 addrInterval 16
[2018-10-18 02:51:14] chainid0 set_core_timeout_chain: core timeout = 00100000
...

Thanks,

Jason


You're the man ! ! !
efudd
Member
**
Online Online

Activity: 112
Merit: 19


View Profile
October 20, 2018, 05:40:33 AM
 #191

I have been testing the per-hashboard feature for the last 24 hours or so, and it is working as I would expect. There are a couple of pieces i need to finish up before releasing the next revision. These include:

* Adding a user interface to control the frequencies per hashboard
* Updating the frequency reporting to show properly in the webUI
* Updating the default frequencies to better match reality
* Looking into the ability to set frequencies on the fly without restarting the whole 'cgminer'. I think I know how to do this, I just need to test it.
* I have located voltage control, but will not be enabling it yet. That will come in another version in the future, if at all. I need to do a lot more testing on that first.
* Lots more in the future....

Some of the current delay is also associated with folk acquiring the firmware and then selling it on eBay. I will begin enforcing the pre-existing node locks in the next release -- I did not want to have to go to that step. :/ This means the firmware will only work on the number of machines you specified when speaking with me. If this is an area of concern, please contact me ahead of time or downgrade to stock firmware.

... and some of the current delay is just that this has been a lot of work to figure out. Without the source code, it is quite a challenge to add functionality to a binary and I've probably put another 60-80+ hours of work into the next set of features in the last 9 days.

Thank you,

Jason
DJMinerOne
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
October 20, 2018, 03:30:40 PM
 #192

Thanks Jason.
Diman003
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
October 21, 2018, 10:22:37 AM
 #193

Thanks for the work done) Find another way to run Z9 on EQUIHASH 144.5:) If you can find a way to slow down the memory chips maybe this will help ?
Pages: « 1 2 3 4 5 6 7 8 9 [10]  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!