NEW VERSION - 2.4.3, JUNE 14 2012This release cycle, things went mostly smooth with getting (new) things into CGMiner. Con doesn't want anything to do with CPU mining (I think he's planning to remove it completely from CGMiner), so some CPU mining improvements I made are BFGMiner-specific.
ButterFlyLabs is supposed to be getting me some updated protocol docs for their MiniRigs like 2 days ago, but it's still not ready apparently, so I put in a stop-gap minimal change to get BFGMiner at least
working on them, if not as ideal as they will when BFL gets me the new stuff (I offered the change to Con for CGMiner, but he prefers to wait until we have the "real deal" ready to go).
ModMiner support got into CGMiner, but Kano made a mess of it when he added it to the RPC API; I cleaned it up in BFGMiner, so you can see the independent temperature and clock frequency of each of the 4 FPGA boards on the device. The problems cablepair was having with CGMiner on Windows seem to be a hardware issue with his prototype and shouldn't affect the production units.
There were some reports of problems with Windows not liking many failed openings of invalid devices, so Kano cleaned up the driver selection part of --scan-serial (that is, where you can put "drivername:" in front of it to only try that driver); unfortuantely, he insisted on changing it to "TLA:" instead of the driver name, and Con threw the whole thing out because he wouldn't leave it backward compatible. In the meantime, I've got the actual improvement part of Kano's change in BFGMiner, so it should work if you had that problem.
Finally, after giving it more thought, I decided to drop the CPU/GPU/PGA acronyms in favour of CPU/OCL (for OpenCL)/BFL/ICA/MMQ/ZTX. Since BFL is coming out with ASICs soon, probably using the same driver, and OpenCL might very well
not be a GPU, it doesn't really make sense to assume they are.
Human readable changelog:- Protocol acronyms replace device-type
- Basic BFL MiniRig support
- CPU mining improvements
- Mod miner FPGA support.
- Fixes for load balance and rotate pool strategies
- GPU engine speed changes - will not increase GPU speed if the fanspeed is above the maximum.
- Improvements in detecting lagging pools
- Lots of other minor fixes
Full changelog- Change device API "name" to reflect driver name abbreviation instead of device type name
- miner.php allow a separate user settings file
- modminer: Implement extended device stats to expose each Board to the RPC API
- Bugfix: Use new cgpu->thr for longpoll waking
- bitforce: Remove 4.5s delay before polling starts, since MiniRig finishes sooner
- FPGA - allow device detect override without an open failure
- Bugfix: Missing printf value in merge from cgminer
- Ensure C compiler is in C99 mode
- Add CPU core count detection for BSD/Mac
- Set CPU mining idle priority on Windows
- can_roll and should_roll should have no bearing on the cycle period within the miner_thread so remove it.
- Check for strategy being changed to load balance when enabling LPs.
- Check that all threads on the device that called get_work are waiting on getwork before considering the pool lagging.
- Iterate over each thread belonging to each device in the hashmeter instead of searching for them now that they're a list.
- When using rotate pool strategy, ensure we only select from alive enabled pools.
- Start longpoll from every pool when load balance strategy is in use.
- Add mandatory and block fields to the work struct. Flag any shares that are detected as blocks as mandatory to submit, along with longpoll work from a previously rejecting pool.
- Consider the fan optimal if fanspeed is dropping but within the optimal speed window.
- Fix typo in some API messages (succeess/success)
- api.c MMQ stat bugs
- Bugfix: Fix warnings when built without libudev support
- Bugfix: slay a variety of warnings
- Bugfix: modminer: Fix unsigned/signed comparison and similar warnings
- API add ModMinerQuad support
- Bugfix: Honour forceauto parameter in serial_detect functions
- modminer: Temperature sensor improvements
- modminer: Make log messages more consistent in format
- Only adjust GPU speed up if the fanspeed is within the normal fanrange and hasn't been turned to maximum speed under overheat conditions.
- ModMiner use valid .name
- New driver: BTCFPGA ModMiner
- Abstract generally useful FPGA code into fpgautils.c
- API add stats for pool getworks
- miner.php option to hide specific fields from the display
- miner.php add version numbers to the summary page
- Update debian configs to v2.4.2
- Add API and FPGA READMEs into Makefile to be included in source distribution.
- Icarus - fix unit64_t printf warnings