Author

Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.11.0 - page 591. (Read 5806103 times)

hero member
Activity: 591
Merit: 500
Updated git tree:
The most significant change is a massive change to the way network connections are made, so there should be MUCH less connections opened which should more or less abolish the overloaded networks people use.
Yes PLEASE. My crappy DSL has been needing this. Smiley
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Updated git tree:
The most significant change is a massive change to the way network connections are made, so there should be MUCH less connections opened which should more or less abolish the overloaded networks people use. Also longpoll is now tied to each pool set up, but only the longpoll attached to the primary pool causes a work restart. Also updated ztex support.


Changelog(reverse order):
Start longpoll only after we have tried to extract the longpoll URL.
Check for submitold flag on resubmit of shares, and give different message for stale shares on retry.
Check for submitold before submitstale.
Don't force fresh curl connections on anything but longpoll threads.
Create one longpoll thread per pool, using backup pools for those pools that don't have longpoll.
Use the work created from the longpoll return only if we don't have failover-enabled, and only flag the work as a longpoll if it is the current pool.
This will work around the problem of trying to restart the single longpoll thread on pool changes that was leading to race conditions.
It will also have less work restarts from the multiple longpolls received from different pools.
Remove the ability to disable longpoll. It is not a useful feature and will conflict with planned changes to longpoll code.
Remove the invalid entries from the example configuration file.
Add support for latest ATI SDK on windows.
Export missing function from libztex.
miner.php change socktimeoutsec = 10 (it only waits once)
Bugfix: Make initial_args a const char** to satisfy exec argument type warning (on Windows only)
miner.php add a timeout so you don't sit and wait ... forever
Create discrete persistent submit and get work threads per pool, thus allowing all submitworks belonging to the same pool to reuse the same curl handle, and all getworks to reuse their own handle.
Use separate handles for submission to not make getwork potentially delay share submission which is time critical.
This will allow much more reusing of persistent connections instead of opening new ones which can flood routers.
This mandated a rework of the extra longpoll support (for when pools are switched) and this is managed by restarting longpoll cleanly and waiting for a thread join.
miner.php only show the current date header once
miner.php also add current time like single rig page
miner.php display rig 'when' table at top of the multi-rig summary page
README - add some Ztex details
api.c include zTex in the FPGA support list
api.c ensure 'devs' shows PGA's when only PGA code is compiled
cgminer.c sharelog code consistency and compile warning fix
README correct API version number
README spelling error
api.c combine all pairs of sprintfs()
api.c uncomment and use BLANK (and COMMA)
Code style cleanup
Annotating frequency changes with the changed from value
README clarification of 'notify' command
README update for API RPC 'devdetails'
api.c 'devdetails' list static details of devices
Using less heap space as my TP-Link seems to not handle this much
legendary
Activity: 2576
Merit: 1186
- so the software overhead of closing and opening it every time isn't there except when the error occurs - because:
You forgot to mention there isn't any actual overhead to this workaround at all.
legendary
Activity: 4634
Merit: 1851
Linux since 1997 RedHat 4
Meanwhile back on topic Smiley

One problem I've had with Icarus is that there is a UART bug that only affects some people.
The suggested solution was to open and close the USB Serial port every time you start/stop a work.
However what I want to do is identify when it happens and then do the USB Serial close open
(or something else if that doesn't fix it)
- so the software overhead of closing and opening it every time isn't there except when the error occurs - because:

With my rig I can't get it to happen at all, so I guess it must be certain Icarus' that have the problem or certain computers.
I've tried on 3 very different computers with 2 Icarus and one of those computers is also windows.
I've been unable to have it happen after running for more than 2 days in each case (windows was the shortest - about 2 days non stop)

So I need to find someone who does have it happen and get them to run some tests for me (that I'll add once I find someone)

What happens (according to luke-jr) is that it simply stops returning valid nonce values - cgminer stops returning shares forever.
(You need to restart/reset)
Also apparently he said he get's it happening reliably within about 5 hours of running (if not doing the open/close of the USB every time)

I've had that happen on rare occasions when I move the Icarus from one computer to another by moving the USB cable only - the 3 lights stay hard on
But even when I start cgminer it doesn't work - so I reset it with a power cycle or a python USB script I have.
So that's not related to it changing into this state while it is hashing away successfully.

Anyone able to help with this, that has this UART bug - and can see it happen regularly in cgminer?
sr. member
Activity: 378
Merit: 250
Why is it so damn hot in here?
BFGMiner is forked, starting with 2.3.4. Comments etc welcome, but let's not clutter up the CGMiner thread.
In all honesty I'm sorry to see this, and long term I envision these projects will diverge too much for there to be code going to and from each of them. It may well be that cgminer becomes the dead project and I'll stop maintaining it. Good luck. I know the FPGA miners out there will be happier with you at the helm.

Not really. 
hero member
Activity: 896
Merit: 1000
BFGMiner is forked, starting with 2.3.4. Comments etc welcome, but let's not clutter up the CGMiner thread.
Argh I can't pledge 32BTC for each project ! Well for now my coins are on CGMiner, it could change depending on which project keeps the focus of the contributors in the long term but I see no reason to switch myself right now.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I think people will decide whose is better))
I fully expect that, and Luke-jr's pace of development of FPGA code is faster than I merge it, and I have turned down some of his code which he refused to accept, which is precisely why he has forked it now. So it's easy to see what will happen.
ZPK
legendary
Activity: 1302
Merit: 1021
I think people will decide whose is better))
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
BFGMiner is forked, starting with 2.3.4. Comments etc welcome, but let's not clutter up the CGMiner thread.
In all honesty I'm sorry to see this, and long term I envision these projects will diverge too much for there to be code going to and from each of them. It may well be that cgminer becomes the dead project and I'll stop maintaining it. Good luck. I know the FPGA miners out there will be happier with you at the helm.
legendary
Activity: 2576
Merit: 1186
BFGMiner is forked, starting with 2.3.4. Comments etc welcome, but let's not clutter up the CGMiner thread.
legendary
Activity: 1022
Merit: 1000
BitMinter
legendary
Activity: 1540
Merit: 1002

Thanks for the info. I use the newest firmware. That seems to be the reason for the errors. Looking forward for the next release.

You can also just use the previous BTCMiner (120221) and flash the 15d3 firmware which will allow you to use cgminer as released right now. There is no speed gain in 15d4 that I can see.
legendary
Activity: 1022
Merit: 1000
BitMinter
@nelisky how do i use the ztex boards with cgminer ? What are the commands for the conf file ?

There is nothing new on the conf file for ztex, you just need to have them running with a compatible firmware (use BTCMiner or FWLoader from ztex to load it up), which means 15d1 to 15d3 for ckolivas release and if you want 15d4 you'll have to build from source found in https://github.com/nelisky/cgminer/tree/ztex-120417

The boards are detected at cgminer start. Let me know if that doesn't work for you.

Thanks for the info. I use the newest firmware. That seems to be the reason for the errors. Looking forward for the next release.
legendary
Activity: 1540
Merit: 1002
@nelisky how do i use the ztex boards with cgminer ? What are the commands for the conf file ?

There is nothing new on the conf file for ztex, you just need to have them running with a compatible firmware (use BTCMiner or FWLoader from ztex to load it up), which means 15d1 to 15d3 for ckolivas release and if you want 15d4 you'll have to build from source found in https://github.com/nelisky/cgminer/tree/ztex-120417

The boards are detected at cgminer start. Let me know if that doesn't work for you.
legendary
Activity: 1022
Merit: 1000
BitMinter
@nelisky how do i use the ztex boards with cgminer ? What are the commands for the conf file ?
hero member
Activity: 896
Merit: 1000
The changes must be accepted by ckolivas (my goal is obviously that future enhancements of cgminer would not systematically break the plugin interface).
Would a properly maintained cgminer fork be sufficient?
Nope. A fork would be unfair to you (one 40 BTC donation for maintaining a fork with such internal changes is basically a steal) and my goal is not only technical but also to help distribute the work by making it easier (documented stable interface) which may attract new contributors and by helping lift some burden from ckolivas' shoulders.

That said, I recognize your existing contribution is going in the general direction I think is good for the project. So I'll send 4BTC right now to you, 4BTC to ckolivas for including it and leave 32BTC as my pledge for a plugin interface that is integrated by ckolivas.

I'm in a donating mood right now so I'll look at the recent changesets to find other contributors to reward. If you are such a contributor don't be upset if you don't get anything : if I don't think your code is or will be used by me, I won't donate or donate a very small contribution.
legendary
Activity: 2702
Merit: 1468
oh, growing pains of open source...

Luke, your idea of true plugins is what this project should gravitate to, you know, miner plugins in separate so/dll libraries, separate config sections for each, one plugin watchdog thread for each pool of plugin miner threads.  IMHO, GPU should go there too.  Core would handle pool and work queue, plugins would put results back to core, core pushes them to pool.  Statistics stay in core etc.

Con wrote his code to achieve one goal.  Write the best, fastest gpu miner, with best statistics and control of all miners out there.  And he achieved his goal.

Fighting with him or Kano about architecture is not going to get you far.  I think the better approach would be for you to start a new
project, call it "modular cgminer" or something like that,  and put your ideas to paper.  Don't wait for Con or Kano for approval.   If they don't want to follow, you lead. Who says it has to be want they want, or if this thing has to stay being written in C.  Use C++ for the rest, keep core in C if you like.  You'll be surprised how fast you'll find similarly minded programmers to help you.  You can derive your work under GNU license, put Con's name on core's code and move on...
legendary
Activity: 1540
Merit: 1002
To many people fighting about what should, or should not be included.  Fighting about what the display should look like, fighting about what information should be displayed and what shouldn't.  This is getting to be a pain in the ass.

ckolivas, it's your baby, do what you want with it.  If I were you, I would just strip it down to the bare minimum, then run all the extra shit off of plug-ins.  Want a different interface, use a different plugin, want support for super-duper-FPGA-miner-3000?  Get someone to write a plugin for it.  Want Luke and Kano to stop fighting?  Let them write their own separate plugins.

You sir, wrote an great little piece of software, but you will never make everyone happy, don't try.

Fighting about what others should do for you is stupid, but be careful with your assumptions. Plugin support is not trivial and cgminer is already very modular. You can pretty much compile it to your exact needs.

And I must agree that ckolivas writes great software, it has been a pleasure for me to work on top of it but again, careful with the assumptions. The day ckolivas decided to open source it the baby, while still his, began being parented by many other great tutors. I may not always agree with luke-jr or kano (or ckolivas for that matter Smiley ) but luke-jr did a great job improving the modularization of cgminer and creating what became the base for FPGA workers there and kano is making the API better, greater and more useful and everyone combined is finding and fixing bugs that would otherwise be much harder to track if this were a one man show.

ckolivas owns the thing, he knows the code better than anyone else and if it weren't for his great effort we would most likely not have this great piece of software. Major kudos to him!

... but don't make the mistake believing that without everyone else (coders and general community) the code would be the same.
legendary
Activity: 1540
Merit: 1002
Great stuff !

Just let me know when I can flash my GPU BIOSes without using RBE and using only cgminer.

Also let me know when I can attach cgminer to my grill to cook me some eggs as well !

Too many features in cgminer will not be beneficial for anyone. cgminer is good for one thing : mining.

If you start also allowing it to flash FPGA bitstream and firmware then why not expand it to a household alarm monitor as well etc.

Look at BFL and their "easyminer" software. That is what every FPGA dev should develop instead of piggybacking onto cgminer with puny donations like 10 BTC.

Thanks for the kind words. It is always great to see the community getting together towards building something that is good and useful for... you Smiley

You don't understand open source, that's ok. You do state a lot of good points but then just overdo it and go on to plain and obvious trolling. But I'll bite:

You already have opencl kernels being "pushed" to the GPUs, that's the closest equivalent to the FPGA bitstreams. The firmware is needed because the FPGA interface to its microcontroller isn't standards and changes with bitstreams, sometimes.

Household alarm monitor... yes, proper FPGA handling is too much and unneeded for mining. Why don't we remove LongPoll from cgminer? You can mine without it... not optimal, but hey.

I'm not looking at BFL easyminer for anything, this is a different (and much better imho) product.

Oh, and as for cooking eggs, you can already do that, just crack them on top of your GPUs, cgminer even shows you the optimal cooking temperature!

Reading through your comments I come to the conclusion you don't care about what other people may need from a mining software, so why not ask ckolivas to remove support for every GPU you don't use? That would simplify the code a lot! Also, what's with the "piggybacking" and the puny donations comments? Are you serious? Really?
hi
sr. member
Activity: 256
Merit: 250
why do the older version like 2.0.8 run faster then the 2.3.3?  I get 20 million more hashes with same bat file using 2.0.8.
Jump to: