Pages:
Author

Topic: HF - Tool to set voltages - page 2. (Read 8959 times)

hero member
Activity: 539
Merit: 500
June 17, 2014, 12:41:06 PM
#37
I can confirm JakeTri method works fine with a two-board setup on latest cgminer 4.3.4 built from git. (Prior to the code being reverted).

I can't comment on the default hash rate jaketri notes above due to a preexisting issue.  For some reason on my Ubuntu 12.0.4 install, setting hfa-hash-clock to 1 forces all dies to the lowest speed configured per card.

I just want to make sure that everyone is aware that this would be a replacement (especially under Windows or say a rPi) for the Python script, and not something that you would run every time you start cgminer.

MrTeal, can you comment on why someone wouldn't want to run this every time they start cgminer?
legendary
Activity: 1428
Merit: 1000
https://www.bitworks.io
June 17, 2014, 12:04:15 PM
#36
I extensively audited the code and have reverted it sorry, but have given you plenty of comments as to what needs to be fixed if you wish to resubmit.

Thank you for considering the change in the first place!

I agree that change need more work so I'll rework the change and resubmit.

Very interested in seeing how this progresses and interested in picking it up this week in whatever form it is in for some work I am doing, be sure to drop a BTC address, a donation is definitely coming your way..
full member
Activity: 154
Merit: 100
June 15, 2014, 08:39:27 PM
#35
I extensively audited the code and have reverted it sorry, but have given you plenty of comments as to what needs to be fixed if you wish to resubmit.

Thank you for considering the change in the first place!

I agree that change need more work so I'll rework the change and resubmit.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
June 15, 2014, 07:50:08 PM
#34
I extensively audited the code and have reverted it sorry, but have given you plenty of comments as to what needs to be fixed if you wish to resubmit.
full member
Activity: 154
Merit: 100
June 15, 2014, 04:44:40 PM
#33
JakeTri, any word or feedback on your pull request?

Has anyone compiled this fork that can comment on any successes, or problems (other than the board reset and hotplug that is noted)?

Edit: My pull request was merged to cgminer today.

I would like to get comments on successes (or failures) from anyone who tried it but nothing yet.

On a side note I notice another issue/limitation related to the clock offsets part of my change.
If you use more than one clock offset then only the offset from the die with higher index is used. All other dies use the base clock. I have not spend much time on this issue but so far I think this is caused by the firmware interface that allow only frequency to be send to the board. It seems that all dies not selected to use that frequency are set to the default frequency for the board.
hero member
Activity: 539
Merit: 500
June 15, 2014, 03:56:41 PM
#32
JakeTri, any word or feedback on your pull request?

Has anyone compiled this fork that can comment on any successes, or problems (other than the board reset aand hotplug that is noted)?
full member
Activity: 154
Merit: 100
June 11, 2014, 07:23:45 PM
#31
Maybe im tired today but what does the -50 mean?

Code:
cgminer --hfa-options "hab1:950:970:940:970:970:0:-50:0:0"

Also maybe a small change but easier to read would be

name:die/s:mV@freq

so to do all dies it would be

hab1:*:930@875

?

I'm trying to keep backward compatibility with existing option so I have to start with "name:clock".

You need to set all the 9 values only if you need different clock/voltage for each die.
To set same clock/voltage for all dies you just need "name:freq:mV".

Your example with the default freq/voltage would be:

hab1:875:930

For my boards one die is about 10 degree hotter (I guess I need to re-seat again the water pump) so I try to keep it at lower clock and lower voltage.

The first number after "name" is the "clock" (same as stock cgminer) -> 950Mhz in my example.
After the "base clock" next 4 values are voltage values (for each die) -> 970, 940, 970, 970
After the 4 voltage values you can add 4 "clock offset" (from base clock) for each die -> 0, -50, 0 , 0 that means the following clocks 950, 900, 950, 950 (second die use 50Mhz lower clock)
hero member
Activity: 552
Merit: 500
June 11, 2014, 07:05:41 PM
#30
Maybe im tired today but what does the -50 mean?

Code:
cgminer --hfa-options "hab1:950:970:940:970:970:0:-50:0:0"

Also maybe a small change but easier to read would be

name:die/s:mV@freq

so to do all dies it would be

hab1:*:930@875

?
full member
Activity: 154
Merit: 100
June 11, 2014, 06:59:33 PM
#29
Cool, well I say send it over to con so he can pull it in, prob should add something to a readme and maybe a warning, experimental feature for now.. this will give windows users maybe the ability to change voltages, lets just hope they dont make it 1000mV, I have no idea what might happen..

Change send to con https://github.com/ckolivas/cgminer/pull/609
hero member
Activity: 552
Merit: 500
June 11, 2014, 06:20:14 PM
#28
How do you plan to address if a person has more than one board on their system, and what about sierras that are changed, granted this is more for habaneros that don't have the chain up or down.

For now the "new" settings are applied only if board have 4 dies ... that should cover habaneros and yoli.

I think the change to cgminer can be expanded to support chained boards (like sierras) but I don't have any way to test it. For chained boards it would be tricky to find a way to provide the settings (voltage and clock value/offset) for individual dies in the command line.

cgminer already support individual (per board) settings based on board name (set with cgminer using --hfa-name) when multiple boards are connected to one system.

Here is the command line that I used on my system where I have connected 2 habaneros (one is named "pepper1" and the other one is "pepper2"):

Code:
cgminer --hfa-options "pepper1:925:950:920:950:950:0:-50:0:0,pepper2:950:930:960:970:970:-50:0:0:0"

Similar hftool command line for the system with "pepper1" connected would be

Code:
./hftool.py -w 0:950@925,1:920@875,2:950@925,3:950@925

and for the second system with "pepper2"

Code:
./hftool.py -w 0:930@900,1:960@950,2:970@950,3:970@950

And to use hftool I have to use 2 systems instead of one Smiley
Cool, well I say send it over to con so he can pull it in, prob should add something to a readme and maybe a warning, experimental feature for now.. this will give windows users maybe the ability to change voltages, lets just hope they dont make it 1000mV, I have no idea what might happen..
full member
Activity: 154
Merit: 100
June 11, 2014, 05:40:46 PM
#27
How do you plan to address if a person has more than one board on their system, and what about sierras that are changed, granted this is more for habaneros that don't have the chain up or down.

For now the "new" settings are applied only if board have 4 dies ... that should cover habaneros and yoli.

I think the change to cgminer can be expanded to support chained boards (like sierras) but I don't have any way to test it. For chained boards it would be tricky to find a way to provide the settings (voltage and clock value/offset) for individual dies in the command line.

cgminer already support individual (per board) settings based on board name (set with cgminer using --hfa-name) when multiple boards are connected to one system.

Here is the command line that I used on my system where I have connected 2 habaneros (one is named "pepper1" and the other one is "pepper2"):

Code:
cgminer --hfa-options "pepper1:925:950:920:950:950:0:-50:0:0,pepper2:950:930:960:970:970:-50:0:0:0"

Similar hftool command line for the system with "pepper1" connected would be

Code:
./hftool.py -w 0:950@925,1:920@875,2:950@925,3:950@925

and for the second system with "pepper2"

Code:
./hftool.py -w 0:930@900,1:960@950,2:970@950,3:970@950

And to use hftool I have to use 2 systems instead of one Smiley
hero member
Activity: 552
Merit: 500
June 11, 2014, 03:59:30 PM
#26
@JakeTri

How do you plan to address if a person has more than one board on their system, and what about sierras that are changed, granted this is more for habaneros that don't have the chain up or down.

python on windows.. blah Smiley hahaha
full member
Activity: 154
Merit: 100
June 11, 2014, 12:16:28 PM
#25
For us Windows people, do you plan to release a Windows build of your edited version of cgminer?

I might be able to work through the read me to setup and build, but my Linux skills are sub-par.

I do not plan to release any Windows or Linux build of cgminer.

You can follow the standard windows building instructions for cgminer from windows-build.txt file.
member
Activity: 117
Merit: 10
June 11, 2014, 11:04:58 AM
#24
For us Windows people, do you plan to release a Windows build of your edited version of cgminer?

I might be able to work through the read me to setup and build, but my Linux skills are sub-par.
full member
Activity: 154
Merit: 100
June 10, 2014, 03:49:16 PM
#23
BTW, to run the hf-tool on Gentoo Linux you just need to install python3 and pyusb using:

Code:
emerge dev-lang/python:3.3 dev-python/pyusb

then add the udev rules as described in the OP and run the tool
Code:
./hftool.py -r
legendary
Activity: 1274
Merit: 1004
June 10, 2014, 03:13:35 PM
#22
You are right, the change just overwrite the default voltage used by the board and issue a reset. The python script is doing exactly the same so from my point of view both methods (python script or modified cgminer) are at same risk level.
 
I added a separate change to enable it only for devices with 4 dies so it is ready for a pull request upstream. I'll wait to get confirmation that solution works for others and after that I'll see if I create a pull request. 

I'm not sure if the python solution works on windows.
I started getting python set up a on Windows box, but got pulled away for higher priority things. I believe it should, but python on Windows with pyusb 1.0.x is not a fun thing to set up.
Not discounting your work either, I think it's great. I just want to make sure that everyone is aware that this would be a replacement (especially under Windows or say a rPi) for the Python script, and not something that you would run every time you start cgminer.
full member
Activity: 154
Merit: 100
June 10, 2014, 03:03:01 PM
#21
You are right, the change just overwrite the default voltage used by the board and issue a reset. The python script is doing exactly the same so from my point of view both methods (python script or modified cgminer) are at same risk level.
 
I added a separate change to enable it only for devices with 4 dies so it is ready for a pull request upstream. I'll wait to get confirmation that solution works for others and after that I'll see if I create a pull request. 

I'm not sure if the python solution works on windows.
hero member
Activity: 552
Merit: 500
June 10, 2014, 02:50:45 PM
#20
I'd be careful about using this method. What you're basically doing is overwriting the default voltage stored on the flash of the device and then resetting it.

If you want to use it, we would suggest running it in the same way that you would use the python script; run it once to set the voltages, but don't run it as a normal part of your cgminer command line. I haven't tested it, but it should work great as a one-time setup you call when you want to tweak something, but don't call otherwise.



True..
legendary
Activity: 1274
Merit: 1004
June 10, 2014, 02:39:17 PM
#19
I'd be careful about using this method. What you're basically doing is overwriting the default voltage stored on the flash of the device and then resetting it.

If you want to use it, we would suggest running it in the same way that you would use the python script; run it once to set the voltages, but don't run it as a normal part of your cgminer command line. I haven't tested it, but it should work great as a one-time setup you call when you want to tweak something, but don't call otherwise.

hero member
Activity: 552
Merit: 500
June 10, 2014, 02:09:11 PM
#18

I'll check for the test points tonight when I get back home and let you know the measurements results.

I plan to push the change to con but I was thinking to clean it up a little before pushing it upstream. As it is right now it will brake any Sierra or any other Hashfast device with more than 4 dies ... 
Not that I'm thinking of it ... the easiest fix would be to enable this code only when device have 4 dies Smiley I'll fix that and push it to con today.

True.. hmm you mean chained boards right?

Also note that some dies fail, crack or what ever so we use the hf tool to disable a die because w/o doing this you cant mine and it spits our crazy errors.

So a die#:0 is set to turn it off, this allows the board to continue hashing with 3 dies for example.

Also prob should put some sort of limiting factor so someone doesn't put in a huge number, which im not sure what would happen but prob a few checks an balances.. or a --i-agree-to-use-this-expirmental-feature option Smiley

Pages:
Jump to: