Updated on tor 2 sep 2014 22:34:08 CEST. If working with git, use `git log --oneline --decorate` for latest change log. ------------------------------------------------------------------------ 447dd68 (HEAD, master) Merge branch 'v5_0' 92a9250 (origin/master, origin/HEAD) Merge pull request #361 from Phoenix48/patch-1 5bf26e7 Update cygwin-build.txt 3ddffaa (origin/v5_0, v5_0) Compatibility fix. dbe0263 Fixed device display when both --device and --remove-disabled options are used. 82b5320 Check if mining threads are initialized before restarting them. 5bd2689 Hard reset only when gpu-threads or devices are changed, but not when algorithm is changed. Also a little refactor. deacbdd immediately exit threads if doing hard reset 19fcb5e improve locking to prevent race condition stratum could respond faster than we are able to add the sent share into the hash, which could cause memory leaks 283e8fb Added coding.md e0b3448 Fixed compatilibilty issues on MSVS. a408e85 Fix API profile list f8fcbbc Config writer fix 8b44007 Fixed compatilibilty issues on MSVS. 72590bd Fix potential division by 0 if nfactor is not set b4dd3ae Forgot include needed for pthread_kill 04722e2 sshare could have already been free'd by parse_stratum_response in stratum_rthread by the point we reach this code - possible segfault fixed 2d23a7d Added missing permission flags to Windows build #333 4a9ee47 Add log-file option to automatically redirect stderr to a file From bfgminer https://github.com/luke-jr/bfgminer/commit/b0240dd004823cb1834b21508e4b621e9e7574cf 0bd7a9f After cancelling a thread (unless it's detached, but mining threads aren't), it is always necessary to join the thread so the system will release resources. This also simplifies kill_mining a bit. e33590f Thread was never joined because thr_info_cancel sets pth to 0. Should improve mining thread hard reset. 363f52d Write to both stderr and console within same console lock "session" From https://github.com/luke-jr/bfgminer/commit/7dd230cd8ff76737735fa981fd7110dd9f1a70fa 2d66c44 Add debug-log documentation and enable it by default f3336dc Update README.md eb6f47e Add debug-log setting to log everything when stderr is redirected to file Based on code from BFGMiner 485ec9a rename poorly named variable a96048e Update configuration.md 855adf1 Merge pull request #324 from Elbandi/v5_0-stylefix 0a66d49 Fix x14 algo code style e64291e Fix bitblock algo code style 8001dc0 Algorithm alias fix b6aefc6 Fixed segfault when adding pool profile via ncurses GUI #322 fdd4e84 Update README.md 94607ba Merge pull request #310 from sgminer-dev/v5_0-jansson 2902429 Add algorithm aliases x11, x13, x15, x15mod, nist5, keccak Also refactor aliasing 30d0a9b Deprecating "difficulty-multiplier" setting e8f1089 Merge pull request #292 from Elbandi/v5_0 03daaff Merge pull request #313 from davedean/master c196dfd MSVS2010 project update. 8567370 Merge pull request #316 from Elbandi/v5_0-leakfix a39316d Fix nonce1 and sessionid memory leak e15f354 Updated AUTHORS.md 74d4cfa (origin/v5_0-jansson) Added Janson version string to log output. 0950af7 Documentation update. 21d3ad4 added sgminer.1 manpage file, draft ec8ba02 nicehash deserve mention for providing bitcoins for stimulation of development. section for future sponsors or special acknowledgments 6c60ce2 Fix kernel code style: every hash has own codeblocks db40274 convert tabs to spaces in kernel files and remove whitespace from lineends 27709ce Remove now unused temporary fix for algo switch 171e5dd Update configuration.md 69ab3a8 Changed the way hard restart is done for better compatibility with windows pthread. a0e95b3 some improvements for the zero-hashrate fix, and more debug output b3d6e5b Update configuration.md cf4aa31 Switcher thread fix 66ec621 Added Jansson as submodule. ecdb8ac Merge pull request #309 from Elbandi/v5_0-removeunused 55cd3ec Hangup fix 65a1509 Remove unused diff_nonce d211d5b Update configuration.md 2df1924 Update configuration.md 16361a6 Update configuration.md f3a773f Merge pull request #307 from sgminer-dev/v5_0-x15 9e515ab MSVS fix. dc3ec79 Thread info struct should be initialized/allocated for disabled devices, too. 47c6034 Cleanup 22c34fb Old Kernel Fix 5c9126f X14 Implementation e064754 Hamsi fix e234b2d X13 Fix bb667fe Remove old files 85fa163 Fixed marucoin mod 12a2acc MSVC X15 commit ab8be24 Create whirlpool.cl 81bcc15 Create shabal.cl 847d454 Add bitblock files to solution e78d444 Create hamsi_helper.cl 4be3039 File too big .. can't edit c24cd98 Optimized a bit 80d5195 Create bitblockold.cl 348c974 Create bitblock.cl 69e3282 Create hamsi_helper_old.cl fbcde31 Create hamsi_old.cl 84b21e0 bitblock header 99abe7e Bitblock kernel fd417c0 Add shabal.c and whirlpool.c to source list 63153e6 Whirlpool algo 9711682 Whirlpool header f1f5046 Shabal header b728a32 Shabal algo 52b4dab Add bitblock to source list 18e0ed0 Add BitBlock kernel 6f8d38e Remote config files 1c2de13 fix broken disabled devices when remove-disabled is set 8f53b7c safer 976873b more locks for devices d9b1f20 unused preprocessor directive 50483e3 spaces/indent 92deefc Fix bad lock 40894db Changing disabled devices on pool switch is not possible if remove-disabled is set (enabled) 7507790 GPUs cannot be hotplugged 7f04513 Refactor and stability improvements when restarting threads enable_device should not modify mining_threads because this is unsafe after initialization. it is also not necessary in most cases where it is currently used, except in initialization refactored some of the new restart_mining_threads code and incorporated above change for better stability properly handle disabled devices in restart_mining_threads when opt_removedisabled is set total_devices was set incorrectly if the disabled devices were not at the end of devices, so total_devices is now always the number of detected devices, since that is what is in the devices variable be7d47d add lock when accessing mining_threads 028f19e remove old commented-out code ba7c489 Remove obsolete benchmark mode This mode/setting is unusable left-over from SHA-256 cgminer. It does not work with Scrypt or other algorithms that are used in sgminer. Removed in single commit so it can be used as reference, if benchmark mode is added in the future. 9d54637 Fix HW Issue at startup 3ae5f97 Algorithm Switcher Update 10fcbd3 tools: typo in update_changelog.sh. 63afb25 tools: typo in update_changelog.sh. 0677b95 Merge branch 'master' into v5_0 92d2256 (tag: 4.2.2) Bump version to 4.2.2. ae94126 tools: update_changelog.sh and entire ChangeLog. 82518d6 Merge pull request #291 from Elbandi/v5_0 cc699e1 Fix typo 044bf70 Nfactor fix 78014ab work queue: verbose log as to why staged work is being discarded. 7024d14 Fix high fan issue at startup/algo switch f0527d3 Fix high fan issue at startup/algo switch 99082f4 GPU initialization update 212009a GPU Initialization update 7628773 Fixed GPU initialization e9b8299 60 second quit fix after algo switch b91f2d3 60 second quit fix after algo switch 3a728e6 Fix possible config issue 416c6b6 Update AUTHORS.md c78f14d Update windows-build.txt 0bdb7d3 Fix issue compiling in mingw32 4278c87 Fixed kernel problems under 13.12 8dea195 Merge pull request #281 from Elbandi/v5_0 707ddd6 Merge pull request #282 from ystarnaud/x11mod ea1de32 Updated x11 kernel 2925ea0 Use macros in queue_talkcoin_mod_kernel 1914cef Fixed x13 and other issues 298a752 Merge remote-tracking branch 'upstream/v5_0' into x11mod f6adfd5 Updated x13 kernel d7d387a MSVS fix for talkcoin commit. e96f279 Sync with v5_0 5605575 Whitespace and indentation fix 056a9f7 Merge pull request #272 from lasybear/v5_0 1fb86b3 Update configuration.md 5e8bba2 Update configuration.md 1965131 Moved strsep() implementation from winbuild.h to compat.h 3975f04 Updated x13 kernel 83b2ac9 Compatibility update for MSVS 3f83f22 Moved (reverted) some struct definitions to api.c. MSVS doesn't like them in .h 85a6adf MSVS project update for config_parser commit 513307c config: remove commented-out old config-loading code. 76dd32a config: one less branching in load_default_profile(), some whitespace. ef722e6 Fix to apply correct GPU engine clock or range 5430d1e config: be a little less cryptic on what's going on in load_default_profile(). 0886740 Merge branch 'config-parser' into v5_0 6228694 config: conflict with v5_0 (develop) branch, opt_algorithm was changed from a pointer. 0b85c05 misc: update AUTHORS and NEWS with changes from branch config-parser (and a few others). 5309da5 config: remove unused variable. 4021704 Update configuration.md 3042745 Update API.md (3 squashed commits). e7881ff Update configuration.md bd54c59 Updated example.conf fae56ce Added API function to change pool profile 58def44 Fixed a segfault issue writing config file ea1aba0 API Update 832ac82 Updated API functionality 4c3352b Update configuration.md (19 squashed commits). d9b4798 More options added 9fe5272 Updated config writer 03379f9 Fixed whitespaces 9faa8fa Updated the config parser 14d2b94 Merge pull request #274 from Elbandi/v5_0 1f76f9b Use macros in queue_kernel functions 3b29847 Made opt_algorithm to simple variable e86b72e Remove unused enum c0d79fa Refactored kernel source loading (missing / delimiter). Added more debug messages. b2e500e Fixed pool name display in rejected share notice when pool name is longer than 20 chars. a85e669 Fix compatibility with AMD drivers 14.6 8ad1d91 Fixed MSVS project bug introduced in d83d7bd386 e7228b2 talkcoin-mod c924433 Lock tracking code fixed for MSVS. 5ba1772 algorithm spaces/indentation fix 60a7902 MSVS project cleanup. d83d7bd Removed original sha2 and made code use sph_sha2 f9a8e66 Fixed crash when changing display modes (#237) cd9864f Removed unneccessary code introduced in 954c0e6 24fa44e Make sure log string is null-terminated. fd35c77 Kernel include path fix. 6971ce6 logging spaces/indentation cbc2282 Removed trailing slashes from folder paths to avoid kernel building under Windows (MSVS). 9f6bf16 Refactored logging. Increased default log buffer size. d8d8ba8 adl spaces indentation d818014 index was into cgpu threads, not into global mining threads 3cbfe25 fix bug where device is not restarted after overheating and cooling off 280a64e Squelch "Network diff set" unless --more-notices 25d7d42 convert tabs to spaces in most commonly modified files 2ea8f5d just in case, read-lock devices 9fdd23e since mining_threads count can change, we need to lock more carefully and get_thread function is not helpful anymore 2877e8d of course it needs to be a write lock! fixes segfault d1f7ef6 is already locked at this point 954c0e6 fix opt_kernel_path writing over the allocated memory! also some small changes for more robust hard restart 77c9968 fix compiler warning and indentation a5fd98c declare opt_morenotices; 0f9bf18 Add option --more-notices & shorten stale submit ff05aac attempt to fix memory issues when doing curl calls ff787bc add docs about the new hamsi-expand-big setting e134ab7 move algorithm-specific OpenCL compile options into algorithm_t 881355d add --hamsi-expand-big option for setting EXPAND_BIG in X13 kernels 5e3142c remove unused code (mostly intended for ASICs which are not supported in sgminer), fix some compiler warnings cabbd73 refactor initCl more a564c24 MSVS: project cleanup and reorder. d04c096 add ocl/ files to MSVC project e5779e1 move algorithms into separate folder c25a59b refactor building/loading/saving OpenCL kernel 04c0aee MSVS: Removed Curl includes from sgminer tree as they are provided from Curl source archive. bc1c620 MSVS: Updated libcurl Makefile to v7.37.0 6152638 fix compile without ADL 518d6e9 Merge pull request #236 from Blagodarenko/v5_0 1bca4a7 fix "diff 0.000/0.000" 1bb452e Fixed kernel path bug introduced in 8198286597 e3290db Merge pull request #231 from tupieurods/feature 32824e5 Total uptime drop fix 5cc43f2 misc: ChangeLog typo. 411a413 Merge branch 'dejavusec-backport' ae7dbca stratum: parse_notify(): Don't die on malformed bbversion/prev_hash/nbit/ntime. cab6e28 stratum: parse_reconnect(): treat pool-sent URL as untrusted. 91d29ea Stratum: extract_sockaddr: Truncate overlong addresses rather than stack overflow 44e7709 Bugfix: initiate_stratum: Ensure extranonce2 size is not negative (which could lead to exploits later as too little memory gets allocated) 1f73ae0 Merge branch 'v5_0' of https://github.com/sgminer-dev/sgminer into v5_0 8198286 Fixed MSVS build. 2588394 Added null-termination for kernel build log. 00d17d1 fix segfault (watchdog thread declares threads sick and tries to restart them while they are already being restarted) a5bec2b Merge branch 'dejavusec' into v5_0 910c360 stratum: parse_notify(): Don't die on malformed bbversion/prev_hash/nbit/ntime. 4f38732 misc: update AUTHORS.md, add CR to sgminer.c, minor style. 78cc408 stratum: parse_reconnect(): treat pool-sent URL as untrusted. b65574b Stratum: extract_sockaddr: Truncate overlong addresses rather than stack overflow bac5831 Bugfix: initiate_stratum: Ensure extranonce2 size is not negative (which could lead to exploits later as too little memory gets allocated) f0e47ec make sure reinit_device cannot happen while algo switching, which would probably result in segfault e58cd00 fix bug in thread_reportin (watchdog can detect getwork is false before thr->last is set), and a few cosmetic changes b8a1c1f MSVS compatibility update. 68c54c2 Partially reverting e4a4efdb42 to keep MSVS compatibility. e4a4efd fix some potential memory leaks, remove a few old unused functions 87bbca6 only change gpu engine, memclock, fans, if ADL is enabled dfaee21 extract marucoin-modold (for old GPUs like Radeon HD 5xxx, e.g. 5850) as separate kernel and add support for it 064d940 manually merge changes to X11-mod/X13-mod kernels (lazybear) 8c48255 Code cleanup WATCHDOG_SICK_TIME increase reverted Hardcode in get_work_blockdiff removed 99db171 show-coindiff option added 8f10cbf Total uptime length d89e53b Extend time to sick state ce3624f (tupieurods/v5_0, dev/v5_0) add marucoin-mod (X13-mod) 2ec0915 (origin/sph_algos, sph_algos) per-pool gpu-fan 9ec87cf fixes for MSVC2010 to build 713cfb5 update visual studio project (add new files), update solution (was too new for VS2010 Express) 33023de more documentation f596631 adjust ncurses interface when we change mining_threads count 6c5ce53 fix compiler warnings 13cdc33 pool-gpu-threads setting 19fc4cc remove gpu_threads which is identical to mining_threads. refactor mining threads init code 24d0ce4 all hail SPACE c4f2b78 per-pool gpu-engine, gpu-memclock and thread_concurrency 06d8e1d extranonce - some cleanup and better description for pool setting 91a26c4 Protect pool name with lock cac833e fix bug which can occur when switching from a very low diff algo (darkcoin) to a high diff algo (scrypt), which caused invalid nonces 1bd9636 (tupieurods/master, dev/master) Fixed found blocks calculation. b08782f Merge pull request #214 from sterlingpickens/patch-1 812efe4 initial_args warning 246615f initial_args warning 5b8adcd add todo comment if we ever fix the broken config parser 0bbf555 add docs about new pool-specific options, and note about the current bad config parser efe1ebd Intensity can be set for each pool individually dca83c1 (origin/x11_mod, x11_mod) Add improved Darkcoin (X11-mod) algorithm d12cda0 refactor that will come handy soon 9d9f5b7 Add MaxCoin support c0baf79 making new algorithms and other changes merged from sph-sgminer work with current version of sgminer 93e3a6d Merge branch 'master' into sph c46c913 doc: mention optional name/desc/algo for addpool. 49eae16 (tag: 4.2.1) doc: NEWS.md typo. 76c462d Bump version to 4.2.1. 22a3c5b Reverting 83d71da. VS2010 fix. addc411 Merge pull request #212 from Fcases/master 8fe9b0a Added ultratune 87ece62 (tag: 4.2.0) Bump version to 4.2.0. 9fd94b5 doc: list kernels alphabetically. 67763bf Merge remote-tracking branch 'bufius/master' 0b0a3ed core. include check in ocl.c regarding lookup-gap for kernel 'bufius' 6d5e7bd add credits 292ede3 format code 3c14f0a slightly improved performance, works with LG of 2, 4 and 8 ecfd497 core: remove second-to-last remnants of hotplug. e32dcd7 Mark pool as idle if stratum restart is failed 9867676 Set the pool idle and switch pool, if need c469ff9 Disconnect from pool, if auth is failed 3eb22b2 api: write xintensity and rawintensity using api_add_int(). d27e869 api: Add XIntensity and RawIntensity to `devs` output. 5b05454 config: Don't write commas if not needed, default to `opt_algorithm` when adding pool without one set explicitly. f3df639 Merge pull request #203 from sterlingpickens/master ff45bb3 Update configure.ac 83d71da Update sgminer.c 89c1411 Update driver-opencl.c bfff79c Merge branch 'api-quit' eb53e32 misc: add API restart/quit changes to NEWS.md. 3a6c1c8 RPC: Provide a full status section for quit/restart commands 828aa7b misc: update NEWS.md with changes from `api-compatibility` branch. 2f3e08a Merge branch 'api-compatibility' 47d00ee api: add missing header. 5bd5b07 RPC: Add "Miner" to version response to include software name along with version 897ca9f Merge pull request #200 from Elbandi/poolnamefix 973dcef Use get_pool_name everywhere b090ac9 misc: veox can no longer actively maintain this software. 3d7167c config: improve pool section writing. e42f77d misc: moved from veox/sgminer to sgminer-dev/sgminer 0001517 Merge branch 'marucoin' 67cf41a Added support for MaruCoin 7bc0be0 misc: FAQ cleanup. b2462e6 misc: Add Michael Fiano to AUTHORS.md. f570991 (tag: 4.1.271) api: Bugfix, bump version to 4.1.271, initialise name/desc/algo in addpool() so checks for NULL work. 49fecf9 misc: Bump version to 4.1.270. 92c3b5e api: set algorithm properly on addpool. 5409ffc api: check if name/desc/algo are NULL and fill with defaults if so. 9aaff8c api: bump version, but allow name/desc/algo to be missing when adding pool details. 3c3a584 ui+api: ask for pool name/description/algorithm when adding pool from NCurses/API. e731aa1 Merge pull request #193 from troky/master 2a087a7 Added algorithm name to 'pools' API command. 01e9660 Fixed (pool) algo selection. da667d6 config: write pool name and description to config. 2c00158 Merge pull request #189 from Bllacky/patch-7 942c671 Update miner.h b3d483a core: revert two of the changes in Bllacky's pull request #187. b457461 Merge pull request #187 from Bllacky/patch-5 fe64ac9 Update sgminer.c 1dc8aab Update sgminer.c 4f3d2ed misc: set `algorithm` for pool in example.conf. aa5f4c7 config: add `const` qualifier to set_pool_{algorithm,nfactor}(). 7051629 log: change log level in setup_stratum_socket(). 0dcb6ca doc: clarify `algorithm` usage in a config file pool section. e7078a5 misc: clarify currentpool() comment. f6616aa config: allow specifying per-pool algorithm with `--algorithm` instead of `--pool-algorithm`. 53a199a config: use get_pool_name() in set_pool_algorithm() and set_pool_nfactor(). af879b1 core/misc: rename set_poolname() to set_pool_name(). cc59247 adding mrbrdo to AUTHORS.md for kernel hot-switching 3ddf6ba core: rename default_algorithm to opt_algorithm. 0793c96 Merge remote-tracking branch 'mrbrdo/poolalgo' into poolalgo 336135f (tag: 4.1.242) misc: Bump version to 4.1.242. b6218e2 config: rename --pool-priority to --priority, --coin to --description. 7678db6 Fixed problem with stratum support when mining FC, GRS and TWE. Added --difficulty-multiplier parameter for controlling stratum difficulty multiplier. 769c9f8 Merge branch 'twecoin' 474091c Added support for Twecoin cc735db misc: don't violate reserved identifier naming convention. cabb02f log: do not show pool difficulty changes on non-current pool. 4c64a19 Merge pull request #181 from morenoh149/patch-1 3c5f0fa made debian apt-get a one-liner 74ec146 added clarification for dependencies cdb817b Change algorithm more robustly and faster, previous way was buggy c2131df add support for setting algorithm/nfactor for each pool separately, and fix bugged OpenCL thread cleanup (thread shutdown) a683f93 Merge branch 'sifcoin' 0f88162 Added support for Sifcoin 9a2b928 misc: update NEWS.md with reference to mailing lists and duplicate entry removal. a57f841 Revert "fix for mingw-w64" e1b944e doc: update README.md with links to mailing lists. 2724091 doc: minor README wording. 9e97ccd adl/misc: remove unused lpAdlDisplayInfo (silence GCC warning). db0f7cf core: silence gcc warning about sprintf() use in add_pool() - this time for sure. 524833f adl/misc: remove unused iNumDisplays. 5fd5e3b adl/misc: mention that the found adapters are logical. 5896da1 core: remove total_users, total_passes, total_userpasses (no longer used). 08ff157 config: write `algorithm` to config if not default. 27e4515 opencl: move lookup-gap check for kernel zuikkis to after it is set from opt_lg. 377266a misc: update NEWS.md (with what was added in #168). 8203fea config: move `--coin` in config table (alphabetically). e7ca7fa Merge pull request #168 from troky/testing bc9b313 opencl: check if gpus.kernelname has to be free()'d before setting. 18d9c64 opencl: update comment on generated binary file name. 10ec776 pool: don't pass unused argument to sprintf() in add_pool(). ac3d138 Revert "core: correctly parse boolean configuration values." bcb78ed Added --coin pool parameter. 17f5e29 Fixed configuration/command line parsing. 8db5302 Added --pool-priority 1f7b7ef stratum: move log warning under opt_disable_client_reconnect clause. 01b3f70 A new --no-client-reconnect command that disables the 'client.reconnect' function. It looks like there's an exploit that abuses said command, but it is still not clear exactly how. aa471a2 api: remove unused SCRYPTSTR. e02f111 opencl: reuse strbuf in initCl, get rid of poorly-named numbuf. 89d6416 log: warn on using kernel zuikkis with lookup-gap != 2. 7a3a510 log: mention non-user-settable kernel parameters in "Initialising kernel" notice. 0d89777 opencl: correctly test if no kernel name was specified in config. 983eae1 Merge branch 'groestlcoin' 764d870 Added support for GroestlCoin. 21d928b Fixed problem with invalid stratum difficulty for Quark, AnimeCoin and QubitCoin. 1b3df7c doc: add note on incognito mode in doc/BUGS.md. 29cbd1f doc: make the title of your issue report informative. 57fce98 Merge pull request #159 from troky/api-ext 9414592 Added pool name to API "pools" command a0c0975 Merge branch 'animecoin' 35744a8 Merge branch 'inkcoin' 04942b6 Merge pull request #155 from troky/master 535696a Cleaned up source code. 9e481eb VS2010 build: Removed kernel name definitions. ea9c54a (elbandi/kernel-name) misc: update NEWS.md. 41f9948 doc: update README.md doc list, rename KERNEL.md to kernel.md. 9b68b27 doc: update doc/KERNEL.md to reflect the fact that kernel names are no longer hard-coded. 106dbee core: check if GPU thread is disabled before checking if it's waiting on getwork. e0736b1 misc: suggest checking configuration in log message. 98cd96f opencl: add log notice, change another to notice level, shorten comment. 0adf597 build: remove kernel name definitions from configure.ac. 87801c2 opencl: rename cgpu_info->kname to cgpu_info->kernelname. 4ea5088 opencl: rename queue_scrypt_kernel() to queue_kernel(). 3787f47 misc: add comment on what cgpu_info->{,k}name are. c9ccf55 opencl: remove cl_kernels structure definition and mention. 1333ed5 core: simplify kernel selection code. e260e79 Added support for FugueCoin f2934d8 misc: set `algorithm` in example.conf, set GPU clocks as if there were 3 GPUs. ddd3b12 misc: change `poolname` to `name` in example.conf. fc902f0 pool: add back --poolname as hidden option for backward compatibility. 49aef71 Reverting "poolname" to "name". 43f9678 misc: mention adaptive-n-factor support in NEWS.md. ef14022 misc: typo in doc/configuration.md d2c6f9a Merge pull request #149 from troky/master 958764f MSVS build: Fixed debug build. MSVS doesn't like uninitialized variables. 6b0b424 Fixed API timeval formatting again. Use of snprintf() causes problems in MSVS. bf2ca7b doc: update doc/configuration.md with `algorithm` aliases. b80f6c2 misc: fix typo in NEWS.md. 8079d05 Merge branch 'nfactor' e59e4f5 (tag: 4.1.153) Bump version to 4.1.153. 0db99d6 (elbandi/nfactor) algorithm: add nfactor aliases "adaptive-n-factor" and "nscrypt". 2b75a67 Merge pull request #147 from troky/nfactor 0e37fc2 Added algorrithm name to "coin" API command. Changed default algo name to "scrypt". 609b4f0 Merge pull request #145 from troky/master 2524286 API: Fixed timeval struct formatting . 07f5787 Merge pull request #144 from troky/master 2ff4234 Merge pull request #143 from Bllacky/patch-4 e7fbdf3 Removed orphan file. f7f5827 Fixed bufsize type. e2763e7 Update README.txt 549d01e Merge pull request #142 from Bllacky/patch-3 6a32e17 Update README.txt 95e397d Merge pull request #140 from troky/nfactor a697c66 Merge pull request #139 from Bllacky/patch-1 201036d Added algorithm.* and inttypes.h for MSVS build 0b5aace Update README.txt 4ed13e4 doc: update configuration.md with latest on --algorithm and --nfactor. a3f9b24 core: set default algorithm for when neither --algorithm nor --nfactor are provided. c6a2770 core: use global algorithm structure instead of opt_nfactor. a0c52bf config: introduce set_nfactor() and use it to call set_algorithm_nfactor(). 92b7770 config: add `--algorithm` option and documentation. 50a792f algorithm: initial set_algorithm() and set_algorithm_nfactor(). 776eec2 algorithm: initial structure definition. 66f508d Added support for AnimeCoin c2c8231 kernel: zuikkis supports all worksizes. 28ade9f Merge remote-tracking branch 'troky/build-msvs2010-upd2' ded4452 ui: check for opt_incognito is Display settings menu. 8f014ef util: add missing include. 9c0f912 core: remove ifdef from opt_compact and opt_incognito declaration. 747efda MSVS2010: Added pool.c and pool.h to project. ccc7d13 Added remaning sphlib files needed for SHA256. 8fe1b86 Added support for MyriadCoin groestl algorithm. 428061e pool: display URL instead of "Pool N" if no poolname provided. 4059780 pool: do not use defines, just inline strings. d58de45 pool: use get_pool_name() where appropriate. 0a4f718 pool: use get_pool_user(). 934c4f5 pool: introduce get_pool_user() for simpler opt_incognito use. bd6766f pool: define and use POOL_NAME_INCOGNITO. 8e4fb3c pool: abstract get_pool_name() 0d562ff core: use opt_incognito in a few more applog() places. 888fab4 ui: pool name in incognito mode, too. 2bab1d7 doc: update BUGS.md. 4c4b909 doc: in example.conf, remove boolean values (and ones related to them) set to non-default states. a511266 doc: minor fix for --help message on `--incognito`. 5a8f84b ui: allow switching to incognito mode through ncurses interface. d78f372 core: undo some of previous two commits and andd conditionals to display user name as `` instead. 2561295 log: do not set poolname in log in incognito mode. f737992 core: introduce `--incognito` + minimal revision of `--compact`. 8ff6246 doc: verbose FAQ answer on running per-instance. 9eba015 doc: update example.conf. 394c200 doc: minor FAQ update (formatting and reference a Q from another). 11cf733 misc: fix spaces after closing parenthesis. e18bcc2 kernel: use N-factor table instead of passing parameter N directly. 3afaaf1 ocl: rename nfactor to N where appropriate. c159470 doc: update Windows build references in README.md. c4c85ca (elbandi/nfactor-zuikkis) misc: add FIXME for scrypt_test() and scanhash_scrypt(). 2135777 scrypt: remove commented-out magic numbers. 4b3b2ef ocl: use 'nf' instead of 'n' in compiled kernel binary name. 5b42d38 ocl/misc: spacing. 7217da3 ocl: vectors are hard-set to 1, add appropriate "optimisation". 3370e08 Quark optimizations - replaced ifs with condiational operators ab9fcb1 ocl: use same type convention for nfactor (`cl_uint` instead of `int`). c4edf50 VS2010 build: Cosmetic changes in project configuration. dab737c VS2010 build: Fixed compatibility with non-MSVS compilers. 3640f14 Merge remote-tracking branch 'dadiv/zuikkis-nfactor' into nfactor ee70f9f misc: FAQ formatting. ae23d25 api: proper type casting for MSVS support. 2b9a588 Update sgminer.c & scrypt.c d47e232 Merge branch 'master' of https://github.com/prettyhatemachine/sph-sgminer 3e89fb9 Merge branch 'quark' bc05151 Corrected target in nonce test. 73bb150 Scrypt-nfactor support! 65336dc Corrected order of kernel identifiers. d9fc7cc Added support for QubitCoin c336a83 Added support for INKcoin. 089bfdd Merge branch 'quark' into inkcoin 44aed35 Merge branch 'build-msvs2010-upd' into build-msvs2010-merge a38f01c misc: explain gpu-threads comment FIXME. e92d5eb Added support for InkCoin 60a0e00 Added support for quarkcoin difficulty calculation. 323c849 Merge pull request #106 from sshimko/master 45a16f1 Fixup --help on intensities. a17ec11 Added support for Quark mining. a53e984 Added hash functions from sphlib. 9585d2a Added support for DarkCoin kernel. Modified stats display to handle low difficulty values. 80e6307 Merge branch 'port-ckolivas-3.12.3' edc94b0 misc: update NEWS with what's been ported from ckolivas/cgminer. fa21900 Merge pull request #100 from gionn/patch-1 7ca0965 Fixed md formatting in MINING.md a825524 We shouldn't block on no work situations directly from the getwork scheduler itself. b9b3abe Make the pthread cond wait in the getwork scheduler a timed wait in case we miss a wakeup. ac3f6c5 misc: add note about ports from ckolivas/cgminer. 7134cd7 Add debug output when get_work() is blocked for an extended period and add grace time to the device's last valid work to prevent false positives for device failure. 26c4be8 Show device info in noffset nonce share above target message. aca8a58 Only show one decimal place if pool diff is not an integer. 117c032 Slowly remove work even if it's not being used to keep the getwork counter incrementing even if work is not used and as a test that pools are still working. 5dad99c Give device info with share above target message. f8b9e41 Check for when errno is set on windows as well as the windows variant for errors. 88c7720 These may not be longs (eg: OSX)... fo a safe cast to ensure. a1844cd API-README correct new text format documentation ae837a7 API allow multiple commands/replies in one request b5abf68 Always show the stratum share lag time in debug mode. 9c59fe2 Add stratum share response lag time to verbose output if it's greater than 1 second. 7731806 Add stratum share submission lag time to verbose information if it's over 1 second. f7394ff Check for more interrupted conditions in util.c and handle them gracefully. 90cc93c Add the ability to display a hexadecimal 32 bit unsigned integer to the API. 6b246a5 Handle interruptions to various select calls in util.c 95ac0c4 Export the flush_queue function for use by drivers. ab805ec Remove wrong goto d5d34f2 Remove the unqueued work reference when we discard work from get queued as well. ee7fb11 Wake the global work scheduler when we remove a work item from the unqueued work pointer. 2cea7ce Discard work that is stale in the get_queued() function, returning NULL instead. 8592226 Add a get and queue helper work function. 0115125 Add a call to a driver specific zero stats function when zero stats is called to allow each driver to reset its own stats as well if desired. 796c032 misc: note having ported changes up to cgminer 3.12.0. dc76748 Fix displayed diff when solo mining at >2^32 diff. aeaedef misc: note about updates from ckolivas/cgminer. c31de26 Store when the last getwork was retrieved and display it in the API summary. d1e2bfa Make submit_tested_work return a bool about whether it meets the work target or not. a58ef1b Provide a helper function for determining dev runtime and use it in the hashmeters used. 3323f9f Generically increase the queue if we are mining on a pool without local work generation each time we run out of work. 5167962 Change new block detection message since longpoll is rarely relevant today. 1ad3285 Use unused line at the top of the log window which often gets stuck unchanging. cc2aa21 Clear pool work on a stratum reconnect message. faf63ec Modify thread naming to make them easier to identify 301daae api.c 2014 b6c6ec5 api add data type AVG float 3 decimal 83ea44a api.c set the actual version number to 3.0 83176cb API V3.0 unlimited socket reply size 003b65b Change stratum strings under stratum_lock in reconnect and free old strings. 91d36d0 log: add LOG_DEBUG message on restarting stratum. ed586c4 misc: indentation. abeeff3 log: print getaddrinfo() error description. 1819064 conf: disable API by default. 21ba583 Merge pull request #96 from honeymaker/patch-1 dc9f270 log: disable spammy log message. fad2c66 Update example.conf a8dfb3e pool: add getaddrinfo() LOG_DEBUG messages. a1724e3 api: add missing extern declaration (for consistency). 115eb1a pool: be verbose on which pool failed. 87102ec pool: additional debug logging for stratum pools. 4e08eb4 api: bump API version number to indicate changes that happened after 4.0.0. dab1d35 log: add LOG_INFO message about suspended stratum to stratum_rthread(). 861307b VS2010 build: Fixed debug build. Moved some windows related defines to preprocessor. 9e4c276 VS2010 build: removed unused defines. be4305e doc: FAQ formatting (allows linking to specific questions). 806b236 doc: Change answer about scrypt-jane/Keccak/SHA-3 support. ee5995e doc: add FAQ (Kessak/SHA-3). 02d409f misc: add Markus Peloquin to AUTHORS, reorder. ae3c7c0 Merge remote-tracking branch 'markuspeloquin/master' f4fcc7a Add clarification to Cygwin install section. 2c53b8a Add Cygwin build instructions. 6450f46 VS2010 build: Fixed git versioning script dfc7f57 VS2010 build: removed gitversion.h from repo since it is created dynamically. 914f89b doc: add a FAQ. fc51d16 VS2010 build: config.h cleanup and offload. Added git versioning. a0132b6 doc: remove old references to NVidia cards. c09a5b4 core: remove num_processors (unused). 3f5485a misc: clarify comments in switch_pools(). dde099f doc: Reorder FAQ to have more common questions on top, fix a few links. b178ade VS2010 build: Added PSW kernel. Version bump to 4.1.0. bf8e37c Support building in cygwin. 4ce8a3e misc: AUTHORS formatting. dff7876 Merge branch 'master' into build-msvs2010-upd feac311 VS2010 build: Converted applog() macro to function. d6e46f2 doc: recommend ADL version 6. 321c4c7 (tag: 4.1.0) Bump version to 4.1.0. 3c324a6 doc: update FAQ. 8043af5 core: write gpu-threads to config when using ncurses menu. b5b20c1 core: make errors on reading experimental options from config less scary. e465779 doc: Update README.md 0a3710d doc: update FAQ, rename to FAQ.md. c061b4e doc: Update part of MINING, rename to MINING.md. 9e9ac30 doc: KERNEL.md formatting. 4300e42 doc: fix link in BUGS.md. 2a950ff doc:BUGS.md minor updates. 8dd1c2d core: correctly parse boolean configuration values. 0e8ec8d pools: Allow disabling pool even if it's the last one enabled. f5c51b7 build: don't allow disabling OpenCL (it is mandatory). 3f34049 core: change default scantime/expiry to 7/28 (back to 1:4 ratio). 3ae7531 adl: rename adl_errors() to adl_error_desc(), shorten error desc's, handle unknown error b298675 Merge remote-tracking branch 'deba12/master' cd63c1b Add descriptive adl errors f2f2bce build: use git version if available. 76b79b2 build: fix AC_INIT string of configure.ac. 52e9df8 help: temp-target and temp-overheat had identical descriptions that do not describe what they actually do. b8f4419 Merge pull request #69 from Oriumpor/patch-2 8b92708 Replace second ZUIKKIS_KERNNAME for PSW_KERNNAME ad5b5fd Merge pull request #64 from bigchirv/patch-1 4082064 Adding definition for psw's kernel name. 638b24d doc: update KERNEL.md. 23eb242 kernel: make psw usable, reorder cases alphabetically. bda1070 kernel: add psw kernel. 21c007e VS2010 build: Static pthreads compiling and linking. 7084571 VS2010 build: Added library building instructions. 922bf25 Fix build error in changed compat/jansson-2.5/src/dump.c (missing 'struct'). 975139e VS2010 build: Prepared jansson for VS compile. 80d0032 VS2010 build: added sleep/usleep macros b3dbe14 Fixed le25todouble() casting. e0c380a Fixed missing realloc removed by mistake. b97a641 Merge branch 'master' into build-msvs2010-upd 2e16fb5 doc: Update BUGS.md to ask whether using precompiled binary. 464913a misc: Update AUTHORS (add Perry Huang, reorder). c235220 ui: Don't display pool list N times if N pools are set hidden in config. 37f60c3 Merge pull request #59 from perryh/add_api_khs 8bd980d Add API_KHS endpoint. 9f99474 pools: Revert back to "Pool N" default pool name, and use json_array_index to set it. ed61c38 build/mingw: style fixup after tonobitc merge. 241c94c Merge remote-tracking branch 'tonokip/master' 32b13cc fix for mingw-w64 d56d4ce include winsock2.h to resolve ws2tcpip.h conflict af01573 sleep function still needed for MingW not MW-W64 e123cc2 kernel: search in `pwd`/kernel/ for kernels. d203ddd ui: remove mention of cgminer in "Settings" menu. 83d984a doc: add releases, issues and irc channel to README. 6c343ae VS2010 build: Added libs download link. 14aac4b VS2010 build: move windows config.h gitignore rule to winbuild/.gitignore e053f49 VS2010 build: Missing config.h and .gitignore rule to keep windows config.h d9eb547 VS2010 build: revert le256todouble() cast/ref/deref change. 8d25b38 VS2010 build: winbuild/* dist and project files. 761f100 VS2010 build: fix a segfault from a removed realloc. 108ac24 core: check for GPU_* environment variables unconditionally. 87e5f35 VS2010 build: commit elist.h and relevant changes in sgminer.c and util.c 5078db8 VS2010 build: Prepare util.c e35d7b1 VS2010 build: Prepare scrypt.c 17ef58b doc: typo in doc/KERNEL.md 5d57691 VS2010 build: Prepare ocl.c 7ac101f VS2010 build: Prepare miner.h b5a3dbe VS2010 build: Prepare hexdump.c db35294 VS2010 build: Prepare findnonce.c 8c0e250 VS2010 build: Prepare driver-opencl.c. cf70796 VS2010 build: Prepare compat/jansson-2.5. 5ce16a4 VS2010 build: ccan/opt 84eefc7 VS2010 build: prepare API. da42e6a VS2010 build: prepare ADL. cd5fa8d Merge branch 'windows-cross-compile' e081a66 doc: add note about --disable-adl-checks. 2879994 adl: only ask for iDrvIndex on Linux. b56e65a misc: line wrap. a65ff54 doc: update README.md with "state" option. d3a3ee6 misc: update AUTHORS.md with recent testers. d7c8d1d core: change scantime/expiry to 10/30 from 30/120. 64fc832 pools: initial implementation of pool state machines. 1ebcb07 Merge branch 'master' into pools cae071b Merge branch 'kernels' 67d15f2 Merge branch 'adl-extra-logging' e269656 Merge branch 'pools-joe' 048c82b pools: rename 'pool->enabled' to 'pool->state'. 22b78e9 tui: Refactor status line printing. 6417bcc Merge remote-tracking branch 'joe/pool_options' into pools 90d49e9 Updated the README file to explain the 'remove-pool' json config file option b1eb2ab Implemented the 'remove-pool' config option for json file pools 817ed55 Pool management option now shows pool name when available dd7bd69 Updated README to explain new 'disable-pool' configuration file option 1d81196 Added a 'disable-pool' option to the json configuration, to allow pools to be started up disabled 8a6c716 Merge pull request #40 from gacheson/master 1eacb3f Fixes for "--pools" flag and fatal JSON error e0ca8eb doc: Simplify paths for cross-compiling instructions in windows-build.txt f321a02 Add clarification on Windows cross-build, out of tree is possible 47d83df doc: revert some formatting changes made by Drogean to windows-build.txt 1ceedd5 Add some notes about cross-compiling cgminer for Windows from Linux 06240b9 cross-compile: comment out sleep(). 6089dfb adl: code cleanup after last commit. 7123851 Added the stratum port to the status print a7bca56 Getting some extra log messages in the adl handling code 08abb9e build: reorder ADL checks. de08e71 core: write xintensity and rawintensity to config, add vectors back as a hidden option; a little whitespace for readability. dda6284 core: Add -v as an shorthand for --verbose. e8978db kernel: slight refactor, add warnings about new kernels, and known limitations of zuikkis. 7a69044 doc: update KERNEL.md abf1b94 doc: update README.md to point to KERNEL.md 5f795be core: use kernel name defines now that version date is not in the filenames. 68f0a45 doc: BUGS.md e9af210 doc: change bog reporting address. 45848ed misc: Add Kalroth's bitcoin donation address. d04a8d1 tui: display line getting off-screen on narrow terminals. d11df69 --rawintensity option, by request of Dead2. This setting allows to set the GPU intensity value directly without any modifiers, it does not get any more raw than this! Look at the xintensity description raw for examples of regular intensity values. You can also set this value through the ncurses interface by pressing: G -> A -> select device id -> enter value. 967c757 Cleaned a few messages up after pool naming feature. 0c38db6 build: Add --disable-adl-checks cb174d4 Failover pool switching back delay is now configurable. --failover-switch-delay sets the delay in seconds before switching back to a failed pool, default is 60 seconds. 35a2394 kernel: fix alexkar* kernel crashes due to missing case in switch. 45bf2f2 doc: Add debug compilation instructions. 2f1fafe doc: skeleton KERNEL documentation. 629f7b1 kernel/zuikkis: remove unneeded comments and change defines. 4de2785 misc: add ozbenh and gdevenyi to AUTHORS.md. 4ac17b0 misc: Add Zuikkis and Alex Karimov to authors. 8bb66ad Merge remote-tracking branch 'origin/kernels' into kernels 5f326d6 kernel: allow choosing Alexey Karimov's kernels. 9545c14 Merge pull request #25 from gdevenyi/kernels 81337e0 kernel: vanilla Alexey Karimov kernels (alexkarnew and alexkarold). a6ccc05 Replace multiply by 2 (i*2) with left shift. This should be slightly faster. Can't use OpenCL rotate becase of bit carry overs f796aa5 kernel/misc: change ckolivas.cl encoding to UTF-8. 7950c10 kernel: integrate Zuikkis' kernel, selectable with `--kernel=zuikkis`. afdc8b5 kernel: zuikkis' vanilla kernel added. 9d1db95 misc: move scrypt130511.cl kernel file to kernel/ckolivas.cl 875db70 adl: unambiguosly check if FanSpeedInfo specifies support for either mechanism to set FanSpeed. 74fb5ab adl: Set iSpeedType to RPM for get-fanspeed requests 99fa25c core: don't use magic numbers to set xintensity. 463668b core: initial implementation of user-settable xintensity. Has a bug. 9d0b7f9 core: Accidentally left a part of a previously non-merged commit (thread display). 1049af3 misc: Add Luke-jr back to AUTHORS.md and reorder a bit. 3faf4dd Use lround instead of llround, since it has better compatibility with older MingW and Cygwin versions 7aeae40 EXPERIMENTAL: A new way of setting intensity; introducing xintensity! All of this is credited to ArGee of RGMiner, he did the initial ground work for this setting. d7e469b Stratum servers can now be named. The names will be used throughout the display in the program, when not set "Pool 1" will simply be used instead. The names are not exposed through API yet, it's on my TODO list. 2f0fac6 core: Allow setting kernel. b16a05a core: lower maximum intensity to 31. 39b9945 Changed API reporting of MH/s for added precision. bc1ce69 doc: minor FAQ update. f16f1b1 Merge pull request #13 from Drogean/patch-1 b1de4c8 Added SGMINER specific steps 3845e89 doc: wrong link in ADL_SDK readme.txt. 693a567 Merge pull request #3 from jbruggeman/master 4b7cf40 doc: update faq to remove non-scrypt (irrelevent) information 9b37a01 doc: update windows doc to reflect changes in configure.ac 3af2534 doc: missing 'make' in README + file name misspelled. 3bf3df0 (tag: 4.0.0) Bump version to 4.0.0. cbad2d6 doc: clarify what doc/GPU is. 1192008 ui: Don't pad most displayed strings with spaces. e46581d Remove --vectors (current kernel only supports 1 vector). e6b5fb7 core: remove deprecated --scrypt option. 50066cf misc: Replace all remaining instances of 'cgminer' with 'sgminer'. 6ea3b93 core: fix build error due to CGMINER_PREFIX reference. 9d16ff9 doc: reference veox/sgminer in ChangeLog. 683abd0 build: fix warning + other small fixes. 5b97712 misc: Replace many (but not all) instances of 'cgminer' with 'sgminer'. 909af92 Merge pull request #2 from veox/forward-port 65518d3 api.c no decref if not json 350fe7f Minimise risk of nonce2 overflow with small nonce2 lengths by always encoding the work little endian, and increasing the maximum size of nonce2 to 8 bytes. 9628207 Provide a helper function that can reset cgsems to zero. 1559450 Add to cgminer_CPPFLAGS instead of redefining them. 747d870 build: remove reference to a linux-usb-miner d26fb09 Replace deprecated use of INCLUDES with _CPPFLAGS. 1ca4198 Quieten down jansson component of build. 0a187bd Fixed one byte stack overflow in mcast recvfrom. 65d9136 Fix json parsing in api.c 79521fe Initialise devices before attempting to connect to pools to allow their thread prepare function to be called before having to connect to pools. 7d2cee3 Drop json stratum auth failed message log level to verbose. 39b7bc2 Silence irrelevant warning. 05d69bf Provide a function to discard queued work based on age. (NOTE: may be unused) ebeb710 Decrement json references in api.c to not leak memory. c8b97fb line 2913 added urlencode 93782c3 Update api example compilation instructions. 7dd8b31 Prevent a deadlock with use of restart_threads by spawning a thread to send the driver flush work messages. 3912118 Set priority of various threads if possible. e9f20f5 Do not hold the mining thread lock in restart_threads when calling the driver flush work commands. b5eddd1 Don't run device restart code if the device is not enabled. 9ed6c3b Provide a function for setting the work ntime. 89000ff api.c trylock() add missing locklock d976abe api.c: Release apisock on error in api() 7383e19 api.c: Release io_data->ptr when releasing io_data in io_free() f1902fe We can't connect to a GBT pool at all with fix protocol enabled. cb806d2 core: Display difficulty in cgminer style, not true network difficulty (for consistency within the interface). 08727c1 Update authors. 4c99829 Merge pull request #1 from veox/forward-port 8fa5ddf util.c: Decreasing reference count on allocated JSON obects to prevent memory leak cd7f6ed Initialise the stgd lock mutex earlier to prevent dereferences when pool testing occurs before it. 694a98e --shares should be scaled to diff1 not absolute number of shares cd03fcd Reset the work_restart bool after the scanwork loop in case the driver flushes work synchronously. 75c5ac0 Only check for the stratum clean message if we have had a valid message. d38802a Get rid of the stage thread since all work can be asynchronously added now via hash_push anyway. c9bf06d Break out of the hash work loops when a failure is detected instead of dropping into mt disable. d9b3037 Fix build for no libcurl be02704 doc: update README, rename CONFIGURATION back to SCRYPT. e4680ab core: allow changing TCP keepalive packet idle time using `tcp-keepalive` command-line option or config-file option. bb5065b core: Remove two unused functions. 211da58 Remove a few stray ASIC defines. d6f5f01 doc: move to separate directory. 21289de misc: Remove LICENSE (use COPYING). 83e52df api: remove references to FPGAs and ASICs. 71927bb misc: Add Martin Danielsen to AUTHORS. b11ca36 Remove remaining references to have_opencl. 744e819 Remove last references to opt_nogpu. 2799c23 Added BIOS information to --ndevs|-n listing. e3d2579 doc: If ADL SDK is used, then version 5 or 6 is required. 45b1219 misc: Change encoding of adl_functions.c to UTF-8. 783cd01 Preparation for ADL Overdrive 6 support There's no functionality implemented yet, nor has the existing functionality been changed. 11c20c8 core: Warn if GPU_MAX_ALLOC_PERCENT or GPU_USE_SYNC_OBJECTS is not set 31123de -g or --gpu-threads now support comma separated values, yaaay! It is exactly what it says, now you can finally put that Frankenrig configuration in one file. The parameter follows the same design as gpu-engine and gpu-memclock. b4e36e6 Code cleanup after last two commits. d53b329 core: Revert printing threads for every GPU, this setting is not modifiable at run-time. 89663c7 Display reject percentage instead of absolute accepted/rejected values 3ade514 log: Do not pad log string with a space. f6f9502 log: Change log_dateformat to log_show_date and make it bool. ba1c477 log: Added a switch to the log date and time format. fd8d465 core: Timeout on switching back to a pool after a broken connection lowered from 5 minutes to one minute. 5f8e69f doc: Fix build instructions. 02c7b9d misc: AUTHORS cleanup. 1cb2207 core: Clarify --scrypt deprecation message. 8cc7ba7 misc: Add Benjamin to AUTHORS. 9b8a731 core: Add back a dummy --scrypt option 4256bd1 adl: Properly restore default perf levels f44d2fc adl: Fix query of default fan speed 199cb10 HAVE_OPENCL is mandatory, remove checks form code an build system. 75e0cfc Update AUTHORS (add Noel Maersk aka veox). dcd417a Update README with minimal instructions on how to build with ADL SDK. e1413db README stray semicolon. a5ba238 README whitespace. 82298d6 README update. dcb0111 Add all sources unconditionally in Makefile.am. edf6779 Minor README improvements. 16730ed Reinstitute MAX_INTENSITY=42, but this time with a note in SCRYPT-README. 4bc93fb Remove mentiones of unused options. 4532cb5 Minor SCRYPT-README imrovements. d062a60 Revert MAX_INTENSITY increase. 533f16a Increase MAX_INTENSITY to 42. ebecc79 Remove unused HashFast header files. fd57382 Remove USE_USBUTILS define clauses. 664fc33 Remove code for Bitcoin GPU kernel execution. ec1796e Remove scrypt selection form configure.ac altogether. 59c46ff Don't track *.lo 323af83 Remove define-clauses for USE_SCRYPT. aa06d39 Don't report that scrypt is enabled in configure output. 95586f7 Squash-merge branch dead-end with unnecessary check removals. 9f64ee9 Remove USB, FPGA and ASIC files. bb29c29 Update README warning. 37cd3fb Get rid of several opt_scrypt checks. 593080d Update READMEs. d0070c0 HARD RESET to: Remove Bitcoin detection code. 8ea32a0 Don't run configure automatically. 829f068 Bump version to 3.7.2 5d7c99f Revert "Return ETIMEDOUT regardless if we fail in cgsem_mswait since we may be waiting on it on shutdown and the return response is harmless." 0485208 Bump version to 3.7.1 528eadb Update NEWS 3dcae53 Return ETIMEDOUT regardless if we fail in cgsem_mswait since we may be waiting on it on shutdown and the return response is harmless. 82a97a0 Avalon doesn't like losing its device data even after it's been unplugged. 31bbaa1 Don't free the cgpu data on shutting down avalon driver. ce19604 Clean up completely on avalon shutdown. a4c96d7 Use cgsem timed waits in avalon driver to not miss any queued wake ups to account for async messages coming during a flush work. 7011a7a Statline before is too long on icarus that doesn't have monitoring. b1be5c6 Different windows+usb combinations respond with varying levels of reliability wrt timeouts so use a nominal extra 40ms before cancelling transfers that fail to time out on their own. 21f1895 Revert "Use no cancel transfer functions on windows in callback_wait" 757fcb3 Do all hotplug_process under the write mining_thr_lock 2489b2a Fix for opt_worktime on big endian machines. 463e366 Correct set_blockdiff for big endian machines. 043e9d9 Make sure cgpu exists in the restart threads loop in cases of hotplug etc. 6bc691a Treat usb write timeout errors as unrecoverable. 42b3cf1 Transfer errors are filtered out in usbutils now so no need to look for them in NODEV checks. 2e11a50 Remove now unused entries from struct cg_usb_device e692cd0 Do not double up with checking for end of timeout measurements in usb read/write. 8f6acad Use no cancel transfer functions on windows in callback_wait c030439 Do get_work in fill_queue without holding other locks. 4a620cc Initialise usb after all the locks and conditionals are initialised. aa99389 Use only a trylock in flush queue to prevent deadlocks. f4cf093 Add a wr_trylock wrapper for pthread rw lock write trylock. 251e1a9 Give AMU a much longer timeout on windows than other icarus devices. 609ca92 Scale diff for scrypt when testing for block solves. c5b10a6 Fix for non curses build. e503fad Bump version to 3.7.0 87f1a3f README updates. e6e39ab Update NEWS 8b38d7f Use WRITEIOERR macro check for all usb writes. 38164d6 Merge branch 'icarushit' 8fb7a0d Always use a usb read buffer instead of having to explicitly enable it. e3ed101 Force unlocking of the console lock on restart to avoid corrupting the console state when we finally quit. 6c2a8d8 Force unlocking of the console lock on restart to avoid corrupting the console state when we finally quit. c9b54f1 Never wait indefinitely for a pthread conditional in the hash_pop loop in case the work scheduler misses the last wakeup. a077c9f Make hash_pop signal the work scheduler each time it waits on the conditional that it should look for more work. 3f9ccc1 Never wait indefinitely for a pthread conditional in the hash_pop loop in case the work scheduler misses the last wakeup. 31df767 Make hash_pop signal the work scheduler each time it waits on the conditional that it should look for more work. 310aa75 Discriminate between libusb transfer errors and regular libusb errors and make sure to capture them all. d1683fe Always read a full sized transfer for bulk reads. fc80e2f Deprecate preferred packet size functions in usbutils since they're unhelpful. ea12210 Why are we reading extra again in usb read when buffering is enabled? Don't do that. 38d9c24 Copy known transferred amount back to buffer for usb reads instead of requested length. b5dfb8f Ignore preferred packet size. 0cceacc Treat timeout errors on usb writes as IO errors. dfba30b Ignore iManufacturer from bitfury devices to support bluefury as well as redfury. 9579782 Add more debugging info for when usb details don't match. 73f6a57 Look for timeout overruns in usb read/write. ccb7423 Use an int for usb_read/write to identify overruns. 1f22746 Use the callback timeout as a safety mechanism only on windows. 4c0b643 Instead of using complicated sleeps to emulate characters per second on usb writes, submit only as many characters as can be transferred per usb poll of 1ms, and use timeouts in bulk transfers, cancelling transfers only as a failsafe. efc605f Ignore iManufacturer from bitfury devices to support bluefury as well as redfury. ef0b7d3 Add more debugging info for when usb details don't match. 8194067 Remove discarded work from quota used. c385437 Display works completed in summary and API data. 8e1ec8b Store how many work items are worked on per pool. ab1e940 Make each pool store its on reference for what the most current block is and fine tune management of block change in shared pool failover strategies using the information. 448b1fa Rationalise use of current_hash to a single hex string the length of the previous block and display only the first non zero hex chars of the block in the status window. b764862 Update uthash to latest. e6a5068 show_hash doesn't know the size of the string so hard code the max size. 57d6a6f Remove as many initial zeroes as exist on share display, abstracting out a hash show function to use across different submission mechanisms. 6e63eeb Add missing endian swap functions for 64bits. 876a830 Sanity check for absurd target setting and divide by zero. 21bdcdd Abstract out conversion of a 256 bit endian number to a double, correcting errors and use it for determining any magnitude share diff. 759bd39 Avoid the extra generation of a byte flipped hash2 in struct work and directly use the LE work hash. e95b42e Add a sanity check to avoid divide by zero crashes in set_target 8abe9d4 Calculate diff from target accurately for all 256 bits. 8d61ee2 Set a true 256bit binary target based on any diff value in set_target() 6129739 Provide a copy_work_noffset function for copying a work struct but changing its ntime. e18ae1e Make calls to flush queue and flush work asynchronous wrt to the main work loops. 39c8491 Share is also above target for submit noffset nonce. 8ed9363 Use round for displaying current pool diff. eb73897 Use round for stratum share diff display instead of floor. 7e59ec4 Use round instead of floor for displayed pool difficulty. ac5b12e Allow arbitrary diffs to be tested against nonces via a test_nonce_diff function. 99b24c4 Abstract out the rebuilding of hash2 in work. 5da3d58 Share is above, not below target, when it doesn't meet it. 25d4f16 Add the ability to add uint8 and uint16 entities to api data. eaaf34a Use a non blocking connect with a 1 second select timeout when initiating stratum to allow us to iterate over all IPs returned by getaddrinfo in round robin DNS pools. 774061e Minor style changes to output. c4542f2 Merge branch 'master' into hfa b431ea4 Merge branch 'master' into kncminer 178c9a0 Revert two different hash_sequence(_head)'s to one variable, use HF_SEQUENCE_DISTANCE in both places fdcac44 Remove duplicate HF_SEQUENCE_DISTANCE() macro, and duplicate hash_sequence from info structure d6e9a5a Change SEQUENCE_DISTANCE() macro to HF_SEQUENCE_DISTANCE() 065054f Structure changes for OP_NONCE, add big endian header f562174 klondike - initialise stat_lock 75230ed klondike - better to unlock locks than to lock them twice :) 5c9f303 Merge branch 'master' into hashfast b542f52 Add copyright notice to knc driver. 6e3bee0 Trivial style changes to knc driver. f75fdbb Improve performance of work generation by optimizing hex2bin and bin2hex 3e93b26 klondike - change options to clock and temptarget only 5ce372e klondike - fix another uninit dev warning b4eb870 klondike - downgrade 'late update' but add an idle detect - and correct error levels 4153d90 klondike - fix isc uninit warning d3f3388 Merge branch 'master' into kncminer e684358 Use a mutex to protect data in the knc structure, to prevent loading more work during a flush, and unlock and return to main between calls to get_queued_work. ac7dc46 Use the existing device_data for knc state data. 1388b84 Revert "Process multiple responses in the knc driver." 32ec362 Only count successful nonces as hashrate in the knc driver. 76af3bf Process multiple responses in the knc driver. 5467dfe Fix trivial warnings in knc driver. 6bcd60a Add KNC to api 3b04a30 Merge branch 'master' into kncminer 2bfd8e2 Merge pull request #513 from kanoi/master 037f430 klondike - drop the device for hotplug if it's unresponsive 5bd1b56 usbutils - usb_nodev() allow a driver to drop a device 50c8377 klondike - single 'shutdown' and ensure it happens a39a38e Merge pull request #512 from kanoi/master 0e4997a klondike remove SCNu8 - unsupported on windows a821df6 Correctly calculate sleep_estimate in usbutils that may have been preventing usecps from working. b424612 Use a sanity check on timeout on windows. 6d4a03a Better HW error count; disable permanently those cores which fail often 53570ae KnC driver: knc-spi-fpga ASIC driver dee0192 Improve performance of work generation by optimizing hex2bin and bin2hex 4bc955c Fixup jansson & libusb include paths when using separate build directory 14d2083 'llround' is more suitable here than 'roundl' 1e51336 Silence warning if MAX/MIN is already defined 1ceeb3b Remove prebuild ccan/opt dependencies 36c6da8 Reinstate block solve testing. 3f6b9d6 Dramatically simplify the calculation of blockdiff. ca91994 Simplify the set_target function, allowing it to work properly for fractional diffs. 4940b71 Merge branch 'master' into hashfast 1e35965 Bump version to 3.6.6 e8abedb Update NEWS. 691a681 Remove inappropriate extra locking in _usb_transfer_read 2d67bb0 Merge branch 'master' into hashfast 47554f8 Bump version to 3.6.5 5b1d46e Update README for build options. 1da5592 Update NEWS f9d3d00 Merge pull request #509 from roybadami/master a95dfb1 klondike - fix uninitialised dev bug e1b4aa9 Merge branch 'master' into hashfast 3ffc3f1 Adjust the binary ntime data in submit_noffset_nonce even when there is no hex ntime string for eg. gbt. f29f612 Merge branch 'master' into hashfast 316e6d6 Put an entry into the work struct telling drivers how much they can roll the ntime themselves. 0657b64 Only set libusb cancellable status if the transfer succeeds. 4728dd8 Remove the applog on miner threads dying to prevent deadlocks on exit. 4c979d7 Do one extra guaranteed libusb event handling before testing if there are any pending async usb transfers. 0da551f Use a linked list for all usb transfers instead of just cancellable ones. d342bcb Provide a mechanism for informing drivers of updated work templates for stratum and gbt mining. 8795fbc Remove modified Bitburner avalon defaults - I was mistaken about maximum stack size 7b5884c Add cancellable transfers correctly to the ct_list e22035f Check for presence of thr in icarus get nonce for startup nonce testing to work. f8fdff4 Use cancellable usb transfers in the icarus driver to avoid having to loop and poll when waiting for a response and to speed up work restart response time. 2b99893 Add a usb_read_ii_timeout_cancellable wrapper 9d8e3df Add usb transfer cancellation on shutdown and documentation regarding where cancellable transfers are suitable. eb5b611 Use cancellable transfers on bitfury device. d2feacd Cancel cancellable usb transfers on work restart messages. 5166083 Don't bother having a separate cancellable transfer struct for usb transfers, simply include the list in the usb_transfer struct. c96f096 Add wrappers for usb_read_cancellable and usb_read_timeout_cancellable c2c6987 Specifically set the cancellable state for it to not be uninitialised in the usb transfer struct. b52bb5c Alter the usb cancellable list only under cgusb_fd_lock write lock. 19ec360 Pass the cancellable option to _usb_read options to decide on whether to add usb transfers to the list of cancellable transfers. 2b075cc Create a linked list of potentially cancellable usb transfers. b639e68 Merge branch 'master' into hashfast 448f8dd Don't attempt to disable curses or print a summary during an app restart to prevent deadlocks. 251b71b Merge branch 'master' of github.com:ckolivas/cgminer 81dfe60 Keep the libusb event handle polling thread active until there are no async usb transfers in progress. 824aa5c Keep a global counter of how many async usb transfers are in place. 856471e Perform libusb_submit_transfer under the write variant of cgusb_fd_lock 3c2647d Merge pull request #511 from kanoi/master 8437805 klondike - error condition handling 5ea6a8e Merge branch 'master' into hashfast 4f7b6fe Avoid entering static libusb directory if --with-system-libusb is enabled. e764213 Minor opencl build corrections. ed16f32 Enable dynamic linking against system libusb --with-system-libusb 9fa8e92 Modify Makefile to only include opencl related code when configured in. 05478b5 Convert opencl to need to be explicitly enabled during build with --enable-opencl d2719e3 Implement a cglock_destroy function. de4ad51 Implement a rwlock_destroy function. 6bd5139 Implement a mutex_destroy function. fc6472f Minor buildfix for other platforms. 669bcac Merge branch 'master' into hashfast 269a145 Add usb command name to critical libusb error reporting. ce61b9b Merge branch 'master' of github.com:ckolivas/cgminer 8dcbc86 Use windows' own higher resolution time and handlers allowing us to have higher precision absolute timeouts. 563cad1 Fix lldiv error in windows cgminer_t calculation. 9932c95 miner.php correct sort gen field names largest to smallest d9449b2 api ... the code related to device elapsed 939b8d0 Merge branch 'master' into hashfast cac7cdb api add device elapsed since hotplug devices Elapsed is less than cgminer Elapsed 5ee279c Add atmel init sequence likely to be required on hashfast for windows to work. 75726f6 Implement max temp and volt monitoring on statline for hashfast driver. f5679aa Check for nodev on hashfast driver and disable it if it has disappeared. 1eb1806 Limit the number of work items we queue at any one time in the hashfast driver and do not keep updating the job count during the scanwork() loop to prevent indefinitely changing our tail. ad8e0f1 Free hashfast structures allocated on driver shutdown. 44cc52c Drop usb buffering message to debug logging level. 6493b97 Drop usb buffering message to debug logging level. cbb72aa Drop sending op_usb_init message level in hashfast driver to verbose logging. 2a92d2a Make the cmd stored in hfa_cmd structure a uint8_t to match opcodes. a999611 Op work restart needs a usb command macro offset for hashfast driver. 1bafafb Enable USB buffers for hashfast on initialise and clear buffers where appropriate. 17baf45 Send correct command with hfa_send_frame in hashfast driver. eb1f54f Add die temperatures and voltages to hashfast api output. 5acaf1f Add die statistics to hashfast api output. 9645c1a Add asic and core counts to hashfast api data. 1124853 Add hf_long_usb_stats1 to hashfast api data. 063b2db Add hf_usb_init_base info to hashfast api output. 273b04b Do the ntime binary modification to the work struct when submitting an ntime offset nonce within submit_noffset_nonce 572c8b9 Do the ntime binary modification to the work struct when submitting an ntime offset nonce within submit_noffset_nonce a9835b0 Implement a shutdown routine for the hashfast driver. 71c6206 Remove unused statistics from hashfast driver struct and don't pack hashfast info structs since there is no need for them to match the device ones identically. 6b2a39d Add op stats1 processing for the hashfast driver. 92a5a2d Implement update_die_statistics for hashfast driver. 5d61677 Code cleanup and improved documentation 51548c6 Move to consistent function names hfa_ for hashfast driver. 8218ba2 Implement OP_NONCE processing in hashfast driver read thread. c69a130 Improvements to support for BitBurner boards 0ae3e1e Implement update_die_status message parsing for hashfast. f340c52 Implement reading of a whole hashfast packet from the read thread and parsing it, implementing parsing of gwq status. 12be011 Updates to hf_protocol header 31e8eba Merge branch 'master' into hashfast eed0afc Convert libusb transfer errors to regular libusb error messages to allow for accurate message reporting. 43699c7 Bump version to 3.6.4 d58f2f0 Update NEWS. d77f367 Fixing the memory leak for remaining semaphores means we can go back to using async transfers on other OSes with our own timeout management again. 06776af Use the forcelog function on shutdown to cope with indeterminate console lock states due to killing of threads. 8e9f32a Add a forcelog variant of applog which invalidates any console lock to force output. 3956382 Send pthread_cancel to failed completion_timeout that has timed out. f5baf9f Merge branch 'master' into hashfast 680f014 Simplify queued hashtable by storing unqueued work separately in a single pointer. dfa849a bflsc use getinfo chip parallelization if it is present 4aa84ab bflsc - fix brackets so [Chips] isn't always null 7838af1 Remove unused variables. 40821d1 Use cgcompletion timeouts for the unreliable shutdown functions on kill_work. 0430165 Fix cgcompletion return code and free on successful completion. f826e35 Provide a cg_completion_timeout helper function for unreliable functions that takes arbitrary functions and parameters and reliably returns. b1fc68b Merge pull request #508 from kanoi/master 789d448 Perform sync transfers on shutdown to allow final transfers to complete. 011f2d3 Merge branch 'master' of github.com:ckolivas/cgminer ad8d949 Destroy cgsems used after transfers to not leave open files on osx. 03d9f56 klondike rewrite work control c9adb19 allow __work_complete() access 3fc7ff4 miner.h allow devices to tv_stamp work 06ed3e3 Bump version to 3.6.3 4b44396 Update NEWS c04f3bf Merge branch 'master' into mergelibusb 514b3c4 API add 'MHS %ds' to 'summary' d3d3fc1 Optional lock tracking and stats via the API 685c2ac Speed up polling repeat again in usb poll thread and handle async after the message to disable polling is complete. 920c0bd Merge pull request #507 from kanoi/master 55e233d API add 'MHS %ds' to 'summary' 103bc0b Revert to using timeouts on !linux since libusb leaks memory without them. bf810a1 Merge pull request #506 from kanoi/master c2073f0 Optional lock tracking and stats via the API 74a4ccb Bump version to 3.6.2 eac5d49 Update NEWS. 65b130c Remove unused components of jansson 4ed54d8 Remove unused parts of libusb 539f2c3 Work around older libtoolize that fails without top ltmain.sh not being present during autogen 40034ba Add m4 directory to jansson ec4dfc5 Fix open coded use of autoreconf in autogen 77cffa2 Update jansson to only build parts we require and suited to our build environment. d529a3f Initial import of jansson-2.5 955e971 Prevent further USB transfers from occurring once the shutdown signal has been sent to prevent transfers getting stuck and libusb failing to shut down. bec75b6 Make the USB polling thread poll every second to potentially aid longer timeout transfers. f821d0f Set device_diff on work in get_work to not be missed with drivers that use get_work directly. 330e642 Convert icarus driver to hash_driver_work model. addb848 bflsc - also allow ' 0' in DEVICES IN CHAIN 8455cc3 bflsc - allow a 0 in DEVICES IN CHAIN c70cea2 Bump version to 3.6.2 a461a91 Update NEWS. 7a32a7b Remove unused components of jansson b84166e Remove unused parts of libusb 84382e1 Work around older libtoolize that fails without top ltmain.sh not being present during autogen 8f3a055 Add m4 directory to jansson 53bcd25 Fix open coded use of autoreconf in autogen 3488cc9 Update jansson to only build parts we require and suited to our build environment. 591aa98 Initial import of jansson-2.5 3c9d61e Merge branch 'master' into libusbx 4e5946d Prevent further USB transfers from occurring once the shutdown signal has been sent to prevent transfers getting stuck and libusb failing to shut down. b683145 Make the USB polling thread poll every second to potentially aid longer timeout transfers. bc0bb82 klondike - adjust work matching and cleanup ecacb24 miner.h allow devices to tv_stamp work c52973a klondike - ensure all memcpy use the size of the target 8dbe1a6 Merge to master fe5da96 Set device_diff on work in get_work to not be missed with drivers that use get_work directly. 58c5ebb Convert icarus driver to hash_driver_work model. 2bbe492 Merge with master dd1f67f bflsc - also allow ' 0' in DEVICES IN CHAIN 1f166d9 bflsc - allow a 0 in DEVICES IN CHAIN ab5b222 Bump version to 3.6.1 7e43f51 Update NEWS for 3.6.1 7c6bd4a Emulate the libusb_control_transfer sync setup in our async variant. e6280c8 Add the libusb control setup size offset for control writes. 91d1d10 Merge branch 'master' of github.com:ckolivas/cgminer 8fdaeb0 Differentiate send from receive in control transfers! bae0815 Merge pull request #505 from kanoi/master 108e737 usbutils - make all libusb_error_name messages the same a089cac Bump version to 3.6.0 1016616 Further update NEWS 9e287f9 Merge pull request #499 from someone42/master f706fef Merge branch 'master' of github.com:ckolivas/cgminer 4b66519 Update NEWS. fb32e31 Merge pull request #504 from kanoi/master 38f10c0 Rename hfa_read thread on it starting. 53b33c8 Limit max diff internally used by hashfast driver to 256 to still get some nonces back to check for errors if mining at very high diff. 3dda8a2 Cosmetic changes to hashfast output. fe945e1 Implement primary scanwork loop submitting work and returning hashrate for hashfast. 8b24b3d Send a work restart frame when the restart message is received in hashfast scanwork. 222af65 Remove hashfast write thread for all writes can be done from scanwork without added complexity. e9b67b5 Pass the thr argument to the read and write threads for hashfast to have access to its data. 5cbe4be Incorporate hf protocol header changes. e06e495 Merge branch 'master' into hashfast 1452cbf klondike - can only calculate the nonce difference on or after the 2nd nonce c3b0566 Merge branch 'master' into libusbx 5c7b9f7 Merge pull request #503 from kanoi/master 0783707 hexstr is too small in test_work_current 166200c Windows uses errno for WSAETIMEDOUT 02a4f8d Convert the usb callback function to using cgsem_t timed waits to avoid race conditions with conditionals/mutexes. c9c39ac Give correct return code in cgsem_mswait 1d9f90b Revert "Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals." 433465b Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals. 6e948d8 Check for correct timeout error in cgsem_mswait 51f8107 Fix util.h exports for cgsem_mswait c75ce85 Implement a generic cgsem_mswait similar to sem_timedwait 634151f Merge branch 'master' into hashfast 9ca22ed Use the one LIBUSB_ERROR_TIMEOUT for cancelled transactions since this error is explicitly tested for in various drivers. a7580f1 Do not use locking on usb callback function pthread signalling to prevent deadlock with libusb's own event lock. 8d1604a Do not use locking on usb callback function pthread signalling to prevent deadlock with libusb's own event lock. d2d7a74 Merge branch 'master' into hashfast 280dc4b Lock mutex before second pthread_cond_wait in usbutils to prevent a race. 3c7af2e Join threads to close hashfast driver. 598b58c Create basic read and write threads that will be used by hashfast driver. 93d1f93 Perform remainder of hashfast_detect_common setup. cbfa78e Device data will not be allocated in hashfast_detect_one_usb so no point freeing it. 49befae Get remaining data from reset sequence on hashfast driver. 922b4d8 Store the device data returned from hashfast header returned in reset 775f204 Check return code from hashfast_get_header in reset and fail when appropriate. d7a907f Timeout should not be a fatal error in hashfast_get_header 58dd80e Implement a hashfast get_header function which reads till it finds a header preamble or times out. 4b9eb37 Implement hashfast send header function and add relevant usb op codes to arrays, beginning reset sequence on hashfast detection. e7a9aef Add hf_protocol.h to cgminer sources. 176cae2 Add basic definitions for hashfast device recognition. df6873e Remove old initialisation code from hashfast, use hf protocol library where possible and prepare for new driver model. f1941db Minor style changes. 4664350 Include hf protocol header. 6e2d12e Remove now unused crc32 code from hashfast driver. 9b5c534 Merge branch 'master' into hashfast 9d29e09 Merge branch 'master' into libusbx 84de52c Use a write lock when performing any USB control transfers to prevent concurrent transfers. c069028 Free a libusb transfer after we have finished using it to avoid a dereference in usb_control_transfer 578fabe Do not perform bfi int patching for opencl1.2 or later. 84f642f Although async transfers are meant to use heap memory, we never return before the transfer function has completed so stack memory will suffice for control transfers, fixing a memory leak in the process. 16bd0a0 klondike - correct/reverse min/max stats da7223f api incorrect message name f1d77f1 klondike - use a link list queue rather than a circular buffer - and add timing stats 56edabc Use a timeout with usb handle events set to a nominal 200ms and wait for the polling thread to shut down before deinitialising libusb. 9f8023a Use stack memory for hex used in stratum share submissions. e0c9035 Use stack memory in test_work_current, avoiding a malloc/free cycle each time. d3c215f Provide a lower level __bin2hex function that does not allocate memory itself. 835ad82 Convert the bitfury driver to use the hash_driver_work version of hash_work. 58008a3 Add a hash_driver_work function to allow for drivers that wish to do their own work queueing and management. e8b51b2 Merge branch 'master' into libusbx 3b2630c Merge branch 'master' of github.com:ckolivas/cgminer 2ca8d85 Convert all usb control transfers to asynchronous communication with our own timeout management as well. 159673c Merge pull request #502 from kanoi/master 595dcdf Klondike - increase circular read buffer size 8e82da4 Klondike - extra zero value and range checking in temp conversion 44f96c6 klondike - display MHz also 64f5cac Merge branch 'master' into libusbx b537976 Make pthread conditional timeouts handle all bulk usb transfer timeouts performing libusb_cancel_transfer, disabling timeouts within libusb itself. 5af1cfe increasing max miners for avalon driver (properly this time) b509e84 using separate identifier for bitburner fury boards 521e746 changes to bitburner driver for bitburner fury boards cda797d Avoid calling get_statline_before on exit to avoid trying to use it on drivers in an indeterminate state. d437de8 Avoid calling get_statline on exit. 03ad59f Add a small amount to the usb timeout before cancelling to allow for a regular usb polling interval to pass. 08d8612 Do not attempt to clear a usb halt before sending the cancel message since all transfers should normally be cancelled before attempting to clear a halt condition, and only change the return message to a timeout if it's consistent with a cancellation. 6d18ce4 Retry up to USB_RETRY_MAX times to clear a halt condition before failing. 3a7a677 Show the error number as well as the description in erroring bulk transfers. 7fbe999 Drop logging level for failed to connect to stratum to verbose mode only since we hit it regularly. a139196 Update NEWS. b5dface We are always dependent on libusb handling events so use the blocking libusb_handle_events in the polling thread and use a bool to know if we should continue polling. 853aa28 Merge branch 'master' into async b30ae4a Use fractional hashrate return values in bitfury_scanhash to minimise the number of times we return 0 based on hashrate so far to further damp out displayed hashrate. 32bc746 Check for presence of driver name in DRIVER_COUNT_FOUND to prevent strcmp on a null pointer when a driver is not built in. a715d27 Merge pull request #501 from kanoi/cmr d97c3a4 API-README update pgaset, pgaidentify and ascset docs 39ac69c CMR allow sending flash and clock commands 2834eb8 Kill off threads that have failed using hash_sole_work instead of just disabling them. bdbe9dd Make the bf1 getinfo size a macro e05bfdd Failing to add_cgpu in bitfury should be a terminal failure. 078f7f4 Check return values when attempting to open a BF1 device and set the msg size as a macro. a5ed177 Revert "Further smooth out avalon hashrate by limiting the maximum number of nonces counted each cycle to 1 per miner, saving them for later cycles." 7be5999 Further smooth out avalon hashrate by limiting the maximum number of nonces counted each cycle to 1 per miner, saving them for later cycles. dc9c378 Display errors on failed usb read and write and consider sequential IO errors a permanent failure. a22f5bf Use libusb's own error name function instead of hand coding the error names. 936fca4 Limit ms_tdiff to 1 hour as a sanity check. 39ec951 Enable the usb buffer in avalon driver. efd8c44 Check for async transfer variants of error messages. 2806f49 Revert "Check for the async variants of the libusb errors and retry up to retry max when trying to clear a pipe error/stall." d34279b Remove unused variables. f80c900 Merge branch 'master' into async f8e28f2 Try switching pools if for some reason we end up with only idle pools and have ended up current_pool set to an idle one. 3b527f1 Check a pool is stable for >5 mins before switching back to it. ef8efd6 Minimise the time between dropping the read devlock and grabbing the write devlock to avoid tons of logging spam in the interim. 97b5dd0 Limit ms_tdiff to 1 hour as a sanity check. 6c757c6 Check for async transfer variants of error messages. 85e0b3a Check for the async variants of the libusb errors and retry up to retry max when trying to clear a pipe error/stall. a79768b Use libusb's own error name function instead of hand coding the error names. 74775e4 Check for libusb transfer stall error to be consistent with async IO errors returned for a halt condition. 38ae709 Check for continuous IO errors on USB and consider the device inactive if more than retry max. 7318ece Make the devlock a cglock in usbutils and only grab the write lock for fundamental changes allowing us to send and receive transfers concurrently without lock contention. d5e9e08 Prevent overflows in us_tdiff and ms_tdiff. 8037eb1 Change second initialise message on bitfury verbose mode. 8c0ea19 Submitting an ntime offset nonce needs to be done on a copy of the work instead of the original so abstract out shared components as much as possible, minimising strdups in copy_work and make submit_work_async work take copied work, cleaning up code in the process. b6a97de Provide a way for drivers to submit work that it has internally rolled the ntime value by returning the amount it has ntime rolled to be added. fb79b37 Typo in configure.ac 6cd7f0f Remove unmaintained broken ztex driver. 680a1ae Icarus - use a data structure for I/O rather than magic numbers 2b6d1a3 delete old tracked ccan/opt/*.o files 9eb7810 klondike correct cvtKlnToC() temperature calculation d5b3f55 klondike - correct 1st reply debug based on define 0d9f338 klondike - debug dump structured replies 11a3641 klondike - avoid division by zero if maxcount is unexpectedly zero b5ea2bf klondike store and report errorcount and noise 2e606d8 klondike - fix chipstats api stats buffer overrun with 16 chips d7db1e8 klondike add new nonecount only once 577f1a2 klondike - report mh/s based on nonces found + put old estimate into API stats ef54de1 klondike use a memcpy e8d49bc klondike fix bracket tabs indenting e11b6d7 api.c missing Klondike from ASIC list 51418f7 Klondike update code to current git 26ee9ab Add Klondike to README b79f444 Add Klondike to ASIC-README 56b461c Add 2nd CMR to 01-cgminer.rules 2a9527f Add Klondike to 01-cgminer.rules 7b6a97f Klondike to main directory 2f00a90 Klondike consistent code spacing 5e3404b Klondike update driver code to current git 087159a update firmware for 16 chips, add dist files 1dc8ea7 beta final 0.3.0 release 1a755a5 updated firmware, IOC method 2fb4b62 prevent nonces when not state W 9bc1c8b added driver config option support 5ae1502 fixes for 300 MHz, fix K1 parts list 72a5872 update driver, docs cc1e9fb update firmware & utils 6176c52 updated cgminer driver for 3.3.1 8ddd6b2 update firmware and driver, create new cgminer fork 88dc03d update klondike driver 46520a9 add cgminer driver file as-is 998182f Add API output displaying USB cancellations. 585d4af Store statistics on how often we have to cancel async bulk transfers and add a debug message whenever we do. 1d1efbe Treat any unexpected timeouts waiting for async transfers as though there may be a usb halt condition and attempt to clear the halt before cancelling the tranfer. a798e14 Remove zero packet flag on usb as it's unsupported outside linux and unnecessary. 3750956 Fake the libusb transfer timed out message if we force cancel it with our own async functions. a6a9407 Use asynchronous transfers for all bulk transfers, allowing us to use our own timers and cancelling transfers that take too long. 9917658 Add libusb error warning message when significant error occurs. 5eb1934 Limit ms_tdiff to 1 hour as a sanity check. a47e4a4 Check for async transfer variants of error messages. 0840627 Revert "Check for the async variants of the libusb errors and retry up to retry max when trying to clear a pipe error/stall." 50d1d36 Check for either async or sync libusb error message for timeout. c7d5256 Check for the async variants of the libusb errors and retry up to retry max when trying to clear a pipe error/stall. aa75d84 Use libusb's own error name function instead of hand coding the error names. f931392 Check for libusb transfer stall error to be consistent with async IO errors returned for a halt condition. 0b56bec Check for continuous IO errors on USB and consider the device inactive if more than retry max. 023ca6a Remove devlock lock contention statistics since transfers are all done under read lock now. 59ff31d Make the devlock a cglock in usbutils and only grab the write lock for fundamental changes allowing us to send and receive transfers concurrently without lock contention. 7da454c Merge branch 'master' into libusbx 2d1ba75 Prevent overflows in us_tdiff and ms_tdiff. 3b26659 Merge branch 'master' into libusbx 03e8051 Change second initialise message on bitfury verbose mode. dbef95f Submitting an ntime offset nonce needs to be done on a copy of the work instead of the original so abstract out shared components as much as possible, minimising strdups in copy_work and make submit_work_async work take copied work, cleaning up code in the process. 4c79252 Provide a way for drivers to submit work that it has internally rolled the ntime value by returning the amount it has ntime rolled to be added. b5c49ae Typo in configure.ac 052e434 Remove unmaintained broken ztex driver. 5c51780 Icarus CMR2 detect FPGA setup d303352 Icarus - use a data structure for I/O rather than magic numbers 14d2349 delete old tracked ccan/opt/*.o files 2843670 Merge pull request #500 from kanoi/klondike 2270a93 klondike correct cvtKlnToC() temperature calculation f300171 klondike - correct 1st reply debug based on define 3b9e39f klondike - debug dump structured replies 5154e84 klondike - avoid division by zero if maxcount is unexpectedly zero 2dc5436 klondike store and report errorcount and noise 0fd939e klondike - fix chipstats api stats buffer overrun with 16 chips 9b1ac17 klondike add new nonecount only once d7ce449 klondike - report mh/s based on nonces found + put old estimate into API stats 7cbe0db klondike use a memcpy 9b6ae5b klondike fix bracket tabs indenting 521ee0a api.c missing Klondike from ASIC list dc85abd Klondike update code to current git a1d8477 Add Klondike to README f61140e Add Klondike to ASIC-README 778c6da Add 2nd CMR to 01-cgminer.rules 45c8b58 Add Klondike to 01-cgminer.rules 86045d8 Klondike to main directory 9621f01 Klondike consistent code spacing 4d2fa5b Klondike update driver code to current git e4638aa update firmware for 16 chips, add dist files eeaaabb beta final 0.3.0 release 3d6cd8e updated firmware, IOC method 63d8dbd prevent nonces when not state W fe8bb05 added driver config option support 6b705d4 fixes for 300 MHz, fix K1 parts list 9c522a0 update driver, docs 95d102e update firmware & utils 3cbb281 updated cgminer driver for 3.3.1 158f327 update firmware and driver, create new cgminer fork 2b3abd1 update klondike driver 581271b add cgminer driver file as-is e40b1c1 Add API output displaying USB cancellations. bfdf3af Store statistics on how often we have to cancel async bulk transfers and add a debug message whenever we do. 603bba6 Treat any unexpected timeouts waiting for async transfers as though there may be a usb halt condition and attempt to clear the halt before cancelling the tranfer. be9a4cf Merge branch 'master' of github.com:ckolivas/cgminer 3eece61 Get statistics on how long usb reads and writes wait on the devlock. 064c0dd Display stats regarding locking delays in API. c5d61b4 Remove zero packet flag on usb as it's unsupported outside linux and unnecessary. 382433e Fake the libusb transfer timed out message if we force cancel it with our own async functions. 69c01a1 Use asynchronous transfers for all bulk transfers, allowing us to use our own timers and cancelling transfers that take too long. 04e5805 Add needed EXTRA_DIST for libusbx. 6470924 Update libusbx configure.ac changes. 6cbd291 Revert libusb Makefile changes from going to libusbx. 5b27981 Display stats regarding locking delays in API. b3ceb7e Get statistics on how long usb reads and writes wait on the devlock. d2f99cb Add libusb error warning message when significant error occurs. fb955af Fix trivial libusbx warnings. 677e981 Convert libusb-1.0.16-rc10 to libusbx-1.0.17 87ddfcc Disable bitfury device thread on it disappearing. 21bbe20 Remove now unnecessary forward declaration of hashfast_drv f49a3c7 Merge branch 'master' into hashfast d1c9583 Bump version to 3.5.0 03dd347 Update NEWS. d120b9c Merge branch 'redfury' 0a55998 Add magic init sequence required on BF1 devices to get them mining on windows. 5f10ac8 Merge branch 'master' of github.com:ckolivas/cgminer 14887ba usbinfo.devlock is only ever write locked so convert it to a mutex ff90e6a usbinfo.devlock is only ever write locked so convert it to a mutex c7fb4aa Icarus remove unneeded opt_debug tests due to applog being a macro ef62b28 Icarus - CMR shouldn't wait the full timeout due to handle sharing 01e3c87 We should only yield once in cg_wunlock 5683a11 Provide a function to downgrade a cglock from a write lock to an intermediate variant. 5e1ebd5 Deuglify use of _PARSE_COMMANDS macro expansions. 303a763 Deuglify use of usb parse commands macro in usbutils. 3dd798e Merge branch 'master' of github.com:ckolivas/cgminer 55f29b8 Use the driver add commands macros in api.c to avoid individually listing them. 1ef38f8 Separate out asic fpga and opencl drivers in the driver parse commands macro for use individually as needed. 8b341cc Use macro expansion in usb_find_devices to avoid explicitly listing them all. 0952a88 Use macro expansion to iterate over all the drivers without explicitly writing them out in usbutils.c e279bc1 Iterate over the bitfury offsets in order of decreasing likelihood. 39c2e66 Reattach the kernel driver on linux on usb_uninit. 3ef9fa3 Attach the kernel driver on failure to usb init on linux. 00aa8b4 libusb kernel driver operations are only available on linux. 2ec601e There is no need to get the external prototypes for drivers in cgminer.c any more. f3294f7 Remove unnecessary gpu_threads initialisation. fbf46c4 Put avalon last in the sequence of adding drivers to prevent it trying to claim similar chip devices on startup. 6d74712 Use macro expansion to iterate over all device drivers without needing to explicitly code in support in all places. Pass a hotplug bool to the detect() function to prevent opencl trying to hogplug GPUs. 741b743 Forward declare all device drivers in miner.h avoiding the need to export them everywhere else. df54b76 Add a noop function for driver detect when it's missing. 372c409 Reuse the DRIVER_ macros to avoid having yet another definition for DRV_ 2903028 Use macro expansion to generate extern device_drv prototypes. 8875197 Create a macro list of drivers to enable easier addition of further drivers. c50b13a Merge branch 'master' of github.com:ckolivas/cgminer into redfury 7179705 There is no point setting the BF1 preferred packet size to the maximum since it will do so automatically. f947674 icarus ensure all cmr interfaces are initialised properly 9b9dde1 usbutils - fix USBDEBUG warnings 8d13370 Remove unnecessary steps in communicating with BF1 and just use USB interface 1. 61c2ac5 usbutils - usb_bulk_transfer fix the buf/data fix 2ba7fbe Merge branch 'master' of github.com:ckolivas/cgminer into redfury ffea432 usb_bulk_transfer - use the allocated buffer 2fc5c1d Set preferred packet sizes per interface on BF1. 621114c Merge branch 'master' of github.com:ckolivas/cgminer into redfury d3a3b3a usbutils allow PrefPacketSize per endpoint ce16bd2 Remove magic control sequences on open/close on BF1 and just flush the read buffers. b994a4c Check return codes in getinfo and reset and fail as needed in BF1. 703724a Check return code for bitfury_open and release resources properly on failed initialisation. 59b33c1 Abstract out flushing of interrupt reads in BF1 devices. 8e4909f Merge branch 'master' of github.com:ckolivas/cgminer into redfury 93d4c09 Perform interrupt read after close message on BF1 as per serial close. 1f74b2c Perform interrupt read flush as per serial open on BF1 devices. 7deaa91 Add information for 2nd USB interface on BF1 devices and choose interface 1 for bulk transfers. d8518f4 usbutils - bulk transfer copy test fix 8d6126a Merge branch 'master' of github.com:ckolivas/cgminer into redfury a62267f usbutils - add USBDEBUG for usb_bulk_transfer 1a02028 Add more read_ii variants to usbutils. 4f6c7ee Name remainder of BFU usb commands used. a39a9c2 Merge branch 'master' into redfury 8fbd8a4 Merge pull request #498 from kanoi/master 7ae8ee8 Merge commit 'b606a60349fe2f1c1c56a1fec833ec849b798676' into redfury b606a60 Use submit_tested_work in bitfury driver to avoid unnecessarily re-testing the work for validity. 7696f26 Abstract out work submission once it's been tested, to be used by drivers that do their own internal validity testing. 76e688a Store the hash2 array in struct work for further reuse. b932fc0 usbutils - which_intinfo not requried 39c52b1 Use the test_nonce function within submit_nonce and store the uint32 corresponding to hash2 37 for further use. 36d8653 usbutils - interfaces must all be on one handle - ep implies the interface c4b685c avalon stats use exact type c1aba05 Only set share diff if we've confirmed it's a share first. 3139a6c Update ASIC-README for bitfury devices. fafd863 Use an array of offsets when checking nonces in bitfury_checkresults 44b9cf5 Limit the duration we wait for reads in BF1 based on time already elapsed to account for other delays such as work restart messages or out of work. 9dcd4e7 Minimise size of serial string we copy in BF1 stats to avoid overflow. ce285ba Implement basic API stats for BF1 and increase array of results to check for the rare straggling result. 75333c5 Space debug output for bf1 to separate from numerals. 1b40d90 Abstract out the bitfury open close and reset functions and use them on reinit. 435065c Rename BF1 devices BF1 f97e1ad Check for work restart, breaking out early after usb reads in BF1. ff4c477 Do not lose the first sets of results from BF1. 72c7798 There is no point checking for results from the next round of work on BF1. 8c0ab5f Last result returned by BF1 is an end of results marker so ignore it. 9040cac restart_wait should return 0 if thr_restart is true. 7a9669e Remove unused code by bitfury driver since current driver uses serialised scanhash. 5a8ac9f Meter out return of estimated hashes in BF1 to smooth out visible hashrate. 4507a38 Optimise inner scanhash loop for bf1. c65fd77 Add yet another backup work for triple buffering of work in bf1 to account for extra late results returned and don't check nonce offsets which appear to never return. 55c6e55 Name the work request and result usb commands for BF1 edcea78 Define a mandatory upper limit to waiting for reset and data on BF1 based on full nonce duration. d6949f3 Decrease usb buffering to verbose logging. 759e82b Add in first draft for a serialised work model sending/receiving data for BF1 devices. f6e475d Add complete close sequence to bf1 as it happens on serial. 4fb802f Provide a bitfury identify function for bf1. 977a7b7 Reliably extract BF1 information at startup and reset the device. 54ac355 Add commands for getting BF1 bitfury info 9a3684b Add magic BF1 bitfury open and close control sequences. 2ab023f Add BF1 detection code to bitfury driver. 68a7e21 Create basic placeholders for bitfury driver code. 99c8389 Add bf1 device information to usbutils to enable device detection. 8862cf9 Add basic defines for building for bitfury devices. a8f0418 Add redfury device to udev rules. d5f61e9 Merge pull request #496 from xiangfu/master 088a340 avalon: display the FPGA controller version on API b1a3b01 pool_active uninitialised_var rolltime 293622c Merge branch 'master' into hashfast 48f5ff3 Use macro expansion to only need to define usb enums and commands in one place. cccee5d Fix util.h build from hashfast include. 118f903 Merge branch 'master' into hashfast 0e8028f usbutils saving incorrect overflow buffer 68c6a12 ignore libusb.la and *.lo on linux 9ccb3a8 Merge pull request #492 from kanoi/master d17f0e7 icarus support CMR with no extensions 95eb948 usbtils - interfaces dont work yet in libusb windows so disable for that only a6f8949 Merge pull request #494 from xiangfu/master 466d3be Provide a --disable-libcurl config option to build support for stratum mining only. 824fd8f Fix the api-example.c compile under Linux c2ef8ca Enable usb buffering on hashfast during init. 489722a Provide basic infrastructure for sending an arbitrary frame on hashfast. 62f6fef Create a struct array of hashfast commands and their associated usb command names. 1910e37 usbutils - only release the device once - for the first intinfo 0f0b0f8 usbutils set_interface is no longer valid 166147a ubsutils interfaces much each have their own handle 45c8d60 Add crc initialisation tables and helper functions for hashfast driver. 456431d Add hashfast to api calls. d866973 Add templates for USB commands likely to be used by hashfast driver. b224ad3 Provide initial set up code and structure initialisation for hashfast device detection. 3777ed2 Add hashfast detection driver calls to cgminer startup. 78932aa Provide basic structure for a hashfast driver. ece6295 Add basic structures to hashfast header. f317e82 Create basic skeleton and copyright notices for hashfast driver. cdaaff1 Provide stubs for compiling hashfast code into makefiles. 2f72efb Add configuration option for hashfast devices, tidying up configure.ac slightly. 00c2c33 usbutils kernel_detach should use the interface number 24858de usbutils - allow the driver to change which_intinfo 48681dd Reset quotas on load balance for all pools at the same time to avoid running out during selection and unintentionally dropping to fallback. 972d04d Break out of select pool from a common point for appropriate debug messages and to avoid further tests. cc5c998 usbutils correct/reverse CMR product numbers 67b9ee4 usbutils specifically track handles and interfaces a9faec4 change drivers to use usb_interface() - required for multi interface change 0848371 usbutils - allow a device to use multiple interfaces (and better var names) 566a80f Cast -1 to (char) to cope with different default char types on ARM. 891c279 Bump version number to 3.4.3, updating news. 203028b Put corefoundation and iokit separate in ldflags for darwin. 1672238 Add rules for libusb Makefile.am building on osx fb2cf63 Add flags for building libusb statically on osx. 27cd9a0 Minor typo. a76b09e Find the greatest common denominator in quotas and use the smallest number of consecutive work items per pool in quota load balance mode to smooth hashrate across pools with large quotas. Give excess quota to priority pool 0 instead of pool 0. 8ac4fa2 Merge branch 'master' into quota d4ac191 Avoid dynamically adding stack memory for nonce2 in the stratum send thread and check the pool's nonce2_len will not cause an overflow. f9fe6ac Merge branch 'master' into quota f0328f8 Add subdir-objects to automake options. 3b302cb Merge branch 'master' into quota f319d3b Use inet_addr instead of inet_network to fix windows build. d66eb9e Update NEWS. 9cde575 Merge branch 'master' into quota 7570d88 Remove unused pbase variable. 89c07fa Add support for socks4/4a proxies with stratum, and drop back to socks4 support via the global --socks-proxy command to not break previous configurations. f652b1e Fix warning on mingw build. 9f87d2a Remove now redundant FAQ regarding proxies. a41660f Only show long-poll message in pool summary if it's not using stratum. 5b378f4 Increase the time for the waiting for work message to be given to be greater than that required for a pool swap in the scheduler which is set to 5s. 812f754 Change message in status when using a balanced pool strategy to notify if there's a stratum pool as well. e65df99 Fix warning on mingw build. 26a8a8e Use the --failover-only flag to have special meaning in combination with load-balance mode to distribute any unused quota back to pool 0 to maintain ratios amongst other pools. ea1a1b1 Remove now redundant FAQ regarding proxies. c325e7a Only show long-poll message in pool summary if it's not using stratum. 7d2c31e Display quota and allow it to be modified via the pool menu. e40f7af More README about quotas. e490b0c Document quotas and new load-balance strategy. d0a70eb Add API commands and modify output to support pool quota displaying and changing. e8a1c9e Increase the time for the waiting for work message to be given to be greater than that required for a pool swap in the scheduler which is set to 5s. ea4a1ff Change message in status when using a balanced pool strategy to notify if there's a stratum pool as well. 77b3b18 Add quota support to configuration files. ea7b2a7 Rotate pools on all failures to set a pool in select_pool. 7c19984 Use quotas for load-balance pool strategy. 0121b75 Provide a mechanism for setting a pool quota to be used by load-balance. 770556c Use the --socks-proxy option with stratum, changing it to defaulting to socks5 and give appropriate message should it fail to connect. ddbd3ab Cope with trailing slashes in stratum urls. 41badea README update for stratum+proxy d018911 Merge branch 'proxy' 55249db Add more debugging messages when negotiating with proxies for stratum. a589de5 Test specifically for socks5h in socks support for stratum. 4306aa7 Merge branches 'master' and 'master' of github.com:ckolivas/cgminer d7003ec Add support for socks5 proxy with stratum 1701980 Provide support for negotiating a stratum connection via http proxies. 8fa0155 Connect to the proxy URL and port if specified for stratum sockets instead of the pool directly. b783d94 Extract any proxy url and port to be used by sockaddr if possible using extract_sockaddr. 8ede407 Make extract_sockaddr set variables passed to it rather than pool struct members. 9282054 Merge pull request #466 from mibe/master 52496f9 Merge pull request #490 from kanoi/master 4e2d0ab miner.php sort the mcast rigs so they are always in the same relative order e2829f0 miner.php allow sending the muticast message multiple times bb0a200 miner.php mcast ignore duplicate replies c060ea5 Bump version to 3.4.2 06885f7 Update NEWS. b445f9c Merge branch 'master' of github.com:ckolivas/cgminer 5bf9856 take_queued_work_bymidstate should use a write lock. 7fa661a Merge pull request #489 from kanoi/master 956d734 miner.php coding warning 9f27831 miner.php disable 'gen' by default 4185b7d miner.php allow formula generation of new fields b90e059 Merge pull request #488 from kanoi/master 6d70eff miner.php add doctype 70c0c33 miner.php remove incorrect echo 7391935 miner.php optional error if not enough mcast rigs are found 4b3fe8f Update NEWS. 51b0701 Merge branch 'master' of github.com:ckolivas/cgminer 330675e Merge branch 'mcast' 76185ed API mcast add a description option with miner.php a7f64b8 Bump version number to 3.4.1 4eb6609 Further update NEWS. b1823f2 Always use a maxpacketsize buffer in usb_bulk_transfer 85008b8 Merge branch 'master' of github.com:ckolivas/cgminer 5520206 bflsc ensure getinfo cannot overflow it's storage buffer 83b5f62 Don't decref json values in stratum parsing due to memory corruption. fb00f24 Use 64 bytes for all libusb control transfers. 1d5d28d Skip dissecting opt->names in parse_config if it doesn't exist. 22ca87d Merge branch 'master' of github.com:ckolivas/cgminer 33ae5ab Use an internal buffer in _usb_transfer_read in case the read is larger than the buffer passed to it. 10a1de9 Merge pull request #487 from kanoi/master a6e44cb ICA optional limit timing with short=N or long=N 69a2078 Revert to old custom tolines function since strtok_r is not portable. d7adf84 Merge pull request #486 from kanoi/master 42bb607 bflsc remove unused commented out code 3aefcce logging - code mistake 0d4edbe logging - applogsiz() for large messages bec40c5 Provide base structures for getaddrinfo. 4a502e1 Update readme 1c66459 Include string.h in bflsc driver. 4c451ad Get rid of linear removal of spaces in bflsc text parsing and use strstr throughout instead. a503ba8 Use reentrant strtok in tolines() function in bflsc to avoid racing on contextless calls. 8d99a44 Show how small a too small result in bflsc is. 83a8c13 Duplicate the buffer in process_results in bflsc since strtok modifies it making debugging output limited to one line. 1403f4d Only process nonces in bflsc is the breakdown function succeeds. 34d977c Revert "Ignore inprocess message when retrieved out of sync in bflsc while processing nonces." 791a8f6 Ignore inprocess message when retrieved out of sync in bflsc while processing nonces. 2853a5d Temporarily revert inprocess parsing in bflsc pending fixes. 3f8d56b Decrease bflsc queue lines min to match removal of inprocess message. 8aa50e1 Ignore zero count messages in bflsc instead of trying to parse them. 2061e97 Return ok in tolines when it doesn't match inprocess message for bflsc. 0f712d5 Remove inprocess line instead of deleting all following responses in bflsc. 9a86702 Ignore responses from bflsc as INPROCESS cb914ab Change ok testing logic in breakdown() in bflsc and return if not ok at any stage. 6ff7893 Check the return value of tolines in bflsc driver. b0fe14d Use strtok to parse lines in bflsc driver. 7bb0713 Add libusb-1.0 m4 directory and gitignore file. ef6925a Properly convert from ranlib to lt_init in configure.ac 748eda1 Make autoconf always build for libusb. a99f15b More autoconf buggery. 67aab60 Update readme reflecting statically included jansson and libusb 7f653ba Unconditionally build jansson statically from the cgminer source tree. e50f5c8 Only test for all usb devices once in configure.ac ec4821c Fix various libusb warnings and possible bugs on linux build. 358afc8 Add make clean and maintainer-clean to autogen 9a5b630 Remove examples from libusb Makefile and generated autoconf files. 4c9d9fd Fix libusb subdirectory builds. 99dc528 Remove cached files from libusb autoconf on running autogen.sh 0f42fd3 Remove unused HAVE_LISBUSB macro and use USE_USBUTILS everywhere. 1936d38 Use direct auto* files to avoid failure of autoreconf af9a877 Remove unused and maintainer cleaned files 5ab389c Show RT_LIBS in ./configure output. 6df0648 First import of libusb-1.0 711cc5b Merge branch 'master' of github.com:ckolivas/cgminer 54e8e7c Merge pull request #485 from kanoi/master 6055a37 bflsc xlinkstr use snprintf c9c61e7 Fix win32 build. e17a945 Use take_queued_work_bymidstate in the bflsc driver to avoid the rare chance repeated results come back from the same work item. 572df10 Provide a funcion that looks up queued work by midstate and then removes it from the device hash database. dd64f73 Fix no -rt library on darwin. 647dc35 Update included jansson to v2.4 036c7b7 Fix OSX build. 4340500 Merge branch 'master' of github.com:ckolivas/cgminer 79ca14f Provide an osx fix for cgtimers and a fallback to timevals for all other platforms !linux !win32 !osx. f009347 Move two more timer functions out of define macros to enable them to be used by future osx code. ec881c4 cgtimer_sub is now the same since cgtimer_t should be the same on all platforms. 59a1ed6 miner.php fix missing global ab91708 Only count submitted nonces as diff1shares if they're valid. cfd8ed7 Substantially raise the maximum avalon frequency for water-cooled, over-volted designs. ad18b4d Merge pull request #484 from kanoi/master c0f4e47 Compile MCast.java with an old java 20f4356 API Multicast sample MCast.java+MCast.class 87e5c76 BTB show C/MHz/mV for device 5b338b2 api.c remove unused reply string bdac063 api.c fix mcast debug message bug af552d2 README add missing mcast s c9bf6ee Merge pull request #483 from kanoi/master 93d73a8 API-README break all lines at most 80 characters febcc53 Update the API Multicast documentation 3eea3a1 miner.php implement API Multicast handling to automatically find your local net miners 326f5ea Merge pull request #481 from kanoi/master 55e7f31 API mcast only reply to remote IP's that are allowed access 14ac6fa Initial API Multicast response v0.1 to find cgminer APIs e1433f8 Use timespecs on windows as cgtimer_t to capitalise on the higher resolution clock changes. d8e2a43 Abstract out the conversion of system time to an lldiv_t in decimicroseconds. acc1b7d Use our own gettimeofday implementation on windows for it to be consistent across ming builds and higher resolution. 70bc62c Bump version number to 3.4.0 fffdea0 Update NEWS. c56d44c Use stack data for HW error% in avalon stats. 8a01f53 Add avalon HW error% to stats and only show BTB variables if avalon is a BTB. b9aa5b6 Check for cnx_needed on each loop through wait_lp_current. 919a836 Return positive for cnx_needed when no_work is true. 7dbe4bb Stratum is used more often so test for it first. a52ec33 Reorder support names alphabetically. 77f9400 Only display the no pool work message once if there are multiple waiters in hash_pop 20de922 Provide a message and set a bool when no work is available from any pools and when it resumes again. 0e43084 We don't want to continue into the hash_pop function if the getq is frozen. cbea0a5 Only report threads in and out in queued work devices across a get work since the rest happens asynchronously and the get work is what the device might be waiting on. b12badc Thread reportin and out can be static non inline. 10545d3 Merge pull request #480 from kanoi/master 612c0b1 usbutils cps sleep_estimate is not an underestimate ff8c832 Merge pull request #479 from kanoi/master 01855a6 usbutils add cps stats estimates 903d007 Provide cgtimer_sub helper functions. 9dc63ce Provide cgtimer_to_ms helper functions. 7d0c9b5 Rename cgsleep_prepare_r as cgtimer_time to get time in cgtimer_t format and call cgsleep_prepare_r as a macro for cgtimer_time deb7be7 Use the reentrant cgsleep functions for usecps in usbutils. ee2a5ae TimeBeginPeriod and TimeEndPeriod do not add significant overhead when run the entire time for cgminer so avoid trying to maintain balanced numbers of them for specific time calls to simplify code. eeac9d8 Replace all references to the old n*sleep functions with the equivalent cgsleep_*s replacements. 7d448cd timeGetTime uses huge resources on windows so revert to using timevals for its implementation of cgtimer_t bedd8ee Revert "Sleep for half a work period only in bflsc_get_results if no dev is suitable." 0414bf0 Quotient/remainder error in ms division. fb66e8b Only grab a queued work item if we successfully grab the lock to submit work in bflsc_send_work 39f4cf0 Merge pull request #478 from kanoi/btb 96c0c31 BTB get version from Firmware a76bc0e Carve out the unused portions of sha2 implementation. 78d78b1 Import Aaron D. Gifford's fast sha256 implementation. 2a78cd3 Increase the que_low watermarks on BFLSC for they are too low to keep the device busy on scanwork loops. dddc2d1 Revert "Reuse times extracted from the clock in bflsc_get_results." 1d82353 Reuse times extracted from the clock in bflsc_get_results. b238139 Provide cgtimer_to_timeval helper functions. 09679e9 Provide a timeval_to_cgtime helper function to reuse values. 9743194 Sleep for half a work period only in bflsc_get_results if no dev is suitable. a61e41a Check for thr->work_restart in restart_wait. 89f571f We should be using que_low to decrease scan sleep time in bflsc. 09dbd61 Prepare sleep time on bflsc if no dev needs work yet to avoid busy waiting. 09e9091 Simplify cgsleep code for windows by using a typedef for cgtimer_t that resolves to clock resolution, using that internally. 404cbde On windows use the higher accuracy timegettime function to really get 1ms clock and timer accuracy. e56c9a5 Use the cgsleep reentrant function to sleep for bflsc between read results to account for time taken to perform reads. 3c70720 Use 100ms delay between checking for results on all bflsc devices as the buffering of results mean checking more frequently just wastes CPU and causes more lock contention for only marginally better latencies. ffa12a1 Fix missed endtimeperiod in overrun timer on windows. ad87db0 Make cgsleep_us_r take an int64_t for us. 703c730 Make the cgsleep functions build on windows. 17447ec Use the cgsleep reentrant function in avalon_send_task. c988587 Use the reentrant cgsleep functions within the avalon_send_tasks function. 8114473 Set high resolution timing on windows within the cgsleep functions. e784b23 Use the reentrant cgsleep function to time sleeps on reading from avalon. 621eb00 Provide reentrant versions of cgsleep functions to allow start time to be set separately from the beginning of the actual sleep, allowing scheduling delays to be counted in the sleep. 0b5edb2 Make the nmsleep and nusleep functions use the new cgsleep functions internally till functions are migrated to the new cgsleep API. 188210a Add a ms_to_timespec helper function, and create a cgsleep_ms function that uses absolute timers with clock_nanosleep to avoid overruns. f3b75b0 Add rt lib linkage to enable use of clock_nanosleep functions with older glibc. 37ff9f8 Add necessary time header include to avalon driver. 1864ed2 Do a sleep of the full duration it would take to do all the work using clock_nanosleep in avalon_send_tasks to avoid sleep overruns before polling to see if it's ready. fe7c8e8 Merge branch 'master' of github.com:ckolivas/cgminer 3da121b Merge pull request #477 from someone42/master 99cbf09 Add a timeraddspec helper function. 1bcd9a4 Provide a us_to_timespec helper function. 33bb8c7 Use the us_to_timeval helper function in the avalon driver. 2278204 Provide a us_to_timeval helper function. 53beae8 Use timeval_to_spec helper in avalon driver. a6b1c31 Add helper functions to convert timespec to timeval and vice versa. 26de6e6 simplifying buffer full check 0b9474f forking bitburner write thread function be0d899 making sure original Avalon is unaffected by BitBurner changes 2b932cc changes to queueing strategy for BitBurner boards 1bb6dd4 Merge branch 'master' of github.com:ckolivas/cgminer f3f939d Do not poll in avalon_get_results without sleeping if we have finished parsing a full result. f383791 Merge pull request #476 from kanoi/master 61cb05a Add c to ambient temperature display for avalon driver. 356fcb1 BTB allow up to 1400mV as per firmware limits 51aaf81 avalon for timeout allow d='calculate it' and fix uninitialised 3fe8948 Use cloned work when finding avalon results since another thread can discard the work item while it's in use. 98e338c Provide a variant of find_work_bymidstate that returns a clone of the found work. 853f145 Bump version number to 3.3.4 730d062 Update NEWS. c9f5823 Merge pull request #475 from kanoi/master 6b62c40 API/miner.php add some % fields e95ad04 Nonce2 stratum submission is not working with nonce2 lengths >4, revert the buggy __bin2hex function and use bin2hex. dd9233f The write thread in avalon is only ever actually woken up by timeout so remove the write semaphore and use a simple sleep poll. b2a3941 Fix warning. 992a97a Interrupting reads on the avalon to start writes loses data so remove the cgsem_post in the read code. 1d61459 Add room for the null byte at the end of the nonce2 string on stratum share submission and zero the allocated ram. 07adb98 Bump version to 3.3.3 8876fc3 Update NEWS for upcoming version 3.3.3 c8aac74 Only perform the bin2hex on nonce2 data if it's required for stratum submission, thereby removing the last conversion of that type from stratum work generation. 87ae66c Create a work data template when receiving stratum notification, allowing a simple memcpy of the merkle root avoiding more hex2bin conversions on each work generation. 34bc106 Export the workpadding char in miner.h 46b6b07 Avoid a potential overflow should a pool specify a large nonce2 length with stratum. 0379123 Avoid one more hex2bin in gen stratum work. 11bcf2b Rename work gbt_coinbase to coinbase to be in line with pool variable name. 5237bf3 Perform merkle bin hex2bin on stratum notify to avoid doing it on each work generation. 8bc469e Reuse just the one pool coinbase variable in stratum, avoiding more string functions and storage in gen_stratum_work on each work generation. 8c8ef6f Rename pool gbt_coinbase variable to coinbase to combine it with the stratum coinbase data. c542e47 Use a nonce2 offset variable for both gbt and stratum to consolidate requirements on work generation. c48e28a Merge pull request #474 from kanoi/master eca6ace util.c update quit call for new functions bab9ba9 use correct define for OSX in util.c 309cb22 miner.h inline semaphores increase information on failure bd3612c util.c expand quit to show file/func/line cf30053 Merge remote-tracking branch 'conman/master' fb94dfa Cache as much of the gbt coinbase as possible to avoid doing unnecessary hex2bin conversion on every work generation with gbt. a105218 We should be using a cg_wlock initially in generating stratum and gbt work before downgrading the lock. 9552f54 Add the ability to downgrade a write variant of the cglocks. 3e84a19 Fix --scrypt being required before scrypt intensities on command line or not working at all via config files. b423fe9 Cache the hex2bin of pool nonce1 in stratum, avoiding hex2bin on each work generation. fef649d Cache the binary generation of coinbase1 and 2 on stratum, avoiding a hex2bin of coinbase1 and 2 on each work generation. 48d91c7 cgsem - increase information on failure b1f5759 avalon init write_sem before use f7e6701 Fix uninit variable warnings. ac08ed1 usbutils - force check every combination 4e96936 Bump version to 3.3.2 580b77b Fix warning. a4fa905 README updates. d470828 Add libusb compile information to README d06b0d9 Update NEWS. 106e461 Recreate curses windows on windows when a device is hotplugged to allow window resizing without crashing. 9a21a47 Update copyright notice. 2b171f7 Limit intensity range according to whether scrypt is in use or not. cb6d62d Do not allow benchmark mode to be used with scrypt. d71e9f9 Add a --bflsc-overheat command which allows you to set the throttling temperature for BFLSC devices or disable it. 812852c Move bflsc defines to a header file. bfe0448 API-README add missing freq in version log 18b60c4 Merge pull request #472 from kanoi/master b1a80ce avalon allow frequency to be set via the API e4e2062 Merge pull request #471 from kanoi/master 1ae397f API-README correct max bitburner-voltage 802737e BTB voltage management via the API - and set default on startup ecc9457 Avalon BTB allow partial work to be transferred 6dabdff avalon_cts use correct buffer 4b5f56e Merge pull request #470 from kanoi/master f8a672f miner.php format Best Share 8dc0935 Merge pull request #467 from someone42/master fdac13c Update ASIC README. afe2851 Merge pull request #468 from lano1106/master c31ff57 remove unnecessary memcpy dc4ca0d using more concise description 782206c using usb_ident b8cdaea forgot a return b0f4d55 changes to Avalon driver for BitBurner boards bda1e33 ASIC-README refer AMU to FPGA-README 1c7ef61 Fixed typos dbac7f5 Revert "Sleep after sending icarus work to emulate working at 115200 baud." 1878029 Merge pull request #465 from kanoi/master 369a454 api correct timeout stat display 759ce6e usb timeouts - min/max also 2dffc96 log USB timeouts in API stats 52cda25 usbutils report failed timeouts 6600126 usbutils ensure stats macros are using the macro arguments eb9278c Check for negative wait time in socket_full. 837c731 Fix extra argument passed to statline before. f2ae7fa Adjust socket wait timeout in recv_line according to how long we've already waited to avoid a 60 second wait dropping to 1 second due to a blocked socket. fa92ff8 Merge pull request #464 from kanoi/master 4cb7cfb usbutils use a heap buffer for bulk read rather than stack 8b43e79 usbutils only one bulk transfer call per stat f3814b3 Merge pull request #463 from kanoi/master a8c974f set device_drv function noops when first add_cgpu 948f005 usbutils - in init only change the config if needed 3245ec7 Merge pull request #462 from kanoi/master 18e4edc bflsc nonce per work item stats 89d0062 bflsc increase flush count to handle parallel work a9e1098 force type checking on curses 5fb5dd0 logging - size check sprintf 51a928f usbutils - size check all sprintf 74d71cc cgminer - size check all sprintf ad1572f size check get_datestamp/get_timestamp and remove unused cgpu->init 385a70b make all statline overflow safe 805672f More GPU READMEs. fa41f31 Merge pull request #461 from kanoi/master df05174 WU only needs +2 width a011fe5 Check for a timeout in avalon_scanhash and post to the write sem if we receive one. 3b2f9cc Decay result count in avalon more slowly to not falsely detect idle periods as low result return rates. 4b4a135 Count the number of miners idled in avalon to account more accurately for when its result return rate is too low. e13c580 Fix potential dereference when starting avalon with all new work. 42d96ee Convert the decay_time function into one that truly creates an exponentially decaying average over opt_log_interval. 18422fb Only throttle avalon clockspeed in avalon_auto in non optimal temperature settings if the fanspeed has reached maximum. 3ef0db5 Reinstate more aggressive <2% HW error target for avalon-auto 2a1ff96 Add more information about avalon-fan and avalon-freq to ASIC-README 05344ef Set avalon fan min and fan max to PWM values instead of percentage. 065b6a5 Provide an --avalon-freq command line to give a valid range of frequencies for avalon in auto mode. 36b556a Set the avalon idle frequency to lowest if avalon auto is enabled and we have an overheat condition. ce214e1 Decrease avalon frequency in auto mode if we are unable to maintain the temperature in the optimal range. da680f5 Don't count invalid nonces as hashrate for bflsc. d7c99cd Use a more conservative upper limit of 1% for hardware errors with avalon auto frequency. f142a4d Allow the avalon fanspeed range to be passed as parameter on the command line, default to 20-100% 1b81ecf Just display A: and R: for difficulty accepted and rejected to preserve screen real estate and decrease decimal places for WU. 99b219f Merge pull request #460 from kanoi/master a94b7be correct device DR: and remove global U: 800dc24 Update all screen A/R to instead use DA/DR and device U to WU 21624df Merge pull request #459 from kanoi/master e76e5af miner.php add ASC fields a5437f1 Merge pull request #458 from kanoi/master 2d8cc36 GPU fan rpm display 9999 when it overflows 951ec31 Merge pull request #457 from kanoi/master 2beb30f bflsc get volts stats needs its own GETVOLTS 4e16560 Merge pull request #456 from kanoi/master 3454759 Support all avalon frequencies on the command line. 862c88e Move to slightly more relaxed timeouts for avalon. c8a647e MMQ turn on cps delays e8bbb49 bflsc x-link header different to documentation 18f9112 Reset the other auto counters in avalon when idling a device. 9ecef18 usbutils/icarus include more locking to usbdev access 5676758 Icarus turn on cps delays by default 1f4b99d usbutils cps correct time measurement 9f15a08 Bump version number to 3.3.1 12c1492 Update NEWS. e811c4d Add an avalon-auto option which enables dynamic overclocking based on hardware error rate for maximum effective hashrate. fc89f17 usbutils add delay API stats 527c6ee usbutils optional cps IO control - but not enabled 9b45dab Add an --avalon-cutoff feature which puts the avalon idle should it reach this temperature, defaulting to 60, re-enabling it when it gets to target temperature. 54ec397 FPGA-README update the doc message to match the changed code message 7806383 Update README with avalon temp default. ec4948d Change default avalon target temperature to 50 degrees. 713c880 Merge pull request #455 from kanoi/master 15dc64a usbutils - incorrect test for * in bus:dev 9dc2f3f Redo +1 fix in bflsc. c62e38c Bump version to 3.3.0 661a448 Fix build warning. 1f3c642 Change mode on python file. 06f0f41 Update NEWS. 1fca632 Add an --avalon-temp option to allow a user specified target temperature. 6bdfed3 Demote no matching work message to verbose logging only on avalon. 6cc09aa Make the fan control on the avalon a simple PID controller with a target temperature of 45. a7f9bf3 Merge pull request #454 from kanoi/master f591152 Demote bflsc hw error messages to verbose logging only. f2bbfee bflsc - handle xlink timeouts by having generic IO functions 2ab7dac Demote the invalid nonce warning to log info. 700f4b4 Ignore iManufacturer for BFLSC devices since the device name will still match and some unbinned chips are missing it. d741410 sc_count shouldn't be +1 in bflsc. 0cd2c5c Use the info timeout for read_nl in getidentify bflsc. 9246bbc Add a usb_read_nl_timeout macro. e993cf3 bflsc try getinfo twice 34bedf8 set MSG_ASCUSBNODEV always defined 4e155fd Hard code the preferred packet size for AMU, BLT and ICA. d83af28 Merge pull request #453 from kanoi/master a73ed96 API V1.26 update ASIC support cbf3a79 Icarus enable the read buffer for the detect nonce 37815e0 Merge branch 'master' of github.com:ckolivas/cgminer c64d95f Support new overclocking speeds for avalon: 325, 350 and 375 45fda13 undo icarus show errno, put it as debug in ubsutils 0df870b icarus add errno to rerr and werr 4aaeb51 Sleep after sending icarus work to emulate working at 115200 baud. df81ce6 Use the nusleep function for sleeping after sending work in avalon. 1b5ea44 Show an integer only for diff if it is one. a36e55b Set the avalon preferred packet size to 512. abdf751 Reinstate the maxPacketSize determined by the end descriptor but allow the driver to override it. 94e636a Only update hashmeter if we have done hashes or haven't updated longer than the log interval, fixing a us/ms error. 581afcf Use only one cgsem in avalon signalling when the write thread should commit work by reading the status bytes off during an avalon_read, minimising the number of usb calls and resetting from only one place. cf13d02 Change avalon no valid work message to no matching work to match API terminology. 7c683cf Use low latency usb transfers on the avalon, sleeping up to half a buffer's worth only if no data is returning to increase hashrate, abolish lost work and decrease CPU. e487d3d Minimise the sleep times in avalon read to avoid result loss. b810dea Revert "Sleep for less time in wait_avalon_ready till we have a better signalling system from read thread to write." 7e6cbf0 Use a half nonce range before cycling through avalon's scanwork to ensure it gets a chance to fill work if time is tight for the write thread to signal a wakeup. 98862b4 Sleep for less time in wait_avalon_ready till we have a better signalling system from read thread to write. f4508b6 Temporarily limit usb transfer sizes to 512 till we provide a way for each driver to choose the upper limit. f105d2e Merge pull request #451 from setkeh/setkeh 0bdabc1 Added Licence ccfa893 Increase watchdog sick time to longer than it takes for a pool to be detected dead. f4d7411 Limit USB transfers to the max size reported by the descriptors. a81749b Increase the BFLSC timeout to allow the maximum number of results to be returned for BAS in time. af0ae8a Decrease BAL and BAS latency to be just larger than one result read. e300e50 disable curses device resize that crashes on windows 045e105 BFLSC latest firmware has its own thermal cutoff set to 90, so use the same value in case we have an old firmware that isn't throttling by itself. 7b42b83 Drop watermark low limits for bflsc. e172c98 Set the fanspeed on bflsc to max if we don't know the temperature. 7be081d Use a low watermark for queueing mandatory work on bflsc instead of zero. 0b5eb43 Revert "Only wait in the bflsc scanwork loop if the queues are satisfactorily filled." a499699 Only wait in the bflsc scanwork loop if the queues are satisfactorily filled. fa881ba Only mandatorily grab the bflsc mutex on submitting work when the queue is empty. 0fbd375 Adjust bflsc v2 watermarks. 05adbbf Only increase sleep time on bflsc if the queue isn't emptying at all over the sleep duration. fe1a375 Fix warning. 0bfe172 Merge pull request #452 from kanoi/master a9fef66 bflsc yet more API stats 7113287 bflsc add some more API stats 3ac09fa bflsc correct firmware matching 84a5da0 bflsc correct comment 4384fe0 Fixed Commands with No params 8f18d4c bflsc driver support for v2 firmware 8dde833 Odd Issues eca6ca8 Fixed Python Example b566748 Added Python Api Example 314798f Added Python Api Example e0c4d35 Multiplier fail for microseconds vs milliseconds when updating hashmeter in hash_queued_work. e573e6a Merge branch 'master' of github.com:ckolivas/cgminer 6eb7f62 Only make threads report in/out across the actual driver code and update their status on reporting out as well as in. 2e1bbea Merge pull request #450 from kanoi/master 410fba7 usbutils initialise close key/sem c20d303 Merge pull request #449 from kanoi/master 87cdfae usbutils cleanup linux semaphores on release 7014bd6 Difficulty should be unconditionally byteswapped, not swapped to big endian. 9a9613b We should be setting cancelstate, not canceltype when disabling it for usb locking. 2eb6d35 Pthread cancel state should be set to disable on usb DEVLOCK. 6d8d44c Fanauto on bflsc is Z9X according to the source code, not 5 as per the draft protocol document. 767aadd Bump version to 3.2.2 235a116 More NEWS. 2ddcff2 Merge branch 'master' of github.com:ckolivas/cgminer 4613b3c Merge pull request #448 from kanoi/master 82d9f88 Update NEWS. 6560878 Suspend stratum connections when we know they've failed and don't try to recv data from them once the socket no longer exists. d2cb412 record and report USB pipe errors via API stats 362687f Pipe error is quite common on usb3 so drop logging to verbose level only. 383eeab ocl.c fix applog warnings on windows 4280537 Merge pull request #447 from kanoi/master b5bf34d applog/quit fix GPU errors created a5154ab usbutils - DEVLOCK other usbdev access 563feac Merge pull request #446 from kanoi/master 148e3d6 applog usb device list can be > LOGBUFSIZ 6ca0eaa fix windows log warnings e2b4d49 logging remove extra added 7eba963 remove varargs from logging/quit/in general as much as possible b8a203a Don't yield when downgrading a cg ilock. 736dfb4 Don't yield on grabbing the read lock variant of cglocks. 6789c96 Off by one error in device count for display. 994c024 Don't display devices beyond the most_devices count in the curses status. cd9ff7f Only display as many device rows as the maximum live existed at any time. 326116f Merge pull request #445 from kanoi/lock 7ad9132 usb lock out use cg locks ad30d41 usb lock out transfers during open/close 5597115 Add error message to libusb pipe error 29f5fc4 Differentiate libusb control transfer pipe errors from transfer errors since they're not fatal. c7360db Create a usb_bulk_transfer wrapper for libusb_bulk_transfer to cope with pipe errors. 42891f0 Merge pull request #444 from zenwheel/master 465ca14 Only show efficiency in pool information for pools that don't support local work generation. 9aeed2f Create a pool_localgen bool function for testing when a pool can generate work locally. c38a225 ignore file that is generated on Macs 16587dd compile unix code on Mac OS X fixes not finding the config file in $HOME 67f89ef Merge pull request #443 from kanoi/master 84ffcbc Use mining start time for device MH/U calculations bd6bc6b Decrease the sleep duration before reading in avalon to not let the read buffer overflow. 13a4aaa Failure to read and write on pseudo semaphores on apple happens routinely on shut down so should not be a quit error, just a warning. 827a6ab Unlock usb dev lock in the same place in usbutils. 9604cbe Sleep if the avalon buffer is empty and we've requested a read to allow the write thread to take precedence. 0aeb1b5 Yield after releasing a lock in case we are on a device with limited CPU resources. 261b129 Add the cgpu_info structure before avalon reset. 291df91 Tidy up DEVLOCK/UNLOCK to have consistent use of the pstate variable without needing brace level match. 3f105a2 Merge pull request #441 from kanoi/master 65e21f1 Icarus driver elaspsed timeout shouldn't be just USB I/O 9103414 usbutils avoid leaving devlock locked when thread cancelled 92fee70 MMQ fix nodev failure caused by changes 7d35c69 ubsutils lock all access to nodev and cgusb b8b137a USB make device_path handled by usbutils 749fa78 tidy up free in device detect functions 9287ee9 USB control creation and free of cgpu 75c5322 Add FAQ regarding Work Utility. 24d26d9 Throttling the BFLSC at 80 seems to prevent generating garbled responses of higher temps. 6fdc068 Revert "Give a generous timeout whenever we expect an OK message for working bflsc communications." 3d8cf60 Give a generous timeout whenever we expect an OK message for working bflsc communications. 9b00529 Return after failed bin2hex conversion in bflsc. 12a2cb0 Demote failed hex2bin result to LOG_INFO and check return result in driver-bflsc to avoid doing find_work_by_midstate. 4f36d38 Revert "Only return one nonce range per device per cycle through scanwork in bflsc to avoid batching of result count." 6d7f079 Set bflsc cutofftemp to 90 degrees. 4530a74 Only return one nonce range per device per cycle through scanwork in bflsc to avoid batching of result count. 9451c49 Nominally set bflsc cutofftemp to 85 degrees. 630e7d7 Set BFLSC fan speed coarsely to keep it under 60 or auto as per specs saying it tries to stay below 60. fd41eb4 Limit usbutils LATENCY_STD to 32ms to keep transfers under 512 bytes. 7f1ce19 Move macro definition to bflsc driver 641545a Use a longer timeout for retrieving bflsc details. 7fc9666 Add a usb_read_ok_timeout wrapper to cope with slow init'ing devices. 24398bd cgsem_post after creating the thread info 065d4aa Fix build. 9b2e517 Use cgsem structures instead of the flaky pings in the work queue to start mining threads and remove the unused thr_info_freeze function. 29b2d68 ASIC-README more zadig hints cb8345b FPGA-README more Zadig hints ed93e3b More news. 059aa5a Shorten the avalon statline to fit in the curses interface and show the lowest speed fan cooling the asic devices. 5a13ad4 Bump version to 3.2.1 75e707c Extra news. 9133c46 Set usbdev in usbutils after checking for nodev to avoid trying to access a dereferenced value. 6cc55a4 Update NEWS for upcoming 3.2.1 release. 8478ee4 AMU usbstatus correct name from enable UART baf50de Merge pull request #439 from kanoi/master a7425c6 Icarus AMU enable the UART 8ec78c2 Only libusb close if libusb release succeeds. e186c5c Revert "Protect all usb writes reads and unplugs with a mutex lock and check libusb release has succeeded before proceeding with a libusb close." beb5f88 Protect all usb writes reads and unplugs with a mutex lock and check libusb release has succeeded before proceeding with a libusb close. 104b14e Failed reads and writes on cgsem_post and cgsem_wait should be extremely rare. b59c338 Implement cgminer specific cgsem semaphores to imitate unnamed semaphore behaviour on osx which does not support them. 6258577 Set cgusb->buffer to NULL when doing usb_buffer_disable. 05123bf Temporarily fix apple not having semtimedop by ignoring the timeout value. 065c103 Merge pull request #438 from kanoi/master 1bec490 BFLSC enable buffered USB reading 161165d Icarus use buffered USB reading 7b3e921 Merge pull request #437 from kanoi/master 6aed9a5 bflsc & icarus use usb_ftdi_set_latency 58bb4d4 usb_ftdi_set_latency LOG_ERRs if called incorrectly f366d53 add usb_ftdi_set_latency c30af6d Merge pull request #436 from kanoi/master 4368a04 usbutils optional read buffering 98a9d76 Merge pull request #435 from kanoi/master 5e94a97 Set the avalon read transfer latency to avoid sleeping when no data is returned after very short latency settings. a16f51f correct bflsc BFLSC_BUFSIZ max calculation dd57887 Fix build for !curses 4d749ff restore max code - since timeout is unsigned cab2dd9 compile warning - remove unused max 1c64f3b usb set FTDI latency higher to minimise status bytes 8ecf929 Check for zero timeout on _usb_write. 2887147 Check for zero timeout in usb read. 27628cd Define a minimum polling time based on frequency of mandatory updates of ftdi responses at 40ms. 97a92b2 Sleep right up to the timeout instead of the first half if we find ourselves polling in _usb_read 3d631b7 Enforce half timeout sized sleeps in usb_read if we find the device is not respecting libusb timeouts to avoid polling frequently. 489a9fc Typo. f8883db Spelling typo. 2d8abb7 Add more ASIC documentation. 1070ec6 Update README 03305af Remove start device limitation on log window size to allow it to get larger with hotplugged devices. fc95c19 Switch logsize after hotplugging a device. cc9223f Change switch_compact function name to switch_logsize to be used for other changes. 514491b Only adjust cursor positions with curses locked. 12045aa devs display - fix GPU duplicate bug 5f2c4f1 Do not hotplug enable a device if devices have been specified and the hotplug device falls outside this range. 6e014b0 Merge branch 'master' of github.com:ckolivas/cgminer 727184d Change the --device parameter parsing and configuration to use ranges and comma separated values. e4ab2e0 Merge pull request #434 from kanoi/master fe802b6 basic copyright statement in API.java 9b756d7 devs display - show ZOMBIEs after all others bbdbf36 Modify scrypt kernel message. c7ffa58 Check for pool_disabled in wait_lp_current 8c13661 usbutils semun use proper def for linux which fixes OSX also 6fec07a Check for pool enabled in cnx_needed. 23d6857 Set 3.2.0 release date in news. 77d040c Icarus add delays during intialisation ca93191 Update documentation. eec1a86 Update copyrights of modified files. 36ba21e Add FAQ about windows USB keyboards and hotplug interactions. 181ada4 Merge branch 'usbdev' 2577992 Fix mingw build warnings in icarus driver. 56a20e0 Make usb_ftdi_cts use the _usb_transfer_read function. 2125bdd Update ASIC-README with avalon info regarding default behaviour. a60a1b0 Break out of idling loop in avalon_idle if the buffer is full. 8520f43 Merge branch 'usbdev' of github.com:ckolivas/cgminer into usbdev c0c5c06 Provide some defaults for avalon if none are specified and do not try to claim the device if it fails to reset with them and no options are specified. 74d7f55 usbutils automatically track IO errors 3f4b717 usbutils allow a short wait for resources to be released 5869539 correct semaphore timeout comment 94bbb1a Bump version to 3.2.0 signifying major update. 6fa32c9 Revert "Perform execv in a forked child process, waiting on the original to exit to allow resources to be released." 2b78182 Set the fanspeed to the nominal chosen for GPUs. 78d6bee Inverted sem_init logic. b0fa94d Perform execv in a forked child process, waiting on the original to exit to allow resources to be released. dd534a8 Document avalon options in ASIC-README f4a9a8e Do avalon driver detection last as it will try to claim any similar device and they are not reliably detected. 274bf69 Clamp initial GPU fanspeed to within user specified range. cc04d3a Use a counting semaphore to signal the usb resource thread that it has work to do. dfab6a9 Avalon fan factor is already multiplied into the info values. 06b9e0c Get rid of zeros which corrupt display. 2373638 Logic fail on minimum fanspeed reporting. 8bbb179 Provide a workaround for fan0 sensor not being used on avalon and pad fan RPM with zeros. 86b59c4 Add ambient temp and lowest fan RPM information to avalon statline. 6dcdd54 Display max temperature and fanspeed data for avalon. 185cac3 Set devices to disabled after they exit the hashing loops to prevent the watchdog thread from trying to act on them. 502c7bc Add avalon driver to hotplug. a10371b Shut down the avalon mining thread if the device disappears. 641883a Check for no usb device in usb_ftdi_cts f309380 Check for valid usbdev in _usb_read in case the device has been unplugged. 99b117b Scanhash functions perform driver shutdown so don't repeat it. ee2671a Change the opencl shutdown sequence. 5b9cf0f Send the shutdown message to threads and do the thread shutdown functions before more forcefully sending pthread_cancel to threads. 173119d Use the cgpu_info shutdown to determine when to stop the avalon read and write threads. 60bb463 Use semaphores to signal a reset to pause the read thread while the write thread does the actual reset, making all writes come from the same place. 2f4280b Remove now unneeded fgpautils.h include from avalon. fa059b3 usb_transfer_read should also not play with the endianness. 0177b41 Use the USB wrappers for avalon, telling usbutils that we want the raw data. d133742 Use separate ep for avalon tasks vs avalon reset and do not loop in write indefinitely. 876e7e5 Merge branch 'icarus-dev' into usbdev 772b354 Remove unneeded function and checks in avalon write code. 05cbbd9 CMR handle baud options 33e83eb work_restart is reset within the queued hash work loop. 5900c02 Fix avalon shutdown sequence. 6972ec6 Execute driver shutdown sequence during kill_work. 7c645ff Use nusleep in avalon_get_results in place of nmsleep. d52ab24 Provide an nusleep equivalent function to nmsleep. df8566a usb/ica add more (incomplete) CMR settings 7740ed8 Give a buffer of perceived results in avalon during idle periods to allow for results once it becomes active again. adb2ea6 libusb_control_transfer are meant to be endian specific, but host endianness so no conversion is needed. 6041be6 Reuse old MTX Handle 5b7e435 usbutils check all memory allocation 2f94ec8 usb separate thread for resource locking and modified windows locking code 64b6b7c Icarus report data direction with comms errors 7ef11e2 Set the read and write threads for avalon to not cancel within libusb functions and wait for the threads to pthread_join on shutdown. 7506e49 Offset needs to be incremented after avalon reads. 7748c46 Make the avalon_read function parse the ftdi responses appopriately. 2a222ec Use the avalon read timeout to completion if no data has been read. e255f74 wait_avalon_ready should only be used before writes. 51a44fa Ask for the correct amount to read in avalon get results. 0316592 Spawn the avalon read thread first with info->reset set to discard any data till work is adequately queued. 6ce6cd5 Use direct usb read commands to avoid ftdi data being automatically cut off in avalon reads. b73ab48 Do a simple usb_read_once for the avalon result from a reset command. f1ffe98 Make sure avalon is ready to receive more usb commands before sending them. a32e521 Implement avalon_ready and avalon_wait_ready functions for when usb is ready to receive commands. 7ad8af1 avalon_read should not loop but just return whatever it has succeeded in reading. 2c633fd Set avalon_info to device data void struct. c478b30 Specify avalon in avalon_reset. 269a8de First pass rewriting serialdev into direct usb dev for avalon driver. 8fea60f Define a cts equivalent for direct usb and use it for avalon driver full. 9650bfd Compile usbutils into avalon driver. 2d4a1db Merge branch 'icarus-dev' into avalon-usbdev 8595f3b Check results come in at least at 2/3 the rate they should be on avalon and if not, reset it. 91edf84 Give a warning but don't reset if the avalon buffer is full early. abfaf36 Discard any reads obtained from the avalon get results thread during a reset. c1dd052 Differentiate initial reset in avalon from subsequent ones. 589e087 Perform a mandatory reset if the avalon buffer signals it's full before it has queued its normal quota of work. b790153 Wait till buffer is cleared after sending idle tasks to avalon before returning from avalon_idle. f164446 Lock qlock mutex during reset from read thread in avalon to prevent more work being sent till the reset is over. 499b250 Reset avalon if we continue to be unable to send all the work items. b2b594b Revert "Don't reset result counter to zero if it's negative in avalon on just one successful share." ce0a9cd Don't reset result counter to zero if it's negative in avalon on just one successful share. 4c3fe39 Add avalon reset response to debugging output. d0132a7 Do a wait_avalon_ready before sending a reset code. 1f493d6 Iterate over spare bytes in the avalon result returned from a reset request trying to find the beginning of the reset. 467d149 Idle avalon after reset. 1ef027c Check for nothing but consecutive bad results on avalon and reset the FPGA if it happens. 44736b3 Make submit_nonce return a bool for whether it's a valid share or not. e90cf62 Unset the work restart flag sooner in avalon_flush_work to avoid re-entering the flush work function and just reset the queued counter instead of rotating the array to avoid runs of no valid work. 0a9d7ca Implement an avalon_flush_work function for work restarts. 3c39d75 Shut down avalon read and write threads and idle the miners on closing it. c9ca6ca Tighter control over work submissions in avalon allows us to use a smaller array. db7c72b Rotate avalon array to reset the queued count before releasing the lock so work will always be available on next pass. 66e27a1 Move avalon read thread start till after conditional wait, store idle status in avalon_info and use it to determine whether an error is appropriate or not. 0763070 Wait till the avalon_send_tasks thread has filled the avalon with idle work before starting the avalon_get_results thread. 7cf154b Use AVA_GETS_OK macro in avalon_read. ebf8855 Do all writes on avalon with a select() timeout to prevent indefinite blocking and loop if less than desired is written. 596784a Check explicitly that ava_buffer_full equals the macro. e9e6ad8 Send initial reset as an avalon task to remove avalon_write function. e27ca54 avalon_clear_readbuf is no longer required. 7dc3485 Check for 2 stray bytes on avalon reset. 629feb5 Create a separate thread for handling all work and idle submission to the avalon which messages the scanhash function it has completed to update statistics. 6c95210 usbutils ensure it compiles without stats aa9bf2c usbutils include transfer mode in usbstats c87f4c3 Give the avalon get results thread name the device number as well. 4076e6b Make sure we're not adjusting temps on every successful work retrieval on avalon. 4784ecc Count missing work items from behind a successful work read in avalon as well. 70a3e88 Change message for work not found in avalon parser. b1b9305 usbutils handle bulk_transfer partial writes fba70ff Simplify debugging and only discard from avalon read buffer if at least one full result has been discarded. 7324a33 Only display discarded bytes in avalon if they're not used as nonces. be3224f Only loop once through avalon_parse_results, but do so after timeouts as well. 1f08809 Only debug and move ram if spare bytes exist in avalon buffer. 9f59e9a Remove off by one error. 0a82b25 Inverted logic. b6b1abb Add more debugging to avalon reads. ab73935 Convert unsigned size_ts to ints for parsing avalon messages. bb06c2f Cope with not finding nonces in avalon parsing gracefully by not overflowing buffers. e9429f3 Adjust avalon temp values on one lot of valid nonces from the parser. 7404446 Created a threaded message parser for avalon reads. ff44696 Avalon_wait_write is not effective during resets so do it after going idle. 4794ce7 Send only a single byte reset. e2c4379 Repeat going idle after avalon reset, and wait for write ready before sending each reset request instead of some arbitrary sleep time. a1cec2c Revert "Send full avalon init task for reset." fa1bca3 Send full avalon init task for reset. c7b1b03 Timeouts on avalon_read and avalon_write should be 100ms. 4ddbe24 Don't close avalon after detecting it until we're cleaning up, instead using reset for comms failures. 18710b1 Check for avalon_wait_write before sending reset command. 0e071c9 Sleep in avalon_write_ready. 674539b Make avalon_wait_write a bool function and check its return value. 290666a Show how many idle tasks are sent to avalon if it aborts on buffer full. 8b1a247 Reset avalon->device_fd after it is closed. a640164 Create an avalon_wait_write function that is used before sending avalon idle command. 764f7cc Avoid repeating avalon_idle in do_avalon_close and extra sleep. ee4d72e Pass fd to avalon_idle. 664fd5b Revert "Change to setting avalon_task to being the pointer for avalon_idle." 91a82cd Change to setting avalon_task to being the pointer for avalon_idle. e257803 Do avalon_reset after info structure is set up. 930317e Rework avalon reset sequence to include idling of chips and waiting for them to go idle followed by 2nd reset and then checking result. 569a6f6 Do a non-blocking read of anything in the avalon buffer after opening the device. 6baa23c Assign the avalon info data to the device_data in cgpu_info. 1bb2cad thread shutdown is different on windows ab080fa usbutils make all windows timeouts 999ms 2baa5b9 usb add another Cairnsmore1 USB chip 6e0f934 icarus do the full detect test twice if required 511bbb0 CMR usb config guess 87d994b usb add transfer_read and commented out in icarus 6a0b48a usbutils allow unrounded control transfers 0c3f00c icarus ICA initialisation 685d0ef icarus report err on read failure 350e7f8 icarus correct device_id and use device_data for icarus_info c9cc744 miner.h remove unused device_file and add device_data 8fe40e9 miner.h icarus no long uses fd 56a96b4 icarus AMU config transfers 000c01d Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays. db080ba usbutils force an unknown IDENT for zero ddf008f icarus set default options/timing based on device a009f04 Must unlock curses as well in logwin_update. 01fca3e Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays. a4697be icarus report usb write error information d06c8f6 Add name to icarus copyright notice. 430416d Merge branch 'icarus-dev' of github.com:ckolivas/cgminer into icarus-dev bbb7970 Check for *pth dereference on pthread_join e43f265 usbutils name latency correctly 1c5c8df Check for restart before buffering more reads in Icarus. 4ba6cba Icarus should timeout if it's greater than the timeout duration even if it's receiving data. f484387 We should check for amount buffered in icarus get_nonce against amount already received. 04d530f Make mining threads report out during work submission. bb3b227 submit_work_async is no longer used directly by driver code. 41e6f48 Fix first read timeout on icarus get nonce. 9ecacb2 Retry icarus_initialise if the first read attempt fails. ecd03ce Properly pthread_join miner threads on shutdown. 894a3d6 Properly pthread_join miner threads on shutdown. 69f3635 Merge branch 'master' into icarus-dev 3a2008a Use a persistent single separate thread for stratum share submission that uses workqueues since all stratum sends are serialised. 64b08f3 All stratum calls to recv_line are serialised from the one place so there is no need to use locking around recv(). bd652a6 Only allow the mining thread to be cancelled when it is not within driver code, making for cleaner shutdown and allowing us to pthread_join the miner threads on kill_work(). 830f30f Only allow the mining thread to be cancelled when it is not within driver code, making for cleaner shutdown and allowing us to pthread_join the miner threads on kill_work(). ac7c073 Merge branch 'master' into icarus-dev 546be35 Merge branch 'icarus-dev' of github.com:ckolivas/cgminer into icarus-dev f227515 Set pool->probed to true after an attempt to resolve the url via stratum code. 5e588d8 icarus test nodev everywhere 250e435 usbutils/icarus separate FTDI transfer values and more debug fac3bf8 add icarus to hotplug 8f4547d usbutils add rest of icarus 22e677f Merge branch 'icarus-dev' of github.com:ckolivas/cgminer into icarus-dev e128f90 Merge branch 'master' of github.com:ckolivas/cgminer 288f5e3 simple serial-USB python test script 9f46aa9 icarus->USB v0.1 incomplete - missing initialise() dad3087 README spelling 9f4a3a7 Update documentation for icarus switch to USB 079b488 Add USB rules for supported USB devices 6219f97 switch icarus configuration to usb 05a385c usbutils new command for icarus e89c921 usb add a numeric sub-indentity for each name 2631b55 usbutils - make FTDI handling automatic 92e5ee9 fix duplicate name 2a0b712 usbutils set Black Arrow Lancelot's as BAL and match the lot->llt name 28f4fc6 usbutils identify Icarus devices cea8826 Merge pull request #431 from kanoi/master 0a15beb libusb_control_transfer 16 bit words are endian specific. 6493554 usb_applog separate amt display 3336880 Show pool difficulty more verbosely if it changes via stratum. 4efe9ca Attribute whatever stats we can get on untracked stratum shares based on current pool diff. 3f24653 Provide a --lowmem option which does not cache shares on failed submission to prevent low memory hardware (eg Avalon) from crashing. c4a8f47 Merge pull request #429 from mhren/patch-1 c5bfc45 Update util.c 32c41bd Bump version to 3.1.1 3f0842f Update NEWS. 1a7a87c Use a discrete device target for scrypt that dynamically changes to ensure we still report a work utility even if no shares are submitted such as in solo mining. 2fb6637 Make set_work_target a function to set a specified char as target for use elsewhere. 0b6ee62 Further consolidate the hash regeneration between sha and scrypt doing it only once and always checking the share diff for both before submission. 9a76db8 Regenerate the hash before checking the share diff in hashtest(). 03f98e2 Minor typo. 79dd9df Use a scantime of 30 seconds for scrypt if none is specified. b196d4f Support more shares to be returned for scrypt mining. a923b7d Update the write config to properly record device entries and remove disabled option. 3972fe2 Show a different warning and loglevel for failure to resolve a URL on first or subsequent testing of stratum pool URLs. ef3b065 Fix the problem of seting up termio of ttyUSB0 for icarus. the CSIZE is the mask of CS2/4/8 From: navyxliu 2b8cbf6 Revert wrong patch. 2645797 Set all stratum sockets to nonblocking to avoid trying to use MSG_DONTWAIT on windows. d89936a Fix warnings on win32 build. 832012f Only use MSG_NOSIGNAL for !win32 since it doesn't exist on windows. 6acfdbd Use MSG_NOSIGNAL on stratum send() a7cbbc9 Set TCP_NODELAY for !linux for raw sockets. 0676a1a Use TCP_NODELAY with raw sockets if !opt_delaynet 527fe05 Merge branch 'usb' 6819658 Make raw sockets compile on windows 43bcccf Recheck select succeeds on EWOULDBLOCK for stratum. 05dd48a usbutils/mmq fixed size usb_read default to wait for all data f518f33 usbutils optional (disabled by default) dev debug e53040c Add an ftdi usb read macro without newline 8e11705 Avalon usb interface should be 0. 4a39f03 Add more debug for failure to USB init. 6e969e9 Recv() should all be non-blocking for raw sockets in stratum. cf80fe4 Change verbosity and error for getaddrinfo warnings in setup stratum socket. 1a43cb0 Free servinfo after p is checked in setup stratum socket. 31aa4f6 Use raw sockets without curl for stratum communications. 657e644 Sacrifice curl handle memory on stratum disconnects on all versions of libcurl to avoid curl corruption. 891f88b Don't use TCP_NODELAY if opt_delaynet is enabled with stratum. 69bdc6f Fix warnings in avalon driver. fb24997 Make FULLNONCE an ULL to fix a warning on 32 bit. d3955b8 ztx correct applog typing 54d5d26 ocl correct applog typing 2ce2f8d util correct applog typing 65af59b api correct applog typing 6cef9f4 cgminer correct applog typing 2b2b34f scrypt correct applog typing c44817d bfl correct applog typing 95fe655 ica correct applog typing 9a1925d mmq correct applog typing 7e3242b adl fix trailing % 56a4577 usbutils correct applog typing 8f08a32 applog - force type checking ed65653 Simplify the many lines passed as API data in the avalon driver now that the API does not need persistent storage for the name. 965129b Duplicate the name string always in api_add_data_full to not need persistent storage for names passed to it. d08bdfd Add extra matching work count data in API for Avalon with 4 modules. 0803e46 Update NEWS. 8971c56 va_copy is meant to be matched by a va_end in log_generic. d3d90e6 usbutils remove_in_use break bfdbec1 usbutils remove_in_use yet again d436beb usbutils remove_in_use missing prev 2ae4840 usbutils missing add_in_use 8b2118b Clean up summary slightly better on exit. 18c6b49 Update NEWS for upcoming 3.1.0 release. 102e907 Preemptively bump the version to 3.1.0 d94b4f8 Update AUTHORS file. fd518f1 Add GPU-README to EXTRA_DIST. 100bbcc Split out the GPU specific information from the README into a GPU-README file. 4c9f2b7 Add an ASIC README file and udev rules file for insertion of BFL devices on linux. fa5295d Merge branch 'bflsc' of github.com:ckolivas/cgminer into bflsc 2c97b8b usb_init() allow it to ignore a device and show no message 9e92c6e Minor README updates. 1806602 Merge branch 'bflsc' of https://github.com/ckolivas/cgminer into bflsc 95f467b usbutils don't even attempt to detect a device we already have 4ef01a0 Count various failures as hw errors on bflsc. 08c13a1 Init rwlock for bflsc stat_lock. a436ede usbutils correct BFL name ebfa56d usbutils allow device selection to specify expected Manufacturer/Product strings 2517a8a bflsc ensure buffer is bigger than max reply ac135bf bflsc ignore very first work item nonce error - could be from before a7c3079 bflsc more detailed results failure messages a2d1889 Do not sleep longer than 2s max in bflsc scan code to stabilise displayed 5s hashrate, put locking around values, and set a minimum of 1ms. b30f9bb bflsc unres the res dd8fe19 bflsc tidy up getinfo() and add to api 55b3d40 bflsc guess device ~based on current V1 Jalapeno engine count de009da bflsc only need one xlinkstr 66154e9 bflsc flush/clear output que when we initialise ea8aa1a bflsc seperate BFLSC_QRES 4bfa4c3 bflsc queue_full shouldn't ask for more work if device is zombie 4f0f5fb Make the scan sleep time after scanwork in bflsc dynamic to keep queues between watermark levels. b0e6f68 Remove unused temp counts in bflsc. e70e7b5 Calculate a rolling 5 min average set of temperatures for bflsc. 31fc0bc Damp the display of voltage for BFLSC devices. d6720ee Damp the temperature display measurement for bflsc since it fluctuates so wildly. bd4d04b bflsc add volt stats 21fd80d Handle failed tolines command in bflsc driver. 6db9745 Can use a read lock instead of a write lock in bflsc scanwork. 045d036 Since we are filling a queue on the bflsc devices, there is no need to run through scanwork frequently provided we use the restart_wait function to abort early during a block change. f1624e1 Remove flushed work in bfl scanwork from the hash table. 11baa32 Set correct device in process_nonces in bflsc driver. 93e3e8c bflsc add work reply INPROCESS: missing from the spec 5121163 bflsc put in some error messages not yet written 8fe17e9 bflsc get completed hashes as late as possible 5d8273a Fix potential memory leak with unused work items in bflsc_queue_full f5e3448 Reverse bools in bflsc_queue_full 9b53e59 Avoid recursive loop calling correct function instead. a44f6d2 bflsc fix details identification 05c9ece Differentiate BFLSC device from regular bitforce and give warning if no support is compiled in. 863c9e2 util.c str_text make a fully text readable version of str 179cc52 BFLSC fix FPGA identity overlap a84e424 Locking error in bflsc_send_work cbe13be Use htobe32 function for converting nonce in bflsc. 102b947 Replace deprecated bzero with memset in bflsc driver. 5c1ecaf Fix compilation of bflsc driver without opencl. 4c8acdf Check for realloc failures in bflsc driver. b0f8b27 Check for failure to calloc in bflsc driver. 5c30059 Trivial style change c303912 Use copy_time function in bflsc driver. 41fa60c Use cgtime in bflsc driver and update copyright notice. e92b13a Use a separate function for bfl initialise that doesn't require locking. 009008a Fix BFLSC building. c769db6 bflsc v0.1 ea0adf6 Bump version to 3.0.1 a7a8640 Update NEWS. 2643ad1 Use only the one jump in ocl.c to bypass binary saves for osx opencl. 0a8f584 Initialise variables not set on OSX in ocl.c. 9aae225 Bypass attempting to read and save binary files on OSX to avoid crashes on >1 GPU. d835ef7 Receive failures in recv_line should unconditionally fail. 06f7f52 Revert "Add more debugging to recv_line parse failure." 412ef44 Use sock_blocks in api.c af60a19 Use sock_blocks function for stratum send and receive. a2a7a03 Create an OS specific sock_blocks function. 181cb16 There should be no error response code with return value 0 in recv_line. b615502 Add more debugging to recv_line parse failure. e95695d Check for errors on stratum recv for any recv return value less than 1 and only parse the response if it's positive. baa5a6e Further fix distdir for hexdump.c 3d835fc Fix build and distdir. a062604 Bump version to 3.0.0 78a6087 Update NEWS for 3.0 release. cd9cd96 Merge branch 'nocpu' 1253c97 Update NEWS for 2.11.4 release. f4b2790 Remove all CPU mining code. e999caa Merge pull request #427 from gzm55/master e00a1b0 compile on win32 31e5195 Update SCRYPT README with improved hashrates for 7970. 856aa49 Use copy_time helper throughout cgminer.c d2abaa8 Provide wrappers for commonly used timer routines with API stats. 170a4ae Avoid one cgtime call in sole_hash_work. 3cc4223 Fulltest is true if value is <= target. 3c61a51 Use system host to endian functions for clarity in fulltest. 4597c0a Provide endian_flipX functions to avoid special casing big endian in cgminer.c 8d81f1d Provide a flip128 helper to simplify big endian flipping. c351f8d Use flip helpers to simplify code for calculation of midstate. f50ae46 Use flip32 function instead of open coding it in gen_stratum_work. 62a1403 Move util.c exports to util.h 5b702bc Fix warning on building avalon on win32 849567c Use cgtime in driver-avalon.c 79df6b9 Use cgtime in driver-icarus.c 9eb851c Use cgtime in driver-bitforce.c 9390101 Use cgtime in logging.c 3ab81ee Use cgtime in usbutils.c 0face98 Use cgtime in driver-opencl.c 207e93d Use cgtime wrapper in driver-modminer.c 3cb24c2 Use cgtime in driver-ztex.c 564fd36 Use cgtime in compat.h 17ee0eb Use cgtime instead of gettimeofday in fpgautils.c bb964b4 Replace gettimeofday usage in cgminer.c with cgtime 3d7f824 Create a cgminer specific gettimeofday wrapper that is always called with tz set to NULL and increases the resolution on windows. 3b5ef34 Add high resolution to nmsleep wrapper on windows. 57e5bfb Set default ocl work size for scrypt to 256. 92c61cb Merge pull request #426 from gzm55/master 7ada22a define le32toh if needed 5ba07b9 Merge remote-tracking branch 'upstream/master' d5981f8 Merge pull request #425 from BitSyncom/avalon 8e8313c fliter out the wrong result from adjust fan code 19be008 Merge remote-tracking branch 'upstream/master' 50cf259 compile avalon driver on win32 and win64 5315838 Restart threads on the rare chance we found the block ourselves. 76ecffb Add more FAQs about crossfire. a3bbe0e Set last device valid work on adding device. 3fa4a9f Increment last device valid work count in submit_nonce to cover scrypt. d49ecf1 Set opt_scrypt drv max diff for correctness. bc0e714 Make scrypt submission use the submit_nonce code, with nonces matching endianness. c1ff90a Do testing for HW errors on submit nonce for both scrypt and sha. 6b714dd Increment hardware error count from the one site. 2dea047 Merge branch 'master' of github.com:ckolivas/cgminer 2029d82 Merge pull request #423 from gzm55/master a6250fb Rename scrypt regenhash function for consistency. daea9c9 Add new best share info to verbose logging. 473865d Merge remote-tracking branch 'upstream/master' 8bb52b4 Merge branch 'master' of github.com:ckolivas/cgminer 1a7fc4e Add notice for when network diff is changed. 6ffba7e Convert error getting device IDs in ocl code to info log level only since multiple platforms may be installed and the error is harmless there. a797898 Unnecessary extra array in ocl code. 42e8eac Merge branch 'master' into avalon-dev 8e73c47 Further driver FAQs. 1c2621a Add MAC FAQ. 65e7dcc Add more FAQ details. b4bc5e2 Check for work restart after disable in the hash queued work loop since it may be a long time before we re-enable a device. fdfb77e Unconditionally test for many wrong results on avalon and reset to avoid passing a corrupt avalon result to temperature code. 57fcd07 Merge remote-tracking branch 'upstream/master' ac053ed build out of source dir 9c48d68 Merge branch 'master' into avalon-dev d41d210 Set device_diff for queued work or there will be no diff1 share count. f6284f7 Merge branch 'master' into avalon-dev dbab07a Only reset an avalon device with no results when there are no results consecutively. 245fbe1 More FAQs. 0e48657 More FAQs. 36bb133 Cleanup when stratum curl fails to initialise. 81549c5 Avoid applog in recalloc_sock. 69c203d Avoid applog under stratum_lock in recv_line. e4effc3 Avoid applog under stratum_lock in __stratum_send. d248e7a Put spacing around locking in util.c for clarity. 67ebf45 Avoid applog under cg_wlock. 8d22ca1 Put spacing around locking code for clarity. 3209c11 Avoid applog under pool_lock. 51fbcfe Avoid more recursive locks. b948669 Avoid applog while ch_lock is held. 29f0ac7 Avoid recursive locks in fill_queue. ec9390d Variable is already initialised in global scope. 0488a85 More GPU faqs. 2a73254 More README faqs. 4c19604 Yet more README faqs. b1dfc12 Add more faqs to README. 1b0b3d6 Merge branch 'master' into avalon-dev c62b985 Wrap result wrong tests in avalon scanhash in unlikely() and only consider a hash count of zero wrong if a restart wasn't issued. c17a175 Merge branches 'avalon-dev' and 'master' of github.com:ckolivas/cgminer 0eb81d6 Merge pull request #422 from BitSyncom/avalon 64ec066 Merge pull request #417 from kanoi/bflsc 874b25f avalon: if result_wrong >= get_work_count jump out the read loop 6400088 Fix warning on 32bit. 7231f7f Fix warning on 32bit. c1ec55a Avoid curl_easy_cleanup on old curl versions in setup_stratum_curl as well. 0805f7d Merge pull request #421 from BitSyncom/avalon dd1c8bd fix the fan control on max temp2/3 f689301 for some reason network down. one simple cgminer command: "cgminer -o 127.0.0.1:8888 -O fa:ke --avalon-options 115200:32:10:50:256" can idle the avalon for safe power and protect chip d57a4e0 if hash_count == 0; reinit avalon, fix the 0MHS bug use the max value of temp1 and temp2 for fan control 6c5c6e9 Reinstate the matching_work_count per subdevice on avalon based on the work subid. c2a6392 Avalon driver is missing the drv_id. 220eb85 Rationalise and simplify the share diff and block solve detection to a common site. 5c7a32f Rationalise and simplify the share diff and block solve detection to a common site. 0c35f67 Make the avalon array size a macro. 8a90b5d Use replacement of work items in the avalon buffer as needed instead of flushing them. 1c4d1ac Reinstate wrong work count to reset avalon regardless and display number of wrong results. 47309e1 Revert "The result_wrong measurement for avalon is continually leading to false positives so remove it." af65870 select() on serial usb in avalon does not work properly with zero timeout. 08c0ac2 The result_wrong measurement for avalon is continually leading to false positives so remove it. 64ecfa5 Revert "Use only 2 queued work arrays in avalon." af6111f Use no timeout on further reads in avalon_gets ad55fbf Do sequential reads in avalon_get_reset to cope with partial reads. 385f1cd Show read discrepancy in avalon_get_reset. 4e2b107 Reuse avalon_get_work_count variable. fb34cb1 Check for AVA_GETS_RESTART when deciding if avalon has messed up. 8b0531f Make the detection of all wrong results on avalon much more conservative to avoid false positives on work restarts. c6b9a3e Show error codes on select and read fail in avalon. 5e3474b If we get a restart message in avalon_gets still check if there's a receive message to parse first without a timeout before returning AVA_GETS_RESTART. 0ea9d68 Use only 2 queued work arrays in avalon. afd6f42 avalon_gets is always called from the one call site so inline it. 3671b2c The read_count is unused by the avalon get result code and no longer required for avalon reset so simplify code removing it. dec90b9 Use a separate avalon_get_reset function for resetting avalon instead of using avalon_get_result. ea70300 The current hash count returned by avalon scanhash is just an obfuscated utility counter so make it explicit. 53a047d Check for a restart before a timeout in message parsing code in avalon. 0da8868 We should check for a restart message before checking for a timeout in avalon scanhash. 8e69d75 Store the subid for the work item in avalon. b7b5b9d usbutils more stats for bflsc d9ba82c Fix record_temp_fan function in avalon driver. Patch by Xiangfu 8b2b9b3 Remove inappropriate memset of struct avalon result which was corrupting fan values. d86f7b7 Fix warning with no curses built in. 23c0241 Bump version to 2.11.4 e9b6ff8 Fix warning with no curses built in. 85a4dfd Bump version to 2.11.4 293b94c Add API support for Avalon. 809fec9 Only do_avalon_close once on multiple errors. 689f744 Reset the result_wrong count on block change in avalon scanhash to prevent false positives for all nonces failed. 1e14748 Small timeouts on select() instead of instant timeout increase reliability of socket reads and writes. 7783ab5 Only get extra work in fill_queue if we don't have any unqueued work in the list. ae4ee34 Small timeouts on select() instead of instant timeout increase reliability of socket reads and writes. dd1a0d6 Rotate the avalon work array and free work on AVA_SEND_BUFFER_EMPTY as well. 97bad1e Only get extra work in fill_queue if we don't have any unqueued work in the list. 5f041e1 Don't get any work if our queue is already full in avalon_fill. c6ca12f Differentiate socket closed from socket error in recv_line. 2f89eef Differentiate socket closed from socket error in recv_line. b2106b3 Free avalon->works in the event we call avalon_prepare on failure to initialise. be5a20c Fix warnings. 67be00e Create an array of 4 lots of work for avalon and cycle through them. 6752c24 Remove unused per unit matching work count for avalon. 7dda3e4 Rename the confusing avalon_info pointer. 2f75a5d Simplify avalon scanhash code using the new find_queued_work_bymidstate function. Partially works only. 67c5da4 Members of cgpu_info for avalon are not meant to be in the union. 2f371f1 Use correct struct device_drv for avalon_drv. 8959f8d cgminer.c -S help to only say Icarus 23fa953 Check enough work is queued before queueing more in avalon_fill. f0806c6 Actually put the work in the avalon queue. 1802302 Rneame avalon_api to avalon_drv. 71bae00 First draft of port of avalon driver to new cgminer queued infrastructure. dea35d3 Add Makefile entry for driver-avalon. 017e7cb Add configure support for avalon. 86821eb Fix mingw cross compilation being broken by win32/win64 patches. e9a65bb Only update hashrate calculation with the log interval. 97a9172 Update the total_tv_end only when we show the log to prevent failure to update logs. ee13924 Minor README updates. e62cb4e Add example 7970 tuning for scrypt in readme. 71c8343 Update driver recommendations. 9804d2d Add extensive GPU FAQs for the flood of new Scrypt miners. 2675c5c Remove help option for cpumining in build environment. 00f7688 Remove scripts that make it too easy to compile CPU mining support. 1a8bfad Merge pull request #416 from gzm55/master c9ae715 Compile CPU mining for win32 and win64 dfea623 Merge branch 'master' of github.com:ckolivas/cgminer 6cdbf6e Remove references to CPU mining from README. b81ef94 Merge pull request #415 from kanoi/bflsc ed480de LTC text typo 5f56734 Merge branch 'master' of github.com:ckolivas/cgminer b3e734e Show share hash as little endian as needed. 0d8c3fe Merge pull request #412 from BitSyncom/avalon-sync 76712c1 Merge pull request #414 from kanoi/bflsc f080db5 generic work structure flags for BFLSC (and usable by other drivers if needed) ea327f7 work queues - remove new but unnecessary functions ea4cf57 Merge pull request #413 from kanoi/bflsc e95813c Make hashmeter frequency for hash_queued_work match sole_work. 73616fb miner.h missing extern 131e200 functions for handling work queues 8dd1ed2 usbutils extra message requirements b3ae0f1 find_work() to find work in devices work queue 86acbdd Update links and recommended SDKs. 48a1d8a Update scrypt readme re drivers and sdk. 125194d Merge pull request #411 from kanoi/bflsc cef96dd usbutils.c usb_cmdname() usb_cmds -> string name e88652b BFL FPGA Windows timeout set to 999ms 4aea663 Merge pull request #410 from kanoi/bflsc 96ac718 AUTHORS - spam update time (one year since the last) 9619d04 api-example.c: add a -o option for output pure message b8f4fa4 Update README for x970 memdiff values. 11dd8ac Update README to match changes to display. 6fab6c6 Merge pull request #409 from kanoi/bflsc 956d444 avalon usbutils requirements 6c418f4 Remove increasingly irrelevant discarded work from status lines. 886df16 Remove increasingly irrelevant queued and efficiency values from status and move WU to status line. 1a19729 Allow cgminer to start if usb hotplug is enabled but no devices yet exist. 132ee4c Do not scan other gpu platforms if one is specified. 40dda83 Update README for sync objects on windows. 795be94 Update README about intensity. e6ac80c Add information for setting gpu max alloc and sync parameters for windows with scrypt. 1ed86de If the hashmeter is less than the log interval and being updated by the watchdog, don't update the hashrate. c247ba0 Bump version to 2.11.3 c5b5e73 Update docs and reorder README to show executive summary near top. 072ffbb Update the hashmeter at most 5 times per second. bfb85c4 Merge pull request #408 from kanoi/bflsc e07d21b usbutils use it's own internal read buffer 576e22b Update scrypt readme with newer information and to match changes in code. c24ffa1 Merge pull request #407 from kanoi/bflsc 13e19de Calculate work utility for devices that support target diffs of greater than 1, and update scrypt code to use it. b29828e usbutils allow read termination match to be a string c63ae9d usbutils spelling :) d7d630b Set default GPU threads to 1 for scrypt. 21a36f4 Connect backup stratum pools if the primary pool cannot deliver work. 584fc01 Use a new algorithm for choosing a thread concurrency when none or no shader value is specified for scrypt. d0f18e8 Do not round up the bufsize to the maximum allocable with scrypt. 3c3fbdc Remove the rounding-up of the scrypt padbuffer which was not effectual and counter-productive on devices with lots of ram, limiting thread concurrencies and intensities. 1c6d8a3 bufsize is an unsigned integer, make it so for debug. e10a704 Merge pull request #406 from kanoi/bflsc 8d27ecf Merge branch 'master' of github.com:ckolivas/cgminer 5a2c2a7 Update the hashmeter once per second but only display the extra logs every opt_log_inteval. 2ce62f3 add a dummy ztex to usbutils so cgminer -n lists ztex also 28f515e nDevs required for -n with usb a6f17cb USB device list - convert some common error numbers to messages e5a5be0 Merge pull request #405 from kanoi/bflsc 26341bb USB -n 'known' text only without ---usb-list-all b21747b USB modify -n and --usb-dump to only show known devices or use new --usb-list-all option to see all e9a9a51 Merge pull request #404 from kanoi/bflsc b6e3d5b Make pool adding while running asynchronous, using the pool test thread functionality. 1a74bc5 Only curl easy cleanup a stratum curl if it exists. 6ce5d8c Merge branch 'master' of github.com:ckolivas/cgminer 195ea63 Sacrifice the ram of curl handles in stratum disconnects when we have built with old libcurl to avoid crashes. 1c04d14 cgminer -n to include a USB device list ffc8681 Merge pull request #403 from kanoi/bflsc 154e4f4 usbutils allow call of usb_all() from other code b5b3ca4 Convert gbt_lock to a cg_lock. b8ed231 Add intermediate variants of cglocks that can be up or downgraded to read or write locks and use them for stratum work generation. 26ddd1f Move the stratum and GBT data to be protected under a new cg_lock data_lock. fd87825 Convert the ch_lock to cg_lock. 0bbaaa9 Convert the control_lock to a cg_lock. 74164a3 Remove unused qd_lock. 801a38d Merge branch 'master' of github.com:ckolivas/cgminer 542aef4 Merge pull request #402 from hocuscapocus/patch-1 18fc2df Implement cg_lock write biased rwlocks. 6d629d6 do usb_initialise() after the started message so we see it 6acda93 --usb-dump display brief dump if value = 0 3f50e87 USB add --usb options to limit USB device selection v0.1 3aa6fd7 Update README 590a13d Bump version to 2.11.2 767d6df Whitelist AMD APP SDK 2.8 for diablo kernel. e4b6635 Update NEWS. 87b62bd Cope with the highest opencl platform not having usable devices. 8c65897 Merge branch 'master' of github.com:ckolivas/cgminer 5412323 Fix memory leak with share submission on GPU work structures as discovered by twobitcoins. 15b4870 Merge pull request #401 from kanoi/bflsc 30e7040 usb_cleanup() without locking eb4030f Update NEWS. 8ae743f Merge pull request #400 from kanoi/bflsc 66c567a Use curl_easy_cleanup to close any open stratum sockets. f24fab3 Show pool number in switch message e0196a3 Don't start testing any pools with the watchpool thread if any of the test threads are still active. 7e3ca57 Set sockd to false should curl setup fail on stratum. 56068d6 Close any open sockets when reusing a curl handle and reopen the socket whenever we're retrying stratum. 81c0212 Set pool died on failed testing to allow idle flag and time to be set. c618d86 Remove unused pthread_t typedefs from struct pool. 6c77e9a Perform pool_resus on all pools that are found alive with the test pool threads. d932a36 Use pool_unworkable in select_balanced as well. 90a1114 Differentiate pool_unusable from pool_unworkable. 3b84131 Keep a connection open on higher priority stratum pools to fail back to them. f3ce577 Rename threads according to what pool they're associated with as well. 9b34d82 Set the wrong bool in pool_active de28944 Revert "Rollback breakage to 81567e515707891837f52bc3aac7d5916dfff5a2" 8630525 Merge pull request #399 from kanoi/bflsc 8c87807 Start the stratum thread only if we successfully init and authorise it, otherwise unset the init flag. e746ed6 Make the initialisation of the stratum thread more robust allowing the watchpool thread safe access to it after the stratum thread is started. efb2403 API no longer ignore send() status 1eca047 API make the main socket non-static b45a070 Bump version to 2.11.1 88853a2 Comment out driver-bflsc.c file from Makefile.am till one exists. efe4898 Update NEWS. 09c02b1 Shorten the time before keepalive probes are sent out and how frequently they're sent with stratum curls. d7c4be3 Only set stratum auth once to prevent multiple threads being started. 3db4d6f Display select return value on select fail in stratum thread. 501f4cd Clear the socket of anything in the receive buffer if we're going to retry connecting. a886399 Rollback breakage to 81567e515707891837f52bc3aac7d5916dfff5a2 a5d35e8 Only bypass unusable pools if they're not the selected ones. 1468feb Find the first usable pool in preference to the current pool in select_pool for work. ade8c6c Add a pool_unusable function which checks if a pool is stratum but not active to use within switch_pools. 81567e5 Perform pool resus on pools that were not set as the initial pool at startup. c7c21e6 Revert "Clear the pool idle flag only on the pool chosen at startup, allowing it to be cleared by the watchpool thread for the other pools." 370e8fc Clear the pool idle flag only on the pool chosen at startup, allowing it to be cleared by the watchpool thread for the other pools. e501db1 Allow pools to be resuscitated on first startup by the watchpool thread. 5221662 Check all pools simultaneously at startup switching to the first alive one to speed up startup. c9b4f5c Revert "Cope with out of order messages coming in upon attempting to auth_stratum." ed903dd Clear just the socket buffer when we don't care what is left in a stratum socket. fbb25c4 Clear the stratum socket whenever we are closing it since the buffer is going to be reused. 1255300 Do not continue work from a stratum pool where the connection has been interrupted. 0810212 Reset stratum_notify flag on suspend_stratum as well. 07ae617 Close any sockets opened if we fail to initiate stratum but have opened the socket. 6875dc4 Close any existing stratum socket if we are attempting to restart stratum so the pool knows the connection has gone. bba99bd Show mechanism of stratum interruption if select times out. 011ea64 Make stratum connection interrupted message higher priority to be visible at normal logging levels. 237f67c Cope with out of order messages coming in upon attempting to auth_stratum. 96ae17a Merge pull request #398 from kanoi/bflsc f8b4b47 API-README update for ASIC changes e315179 Implement client.show_message support for stratum. 0eafc8b API add 'Network Difficulty' to 'coin' 540f3e8 Setup BFLSC support 419083a API use control_lock when switching pools 0be6e9e Make sure to retry only once with noresume support for stratum. f4892a4 Merge pull request #397 from kanoi/bflsc 386ea2d Instead of keeping track of when the last work item was generated to keep stratum connections open, keep them open if any shares have been submitted awaiting a response. cb49f3c usbutils.c copy full size to 'Last Command' 82fce46 Merge pull request #395 from kanoi/bflsc 2f6660e configure - set USE_USBUTILS when usbutils is required and use it in the code 016f065 Clear last pool work on switching pools if the current pool supports local work generation or we are in failover only mode. 2fe415f Merge pull request #394 from kanoi/main c45096d Merge pull request #381 from denis2342/hw_errors 120e9a0 make rw locks: mining_thr_lock and devices_lock f1ab8ea Release MMQ device only once (not 4 times) 1bfc712 README --hotplug f8e7012 api.c fix MSG overlap be8cadb Hotplug - allow setting interval via --hotplug or API 97cb77d curses - fix - put a dev_width inside #ifdef aed1e51 usb_cleanup() use correct locking mechanism e35e8ae Implement and use usb_cleanup() on shutdown or restart 5d3faba miner.php report 'Last Valid Work' as time before request 41f099e API - return Last Valid Work c14f2ec API V1.25 - add 'Last Valid Work' time for each device 59261a8 Merge pull request #393 from kanoi/main cc3869e api -> drv 0601f36 Merge pull request #392 from kanoi/main 00489f4 ZTX bug set missing drv_id 47c6f91 FPGA-README Zadig hints 8800da6 USB linux rules for libusb to give privs to non-root users cb9523d Fix grammo 4a03401 Merge pull request #390 from kanoi/main 5e4ba10 FAQ /dev/ttyUSB* now only for Icarus 0d64737 Bump version to 2.11.0 4639aad Update NEWS. 357294a Merge branch 'usb-dev' 580607c Update kernel file names signifying changes. 2c3a946 Update a pool's last work time when the work is popped as well as staged. 5c32a47 Merge pull request #375 from luke-jr/bugfix_cfgwrite_fnleak 52995e2 Merge pull request #389 from kanoi/bflsc f56a0fb API always report failed send() replies 42a01e7 Update diff stale: total and pools when stratum throws away shares b2b0d10 Merge branch 'master' into usb-dev b4cac54 Keep stratum connections open for 2 minutes after the last work item was staged to allow stray shares to be submitted on pool switching. 5abcf06 Merge branch 'master' into usb-dev 3c949e5 Try to extract the sessionid associated with mining.notify on 3rd level array and submit it along with the userid to support mining resume, failing gracefully and restarting if the pool rejects it. d9d5a1a Speed up watchdog interval and therefore display updates to 2 seconds. 5a3b374 Update copyright dates. 6bf7962 Merge branch 'master' into usb-dev 3dcdb94 Cope with misread sessionid on stratum for now. b1ae45f Use constants from the array of __constants throughout the diablo kernel. f72fa03 Create a __constant array for use within diablo kernel. d16d492 Fix --benchmark generating valid work for cgminer. 6a0882f Use the sessionid as passed on stratum connect to attempt to resume a connection once and then clear it if it fails, to use a new connection. 68d6910 Move to storing the nonce1 in the work struct instead of the sessionid for the now defunct first draft mining.resume protocol. 7f595ca Use global constant arrays for all other constants used in scrypt kernel. 9b6a518 Use global __constants for sha functions in scrypt kernel. 6bb942f Use constants for endian swap macros. f08c3f7 Revise scrypt kernel copyright notice. 3d032ce Separate out additions in scrypt kernel. 9136bfc Merge pull request #388 from kanoi/bflsc 64f2c06 Reuse some Vals[] variables that can be assigned to constants earlier in the poclbm kernel, making for fewer ops. 19725e7 Put all constants used in poclbm kernel into __const memory array to speed up concurrent reads on the wavefront. 3515b6e BFL stop 1st init command if no device add1dfb Merge remote-tracking branch 'conman/queued_work' into test fce5434 Add a get_queued function for devices to use to retrieve work items from the queued hashtable. f910476 Merge branch 'usb-dev' into queued_work 22a50a5 Merge branch 'usb-dev' of github.com:ckolivas/cgminer into usb-dev a7859bb Merge pull request #386 from luke-jr/bugfix_20130215a 4fdd45a Merge pull request #387 from luke-jr/bugfix_20130215b 0847d45 Bugfix: Duplicate stratum sessionid when copying work, to avoid double-free 7473c3d Bugfix: Missing pool_no parameter to applog for no-stratum-sessionid debug message 4266245 Merge remote-tracking branch 'conman/master' into bflsc fda6d46 Add the choice of hash loop to the device driver, defaulting to hash_sole_work if none is specified. 254e25a Add comments. c80c65e Add a driver specific flush_work for queued devices that may have work items already queued to abort working on them on the device and discard them. 294cda2 Flush queued work on a restart from the hash database and discard the work structs. e8e88be Create a central point for removal of work items completed by queued device drivers. 95b2020 Create a fill_queue function that creates hashtables of as many work items as is required by the device driver till it flags the queue full. 5e3253a Create the hash queued work variant for use with devices that are fast enough to require a queue. 649f293 Update copyright year. 0b83313 Fix tv_lastupdate being made into tv_end and update the hashmeter on cycle, not opt_log_interval. e414cd0 Fix tv_lastupdate being made into tv_end and update the hashmeter on cycle, not opt_log_interval. ab0cc58 Merge branch 'master' into usb-dev 0f7ab36 Only continue submitting shares with mining.resume support on stratum when the session id matches. be4705a Provide support for mining.resume with stratum, currently re-authorising after successful resumption pending finalising of the protocol process. 4cde791 Provide basic framework for restarting stratum depending on whether resume support exists or not. c29df97 Abstract out the setting up of the stratum curl socket. 16c7c98 Free sessionid in clean_work and remove redundant setting of strings to NULL since the whole work struct is zeroed. 8fdf6d5 Only clear stratum shares mandatorily on stratum dropouts when the pool does not support resume. f60637c Try resubmitting stratum shares every 5 seconds for up to 2 minutes if the pool session id exists and matches on failure to submit. 7e8019a Do as much outside of mutex locking of sshare_lock as possible. 7551b88 Remove last reference to struct work used outside the sshare_lock in submit_work_thread ebb99e5 Unlock the sshare_lock in submit_work_thread when all references to work and sshare are complete. 1bf1f4a Add timestamps to stratum_share structs as they're generated and copy the stratum sessionid if it exists to stratum work generated. c851f39 Store session id for stratum if the pool supports it for future mining.resume support. 040cf6d Merge pull request #385 from kanoi/hotplug 00be617 API.java allow partial reads 48c8413 Merge pull request #384 from kanoi/hotplug 77d1496 Merge branch 'usb-dev' of github.com:ckolivas/cgminer into usb-dev c432c65 debug_cb buffer type warning a691cc5 Merge pull request #383 from kanoi/hotplug b996815 MMQ rewrite the last of the old scanhash loop and drastically reduce CPU 20b5ebb hash_sole_work can be static 266d312 Make the numbuf larger to accept larger scrypt parameters. c28e223 Merge branch 'master' into usb-dev 775a1ab Keep the unique id of each work item across copy_work to prevent multiple work items having the same id. 61a3e1b Merge pull request #382 from kanoi/hotplug dafc2f7 Abstract out the main hashing loop to allow us to use a separate loop for devices that are fast enough to require queued work. 81b84d4 Provide a noop thread_enable function for drivers that don't support it. b884d11 Provide a noop thread_shutdown function for drivers that don't support it. 2c28eef Provide a noop hw_error function for drivers that don't support it. 2105371 Provide a noop prepare_work for drivers that don't support it. b9f5b48 Provide a noop thread_init for drivers that don't support it. 8e12a05 Provide a noop can_limit_work for devices that don't support it. 5b22f09 Provide a noop thread_prepare function for drivers that don't use thread_prepare. 5d581cb Use blank_get_statline_before for GPU devices that don't support adl monitoring. 2c3c9e5 Provide a noop get_stats function for drivers that don't support it. de48ccc Provide a blank get_statline for drivers that don't support it. b3d9477 Provide a blank get_statline_before function for drivers that don't have one. f2380ea Fill drivers missing reinit_device with a noop version. 5d98685 add 'count' to cumstomsummarypage 'calc' 530e3b0 hotplug use get_thread() where appropriate 6fb32f7 convert sleep(const) to nmsleep() b9c19a9 remove empty #ifdef bc57552 call a separate get_devices() with locking, as required 1c69417 usbutils - avoid free cgusb twice 983fe2b usbutils hotplug v0.1 296eab2 Report USB nodev as ZOMBIE on the screen 3c91b29 Merge branch 'master' into usb-dev 5f8d53b Change file modes. 47db8e9 Bump version to 2.10.5 b8e20d0 News update. 903c666 Fix logic fail on partial writes with stratum send that was leading to corrupt message submissions. 3804850 Do not consider every call to stratum_resumed a pool recovery unless it was actually idle. 03dff61 Merge branch 'master' into usb-dev 73b7d7b Do not enable the pool disable on reject feature unless explicitly enabled with --disable-rejecting. 5c1f3b3 Merge branch 'master' into usb-dev f52f02e Stratum disconnect shares - count total against stale ffdcaed Use sanity checking to prevent a possible overflow with invalid data being given by the pool for difficulty as reported by luke-Jr. 0244998 Merge branch 'master' into usb-dev 8102561 Check for calloc failure for completeness in gen_stratum_work. d644fdf Cache the coinbase length to speed up stratum work generation. 0870ab7 Cache the header length when generating stratum work to avoid calculating it on every work generation, and to only need one alloc+sprintf, speeding up work generation. 5402941 Use heap ram for coinbase in gen_stratum_work, zeroing it before use. 51d11a2 Provide a wrapper for aligning lengths of size_t to 4 byte boundaries. 5d122ca Provide wrappers for grabbing of thr value under the mining_thr_lock. 08ece33 Merge branch 'master' of https://github.com/kanoi/cgminer into kanoi-usb 7abf30b distinguish between drv and it's id enum now called drv_id 70b5b84 Merge branch 'master' of https://github.com/kanoi/cgminer into kanoi-usb 61ec1fe mutex all access to mining_thr 212f32e Split thr_info array into control_thr and mining_thr pointers so more mining threads can be added later 8fbc4da MMQ must copy USB bus:device due to usbinfo change 7388942 Stratum disconnect shares - count total against stale 05157e0 USB in linux use the expected kernel config to check and detach - and set the configuration in linux also 128e327 USB system wide device locking on windows 16fa090 usbutils stats_initialised not set 028da16 usbutils free found if not used 8297304 USB device locking NOOP for windows (for now) cb3e3eb USB system wide device locking on linux 59c73ae USB usb_init() consistent err/warning/debug messages a59b0c0 usbutils.c use correct config from found (not 0) d057791 Capitalise driver long names used in applog messages 7fbc377 USB move usbdev info that needs to stay around into usbinfo 8f4340b BFL allow a 2nd init attempt if the 1st reply is unknown 3f4d9fc BFL use #defined strings for work replies 383a21b miner.php trim trailing zeros on some of the STATS numbers 9447610 ICA use drv->name baf3aca usbutils.c release_cgpu() sets nodev c1eae36 API stats - include pool network bytes + in miner.php 92abe36 MMQ include USB devpath in detection error messages a52522a MMQ it's a bitstream ea807cf USB BFL transfer is only 64 bytes in a USB1.1 socket 24525ed api.c update copyright year 34bcc1c USB automatically handle losing the device and report nodev in the API 4f460ca Best Share readme f53549a BFL minimise first initialisation failure delay since it is common 0b3d8c8 API zero - zero statistics - all or bestshare - with optional on screen summary bd5f20e api.c pgaenable not re-enabling the device - plus related debug bad942e increase device status string length f9e04a3 device_drv - allow .name to be changed before add_cgpu() a4e95cf device_drv missing drv for cpu and incorrect test a344deb rename device_api -> device_drv and all related api -> drv and add a device_drv->drv enum for identifying which driver each is 7724989 diffexactone pool diff1 used for share value calculation is ffffffff... not 100000000... :P f6bde14 miner.php user/pass fix 'usr' is readonly 1b2654e miner.php optional user/pass login restrictions 7e2b1e8 Fix memory leak on stratum share submission. 1ce817d Merge branch 'api' e3db37a Merge branch 'bfl' 44ec755 BFL USB correct usb stats id 4c2f26e zero (most) API stats abaaf93 Correct API version to match docs 03f626e Remember best share per pool and return in API pools 211b0f4 BFL USB longer timeout f530615 driver-ztex: only reset errors if there are some 8be5da3 driver-ztex: react to new work in 10ms and not 250ms f553c50 ztex: if we had only errors in one round we do not count the errors ccee686 ztex: precheck the secondary solutions to avoid hw errors the ztex bitstreams gives back the latest checked nonce and its hash7 value and two possible solutions. 07db1ed BFL USB api.c usbstats 03c2cab BFL include all USB requirements 70b47a7 BFL USB - README and FPGA-README b099615 BFL report USB device numbers for init errors and allow faster 'reinit' ec9b32a Zero the best share string memory when zeroing stats. 040ec58 BFL USB build changes cbf6c71 BFL libusb driver b53372b Bump version to 2.10.4 5e83030 Update NEWS. e1387dc Change the pool stratum socket buffer to be dynamically allocated to accomodate any size coinbase and keep receiving data in recv line for up to 60s if no end of line has been received. 6e2e7d3 Differentiate socket full from sock full. 7f46f6e Allow stratum to startup without notify but check it is valid before creating stratum work. e1d7ecd Do not try to generate stratum work unless the notify command has succeeded. 34a6c59 Reset total diff1 shares when zeroing stats as well to show correct work utility. 067a0cd Bump version to 2.10.3 839f1aa Remove unmaintained debian build directory. d72b7af Update documentation. 8958ee4 Do not give the share submission failure message on planned stratum disconnects. 944af31 Parse anything in the stratum socket if it's full without waiting. Empty the socket even if a connection is not needed in case there are share returns. eaa935b Merge pull request #372 from denis2342/claim 1eac91f Merge pull request #373 from csjones/master dd4e515 Provide a mechanism to zero all the statistics from the menu. d3bfee1 Display the current pool diff in the status line. fedf0f1 Display block diff in status line. 98151b2 Generalise the code for solving a block to enable block solve detection with scrypt mining. f0c1782 Generate the output hash for scrypt as well and use the one function to set share_diff. f86e893 Use the flip80 function in regeneratehash and the correct sized hash array. 61e86bb Use one size for scratchbuf as a macro in scrypt.c 93e3c16 Stage work outside of the stgd lock to prevent attempted recursive locking in clone_available. 3487948 share_diff needs to be performed on a BE version of the output hash to work, leading to false best_share values as spotted by luke-Jr. deb9aec Remove the unused sha224 functions. 432bfd0 Use the flip functions in hashtest. 54e218b Simplify the setting of the nonce data field in work on submitting nonces. 69dd5af Scrypt code does not enter the hashtest function. 9fd60bb Merge branch 'master' of github.com:ckolivas/cgminer df7370d Go back to cloning available work under staged lock. 503c527 Updated links to AMD APP SDK f11acd2 Updated link to ADL SDK d91dc18 scrypt_diff uses a uint64_t as well. bb64799 Correct target for stratum support with scrypt mining. 01d7b26 libztex: fixed a typo 29ff107 libztex: check returnvalue of libusb_claim_interface() and release the interface in case of early exit b9c7f3d Remove debugging message :P b88d28e Bump version to 2.10.2 42b1da2 Update NEWS. a07e015 Stop all work from the current pool if it's a stratum pool once it is disconnected since it will be invalid upon reconnecting. 8dbb3fa Discard all staged work from stratum pools as well as the shares upon disconnection since all the work becomes invalid. a7128e0 Use correct cbreak after 15 second delay when no pool is found alive. 4f1f5c8 Revert "Reset lagging flag after it has been used in the getwork scheduler." 732393d Merge pull request #371 from kanoi/mmq 473d909 MMQ missing firmware -> ERR not DEBUG 1926790 Reset lagging flag after it has been used in the getwork scheduler. 14457a0 Allow stratum to work with scrypt. 34b15a6 Merge pull request #370 from kanoi/mmq f000305 MMQ ensure delta clock can never exceed limits d848289 MMQ lowercase new string constants 4ab19c7 MMQ add api pgaset for clock e931b72 API V1.23 - new pgaset command, to be used soon 3b91033 Protect the best_share/best_diff values under control lock. 368f503 Merge pull request #369 from kanoi/mmq 5ab2f3a MMQ style police 072909a MMQ count work check timeout failures 38ff2a7 MMQ allow partial work replies and count them dfd7758 Merge branch 'master' of github.com:ckolivas/cgminer 9ef73d9 Check a stratum pool hasn't gone dead while being a backup pool and missed having its idle flag cleared. 2653c90 MMQ overheat: remove clockdown (doesn't help) + ensure no lost shares d8db909 Merge pull request #368 from kanoi/minerphp e81c27f API-README grammar e834a1f API-README explain custom page extensions in miner.php 5b344af miner.php add a sample group pool report 35d18e8 miner.php allow where,group,having on cumstom pages 85e6c6d Bump version to 2.10.1 8ed1e9d Update NEWS. de8af8d Merge branch 'master' of github.com:ckolivas/cgminer cada0d3 Check for EWOULDBLOCK when supported in send and recv as well. 3c0d414 Merge pull request #367 from kanoi/minerphp 2274af6 Use the raw send() command instead of curl_easy_send since curl raw socket usage introduces random bugs on windows. f66d59d Use raw recv() command in place of curl_easy_recv since the curl implementation introduces random bugs on windows builds when the recv fails. a54a72c miner.php when displaying a single rig, add prev/next rig buttons if they exist, next to refresh 38f912f miner.php allow custom page joins for STATS 6b6ff39 Merge pull request #366 from kanoi/usb2 454bc4c API show if pool has GBT (so people know not to use that pool) fd1bd9e Merge pull request #365 from kanoi/api 05082c8 Merge pull request #364 from kanoi/mmq c217f4c Merge pull request #363 from kanoi/icarus 55fadb3 Merge pull request #362 from kanoi/main f36c7e6 Merge pull request #361 from kanoi/usb2 3e8f74c Merge pull request #360 from denis2342/ztex 87e66ef miner.php - include windows easyphp link abae6b9 driver-ztex: use the correct size for the swap array 800ea01 API stats - display pool byte transfer stats 138465b Pool store data transfer stats ae2b3a2 README ModMiner dependency 43e8b88 Benchmark incorrect work size f44dd60 ChangeLog refer to NEWS f3f8b4f MMQ handle over temp differently and hash longer 7c01f16 driver-ztex: search the complete noncerange based on the actual speed d3aed9f Merge pull request #358 from kanoi/api 56801c6 Merge pull request #359 from kanoi/main a077362 README - update ModMiner details 55a6c92 API-README update a58933d api use a dynamic io buffer, truncated before it reaches the current ~64k limit 13bee98 Update README f3a82b9 Update NEWS. ac3020f Include prctl header for thread renaming to work. e51ee93 Set tv_idle time if a pool is not active when input from the menu. 7d14572 Merge pull request #355 from denis2342/ztex b4908ed Merge pull request #356 from kanoi/api 440edfc usb display message when device is in use/another cgminer e2c8a1d libztex: avoid the use of libusb_error_name() 70b6287 Merge pull request #354 from kanoi/api 58a7226 minor unlikely zero pointer test c3fb1bc Revert "Selectively discard all work items if a longpoll or stratum restart is received without a new block to work on." 69494c1 BeaverCreek doesn't like BFI INT patching. 1922e49 Only stratum pools that are idle need to be kicked via cnx_needed. c70a265 Merge pull request #353 from kanoi/api f19b03c mmq - abbreviate the temperature numbers 0c41b1b Merge branch 'master' of github.com:ckolivas/cgminer f3b96b8 Do not do any setup if opt_api_listen is disabled in api.c. 634958f Merge pull request #352 from kanoi/api e6efec4 usbutils.c uninitialised usbstat for non-primary mmqs 2b5467c Merge branch 'master' of github.com:ckolivas/cgminer c5d9f3a Only set the lagging flag for select_pool() on failed getwork if we're not in opt_fail_only mode. 6d848e2 Merge pull request #351 from denis2342/ztex 0559d0b libztex: in case the selectFpga() failed set the selected fpga to unknown 43be78c Merge pull request #350 from sharky112065/master ccbe0e6 Modified windows-build.txt to update git instructions. 40f5362 Merge pull request #349 from denis2342/broken_fpga 031ba75 Merge pull request #348 from denis2342/ztex f5a5759 libztex: use a function for the twice called firmware reset code 9b1d0c9 libztex: removed an unused struct member (ztex->valid) 26ef730 driver-ztex: support for broken fpga on a multifpga board 383b42f Set the pool lagging flag on startup to avoid it being shown initially, and only unset it once the maximum number of staged work items has been reached. 8feb302 Avoid recursive locking of the stgd lock. c59aeb5 Revert "Wake the getwork scheduler after every restart threads." 31f7509 Selectively discard all work items if a longpoll or stratum restart is received without a new block to work on. 5b03e74 Wake the getwork scheduler after every restart threads. 15e5e36 Return value of keep_sockalive is no longer used. 8fcc67f Remove dependency on mstcpip.h for windows build by making curl version >= 7.25.0 mandatory on windows builds, and use curl functions for keepalive whenever possible instead. 01b9c6d Make main() the getwork scheduler once everything is set up, so that all app exits use the kill_work and quit paths. b53fa54 Merge pull request #347 from denis2342/ztex dba0072 ztex: more style and whitespace fixes c1b0143 Merge pull request #346 from denis2342/ztex 44c0f72 libztex: silenced another warning 68f1b2c Set successful connect to true on auth stratum to allow summary on exit from single stratum pool. 30f6840 Only consider work stale for stratum of different job_id if it's not a share. c63916d Increment version preempting changed version signifying different codebase to 2.9 67a9af6 Hash_pop should signal further waiters on its own pthread conditional in case there are multiple waiters. 5c4c2d6 Check the job_id has not changed on stratum work when deciding if the work is stale as might occur across disconnections. fcb2653 Perform pool_resus on getwork pool that generates work in getwork_thread. 3d1e9f5 Set pool lagging message for getwork pool that falls to zero staged in getwork thread. 927730a Stage extra work when the primary pool is a getwork pool without rolltime. 24de9b8 Do not try to clean up twice if kill message is given. 84b44fd Only recalculate total_staged in getwork thread if required. 77ef4c2 Include the correct config header in libztex and include it before other includes. 86c0851 Merge branch 'master' of github.com:ckolivas/cgminer b280555 Implement a completely new getwork scheduler. Stage all work from the one thread, making it possible to serialise all requests minimising the number of getworks requested or local work generated. Use a pthread conditional to wake up the thread whenever work is removed to generate enough work to stay above the watermark set by opt_queue. Remove all remnants of the old queueing mechanism, deleting the now defunct queued count. 0aefc9b Merge pull request #345 from denis2342/ztex b7753e3 libztex: fixed some warnings and removed some whitespaces a24483e Merge pull request #344 from denis2342/ztex 69a688f libztex: silenced some warnings dd65818 Remove all references to the now unused workio_cmd structure. ed1b5ca Remove the old workio command queue thread, replacing it with a kill conditional to exit the program. 59ddfd0 Remove getwork command from workio_cmd queues and do them directly from queue_request. c99636f Begin tearing down the old workio command queues by removing submit commands from there and submit them asynchronously via their own threads. 5dc2588 Merge pull request #343 from denis2342/ztex be5316b Update windows build instructions. be013e9 Set pool probed to true on successful authorisation with stratum to avoid it being pinged later with pool_getswork. 1a8fe32 Bugfix: Free filename entry for writing config file when done with it f7083c0 driver-ztex: libztex_setFreq() must be called before ztex_releaseFpga() e59f668 driver-ztex: changed two pairs of malloc()/memset() to calloc() b48b2cc libztex: Read bitstream file in 2kb blocks with simpler and faster code a4fead5 Added the binary versions of ztex_ufm1_15d4.ihx and ztex_ufm1_15y1.ihx d4f4c93 Trivial space removal. 1203f1f libztex: Add firmware download support for ZTEX 1.15d and 1.15x f967392 libztex: Factor out local version of libusb_get_string_descriptor_ascii() 52de717 Shut up some boring old cpu warnings. 8ebf4f6 Style changes. c0cd006 Allow pool active to be called on stratum or disabled pools in the watchpool thread if the pool has not been probed. 90b3e6a libztex: Make log messages say bitstream when refering to bitstreams d9479b2 libztex: Don't return error when a bitstream was already configured b70edef libztex: Read bitstream file in 64kb blocks with simpler and faster code a5b2845 libztex: Verify that the mining firmware is not a dummy firmware 843e912 libztex: Match mining firmware ZTEX descriptor against the dummy firmware 52b4bae Combine shared padding into one char. 8d7ad82 libztex: Start download sequence only after reading in the new firmware 584dc5a libztex: Download mining firmware to all devices with dummy firmware e14d1d6 Merge pull request #340 from kanoi/main 120fc7a lock (most of) the threaded statistics updates 0266ac2 Merge pull request #342 from kanoi/api ea39a3c README stats don't add up b96dd78 Merge pull request #341 from kanoi/usb2 3a91d8e usbutils.c remove compiler warning b86aa20 Make need connection return true if a pool is idle. 777f057 Merge pull request #339 from kanoi/api e55fe73 API add Best Share to summary c4b17ae Check on creating new GBT work if the structures are up to date and update them as required rather than regularly. 4fbe435 Update windows build instructions. 401357e Enable backup stratum connections for getwork when the primary pool doesn't have longpoll aka solo mining. 289d680 Check for correct absence of opt_fail_only in cnx_needed. 4b28c85 Remove unused variable. f4d305a The specification for stratum has been elaborated to say that a changed diff applies only to new work so do not retarget when submitting shares. 1ad671b Use a variable length string array in submit_upstream_work to cope with massive GBT submissions. a67e96c API lock access to some summary statistics (and copy them) fc5d3a0 Suspend stratum connections to backup pools when there is no requirement to potentially grab work from them. 16637ac Fix missing export for RenameThread. 9a71654 Merge pull request #338 from denis2342/threadname 28f251e Merge pull request #336 from kanoi/usb2 4fbdc1e enumerate the mining threadnames 7993d25 MMQ avoid possible number overrun crashes 152e7e3 mmq usb v0.4 + api usb stats 271b05a setting the name of the threads for linux,freebsd,openbsd and osx code is borrowed from bitcoins util.c, so it is already tested 4584068 Don't show broken WU value with scrypt mining. fc66a41 Style police. b884354 Remove unused getwork times in getswork. 6cc490a Fix readme wordwrap. e885c28 Merge pull request #337 from EskimoBob/patch-1 a6dce87 Merge pull request #335 from denis2342/ztex 3ab03e8 Merge pull request #334 from denis2342/pkgconfig 28b52dc Bump version to 2.9.6 029ce3b Update NEWS. cc14f16 Make gen_stratum_work more robust by using a dynamically allocated array for the header in case bogus data is sent by the pool to avoid overflowing a static array. f94cff7 Microoptimise and remove redundant copy of strdup function in calloc_strcat. 53c9cda scrypt_diff now returns a uint64_t d8e1899 Support monitoring and reporting much higher diffs for scrypt mining, truncating irrelevant zeroes from displayed hash. 33c9faa Pass ostate values around in scrypt to be able to extract full hashes if needed later on. 0ae02c6 Since we will be using calloc_str to put a string into it, convert the function to calloc_strcat which does it automatically. 01eb807 Revert "Handle crash exceptions by trying to restart cgminer unless the --no-restart option is used." bc4f6d9 Count longpoll and GBT decodes as queued work since the count otherwise remains static. 1746e47 Use the string helper functions to create gbt blocks of any length. ee8609d Provide helper functions calloc_str and realloc_strcat to create and extend arbitrary length arrays based on string length. beab2ba Update ADL_SDK/readme.txt d58d09e Merge branch 'pkgconfig' into ztex 0e5c716 ztex: Correctly release mutex and reset FPGA if configuration fails b28dbc2 ztex: Harmonize low-speed FPGA configuration code with high-speed code 4629553 ztex: Display FPGA clock frequency with only one decimal 1c204dc libztex: Silence warning: comparison between signed and unsigned 30c5a16 configure.ac: Support FreeBSD libusb which doesn't have libusb-1.0.pc 318ef85 Require pkg-config to find libusb-1.0, and fix libusb.h #includes cffc21d Bump version to 2.9.5 8bc6050 Revert "Find libusb-1.0 with pkg-config except on mingw, and fix #include path" 30ade16 Revert "configure.ac: FreeBSD can't use pkg-config to find libusb-1.0" 590bce8 Update NEWS. a8ccd24 Merge pull request #332 from nelisky/openwrt 6db7e2e fixes target calc for mips openwrt c93e5e9 openwrt needs roundl 30ed3fb Get rid of unused last_work in opencl thread data. 217be6e Do away with the flaky free_work api in the driver code which would often lose the work data in opencl and simply flush it before exiting the opencl scanhash. c34ff36 Use base_work for comparison just for cleanness in __copy_work 73671ab Remove all static work structs, using the make and free functions. 3ab92ef Add pool no. to stale share detected message. 850d07d Add info about which pool share became stale while resubmitting. ce7801b Copy the work on opencl_free_work 14e169b Add an extra slot in the max backlog for ztex to minimise dupes. 31e4394 Do not use or count or use the getworks submitted which are simply testing that pools are still up. This was increasing share leakage and making stats not reflect real work. 2d35ac2 Track all dynamically allocated memory within the work struct by copying work structs in a common place, creating freshly allocated heap ram for all arrays within the copied struct. Clear all work structs from the same place to ensure memory does not leak from arrays within the struct. Convert the gbt coinbase and stratum strings within the work struct to heap ram. This will allow arbitrary lengths without an upper limit for the strings, preventing the overflows that happen with GBT. 641dbce Merge pull request #330 from luke-jr/err_func_nostart 833ecf9 Merge pull request #331 from denis2342/master 972ddf7 libztex: Work around ZTEX USB firmware bug exposed by the FreeBSD libusb 4e70616 configure.ac: FreeBSD can't use pkg-config to find libusb-1.0 ce72dbe Find libusb-1.0 with pkg-config except on mingw, and fix #include path cce7508 opencl: Use new dev_error function for REASON_DEV_NOSTART 759e955 Bump version to 2.9.4 0175c49 Update NEWS. e55ef04 Revert "Find libusb-1.0 using pkg-config and correct the libusb.h #include path" 2696738 Revert "configure.ac: Don't use pkg-config to search for libusb-1.0 on FreeBSD" aa72db3 Provide rudimentary support for the balancing failover strategies with stratum and GBT by switching pools silently on getwork requests. 40a3331 Remove unintentional block of code in reuse_work. 86fd23a Convert remaining modminer and bfl uses of usleep to nmsleep. dc7fc13 Convert libztex to nmsleep where possible. 90d1d7b Convert unreliable usleep calls to nmsleep calls in ztex driver. 9ad02fe Support workid for block submission on GBT pools that use it. 0b088d8 Provide rudimentary support for literal ipv6 addresses when parsing stratum URLs. 61f4e9d Revert "Discard all work on longpoll, not just work cgminer recognises as stale." efaa1b0 Work around libcurl cflags not working on hacked up mingw installations on windows. 09a5269 Merge pull request #329 from denis2342/master f14bf5b Merge pull request #326 from pshep/error_counters b606621 Only increase gpu engine speed by a larger step if the temperature is below hysteresis instead of increasing it to max speed. 4039ee7 Convert pool not responding and pool alive message on backup pools to verbose level only since they mean a single failed getwork. 52b86b5 Update work block on the longpoll work item before calling restart threads to ensure all work but the longpoll work item gets discarded when we call discard_stale from restart_threads. 1470eea Discard all work on longpoll, not just work cgminer recognises as stale. 8898330 Do not attempt to remove the stratum share hash after unsuccessful submission since it may already be removed by clear_stratum_shares. d0c10b7 configure.ac: Don't use pkg-config to search for libusb-1.0 on FreeBSD 171c3d0 Find libusb-1.0 using pkg-config and correct the libusb.h #include path d15515b Check against a double for current pool diff. b3864d1 Support for fractional diffs and the classic just-below-1 share all FFs diff target. 97059e4 Bump version to 2.9.3 1832dbd Make header larger on gen stratum work to accomodate \0 at the end. 96b372c Bump version to 2.9.2 54bd1cf Update NEWS. 66a9577 Fix mistaken disabling of opt_restart in other code. 89cb141 Use stratum block change from backup pools as an alternative to longpoll for pools that don't support LP. 38eb4ee Check share target diff for best_share to be calculated when solo mining. 7993095 Round some more static string arrays to 4 byte boundaries. 17aa87b There is no need for the static arrays to be larger than required, so long as they're 4 byte aligned to appease ARM. 149781c Revert "Change default log interval to 3 seconds for faster screen refreshes since vardiff will prevent massive on screen hash updates in the future." 298ffcb Store the full stratum url information in rpc_url for correct configuration file saving. 2cf0767 Put in a hack to prevent dud work from sneaking into test_work_current being seen as a new block. ad2ed57 Reset the work->longpoll flag where it will affect stratum work items as well. 1d7e19f Check for both coinbase/append and submit/coinbase support before using GBT protocol. 878f4d5 First pass through testing for GBT should not set probed to true since we are about to probe again. 598ee76 Hash1 is only used by the deprecated cpu mining code and never changes so remove it from the work struct and bypass needing to process the value for all other mining. f1f6b31 Change default log interval to 3 seconds for faster screen refreshes since vardiff will prevent massive on screen hash updates in the future. 6893c0b Get a work item once per second for all getwork and GBT pools to test they're still alive and to maintain a current GBT template. dad6c70 Merge branch 'master' into error_counters 01db191 Merge branch 'master' of https://github.com/ckolivas/cgminer.git dd671ba Get a fresh block template with GBT pools on switching to them. b57edb4 Bump version and news to 2.9.1. be82cc7 Reset work flags to prevent GBT shares from being submitted as stratum ones after switching. d6b9442 Bump version to 2.9.0 df51751 Update NEWS. a8e1ebb Add endian swap defines for where missing. a47a788 Only retarget stratum shares to new pool diff if diff has dropped. 498882d Remove resetting of probed variable when detecting GBT. 27ce497 Count lost stratum share submits and increase message priority to warning. 418d15d Only retrieve a new block template for GBT pools that are the current pool. 69f341c Remove errant counter. 75d0a45 Show which pool untracked share messages have come from. e015720 Add management for dead GBT pools. 9ebc321 Merge branch 'master' into gbt bddbddd Merge branch 'master' of github.com:ckolivas/cgminer ab1fa25 Merge pull request #324 from CyberLeo/build_on_freebsd ffb8a29 Count lost shares with stratum as submit stale lost. 0465fef Discard record of stratum shares sent and report lost shares on disconnection since they will never be reported back. 0314081 Swab, don't just swap the bytes in the GBT target. 275bb9c Change status window message for GBT connected pools versus LP. 1321cb0 Generate a gbt work item from longpoll when required to set new block and message appropriately. 10ea5fb Use existing pool submit_old bool from gbt data. f71b423 Retrieve a new block template if more than 30 seconds has elapsed since the last one to keep the data current and test the pool is still alive. fc94e00 Update GBT longpollid every time we request a new longpoll. cc7c274 Manage appropriate response codes for share submission with GBT. 345e72e Allow the longpoll thread to start with GBT and only set the longpollid once. 85f400b Correct last few components of GBT block generation courtesy of Luke-jr. 84173c6 missing a break. 14c436e Use correct length for offsetting extra nonce and remaining data. 9f74e65 Tidy up device error counts a4e78be Flip all 80 bytes in the flip function which was wrongly named flip256 for its purpose. 8bc677a Calculate midstate for gbt work and remove now unused variable. 0ba5f0f Use a standard function for flipping bytes. 734f3d1 Insert the extra nonce and remaining data in the correct position in the coinbase. 611c316 Remove txn size debugging and enlarge gbt block string to prevent overflow. bd38488 Remove varint display debugging. cb6f034 Build varint correctly for share submission and sleep 5 seconds before retrying submit. 88b6f79 Make gbt_coinbase large enough for submissions, swap bytes correctly to make a header from GBT and encode the number of transactions in share submission. 889ed23 Store the fixed size entries as static variables in GBT in binary form, byteswapping as is required. cdc3c87 32 bit hex encoded variables should be in LE with GBT. 2914a5e Target and prevblockhash need to be reversed from GBT variables. 6b34faf Construct block for submission when using GBT. 59087a5 Use same string for debug as for submission and make string larger to cope with future GBT messages. 914e88b Skip trying to decipher LP url if we have GBT support. c5c5fb8 Store all the transaction hashes in pool->txn_hashes instead of separating txn0 and correct generation of merkle root, fixing memory overwrites. 5acb182 Hook into various places to generate GBT work where appropriate. 875ca0f Create extra work fields when generating GBT work. 2bfb293 Generate header from correct hashing generation of the merkle root for GBT. cbc246e Generate the merkle root for gbt work generation. 8d0f748 Create a store of the transactions with GBT in the minimum size form required to generate work items with a varied coinbase. 3858e99 Merge branch 'master' of https://github.com/ckolivas/cgminer.git 4a72a15 Create a function that generates a GBT coinbase from the existing pool variables. 813e814 Extract and store the various variables GBT uses when decoding gbt work. 432b263 Check for invalid json result in work_decode. 56b1695 Decode work in separate functions for getwork vs gbt. 26e0115 Check for the coinbase/append mutable in GBT support to decide whether to use it or not. d10699d Add a gbt mutex within the pool struct for protecting the gbt values. 8afc1f6 Convert work decode function to prepare for decoding block templates. 1c456d4 Check for GBT support on first probing the pool and convert to using the GBT request as the rpc request for that pool. f4cc59f Make the rpc request used with getwork a pool variable to allow it to be converted to/from gbt requests. dc7c57d Changes to build prototypes to support building on FreeBSD 9.1-RC2 amd64 c2b5c5e Bugfix: Free old stratum_work data before replacing it c2861d6 There is no need for addrinfo any more. a2d5783 server and client sockaddr_in are no longer used in struct pool. 7e17af6 Merge pull request #322 from luke-jr/bugfix_stratum_tmpwork e19c5d9 Set sshare id and swork_id within the sshare mutex to avoid multiple share submits with the same id. 280486a Bugfix: Initialize temporary stratum work bbe5636 Bump version and NEWS to 2.8.7 d92609e Fail on select() failing in stratum thread without needing to attempt recv_line. 843fa33 Add share to stratum database before sending it again in case we get a response from the pool before it's added. dd2b7e5 Merge branch 'master' of git://github.com/ckolivas/cgminer.git add9b23 Bump version number to 2.8.6 e4e3cb4 Update NEWS. 48f2422 Shorten the initiate stratum connect timeout to 30 seconds. d28a844 Shorten the stratum timeout on read to 90 seconds to detect unresponsive pool. c086ef8 Display best share difficulty on exit. 6f4c47e Make stratum socket fail more robust on windows by disabling the send buffer. Reuse the same curl handle forcing a new connection instead of risking derefencing. Add information about submission failure to stratum send. cafe9aa Only add stratum share to database if we succeeded in submitting it, with a debug output saying it succeeded. aa97e87 Use keepalive with stratum sockets to improve its ability to detect broken connections. d927655 Show only the URL in the status bar to avoid long prefixes making for extra long lines. 2e56706 Display compact status in menu and update README to reflect current menu entries. d97e19f Add a compact display mode that does not list per device statistics in the status window. 784a41c Add blank spaces after best share displayed. d85b60c Round a few static string arrays up to 4 byte boundaries for ARM. 7bca8a0 Display best share diff for scrypt as well. 27aa82a Show the best diff share as "best share" and add info to the README. a6cb920 Display the best diff share submitted so far. 1b8b505 Merge branch 'master' of git://github.com/ckolivas/cgminer.git f7b79e3 Redundant check. 8bd8696 The work struct pointer in struct pc_data in findnonce is never freed yet there is no need to allocate it separately so make struct work a static part of the struct pc_data. s c65ff0d Merge branch 'master' of https://github.com/pshep/cgminer.git a86b592 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 6691d9d Bump version number to 2.8.5 26f7a37 Update NEWS. 68c881f Handle crash exceptions by trying to restart cgminer unless the --no-restart option is used. 9ccc418 Switch queued count when choosing a different pool from a failed stratum pool in getwork thread. 334a9db Put a mandatory 5s wait between reattempting a getwork on failure to avoid hammering requests. d2e8725 The ATI stream / AMD APP SDK environment variables appear to only interfere with win32 builds so bypass them. 6d3c880 Make sure to check pool stratum curl exists under lock before attempting any recv to not risk dereferencing upon attempting to reinitiate stratum. e575763 Avoid redefining macros and align to 4 byte boundaries. 617ee96 Merge pull request #321 from kanoi/mmq 29484e8 API - add Stratum information to pools 7a0a359 Merge pull request #320 from kanoi/mmq 081554b Merge branch 'master' of git://github.com/ckolivas/cgminer.git 254bc2f update FPGA-README for MMQ b0d98c7 Bump version number to 2.8.4 433808b Update NEWS. 1725179 Merge pull request #319 from kanoi/mmq e561bfe Revert "Rename INCLUDES in Makefile.am." 101394a Time for dynamic is in microseconds, not ms. e341e34 Rename INCLUDES in Makefile.am. 0a1fcad x86_64 builds of mingw32 are not supported directly and should just configure as generic mingw32 builds since they're NOT 64 bit. 8fb777a Cope with both ATI stream and AMD APP SDK roots being set when building. 3fce32f Use 3 significant digits when suffix string is used and values are >1000. fc14b2e MMQ new initialisation (that works) and clocking control 68f9af2 Get rid of unused warning for !scrypt. bb4bec9 Use select on stratum send to make sure the socket is writeable. 2aa5163 Cope with dval being zero in suffix_string and display a single decimal place when significant digits is not specified but the value is greater than 1000. 54d2999 Pad out the suffix string function with zeroes on the right. 99adf39 Failure to calloc in bin2hex is a fatal failure always so just check for that failure within the function and abort, simplifying the rest of the code. b3d4258 Provide locking around the change of the stratum curl structures to avoid possible races. 53c3cce Bump opencl kernel version numbers. 775a272 Remove atomic ops from opencl kernels given rarity of more than once nonce on the same wavefront and the potential increased ramspeed requirements to use the atomics. 5fcc861 Clear the pool idle flag in stratum when it comes back to life. 7adb7a3 Display correct share hash and share difficulty with scrypt mining. 04c7a21 Use explicit host to BE functions in scrypt code instead of hard coding byteswap everywhere. 57aac50 Show work target diff for scrypt mining. 25c39c9 Ease the checking on allocation of padbuffer8 in the hope it works partially anyway on an apparently failed call. e5babfa Watch for buffer overflows on receiving data into the socket buffer. d4f8a0b Round target difficulties down to be in keeping with the rounding of detected share difficulties. 7450b25 Dramatically simplify the dynamic intensity calculation by oversampling many runs through the opencl kernel till we're likely well within the timer resolution on windows. 2a9b3e3 String alignment to 4 byte boundaries and optimisations for bin<->hex conversions. 1c22c0e In opencl_free_work, make sure to still flush results in dynamic mode. bd377f7 Align static arrays to 4 byte boundaries to appease ARM builds for stratum. c569662 Merge branch 'master' of git://github.com/ckolivas/cgminer.git a63fc8c Bump version to 2.8.3 b976261 Update documentation. 13676ef Left align values that are suffix_string generated. f22fe76 Share_diff should not be converting the work data to hex. 6cebabe Update readme describing difficulty displayed on log lines. fc72ad5 Off by one error. 9ccfcee Prevent overflows of the port char array in extract_sockaddr. 7c7e511 Disable stratum detection with scrypt. c3bdb35 Use the suffix string function when displaying device hashrates. 660a0ff Correct variables used in get_statline a10e329 Be consistent with the get_statline function. 911b178 Use the suffix string function for displaying hashrate with 4 significant digits. 420fdf3 Display the actual share diff next to the pool required diff, using a suffix creation function to prevent values of >1000 being shown in their entirety. 55396f5 Fix 4 * 0 being 0 that would break dynamic intensity mode. d15c70f Fix wrong byteswap macro being used on mingw32 which was breaking target generation on stratum. a977fa4 Fix lack of htobe64 on mingw32. ccaf731 Bump version to 2.8.2 78f2be1 Update NEWS. 4fbc570 Reinstate the history on dynamic intensity mode to damp fluctuations in intensity but use an upper limit on how much the value can increase at any time to cope with rare overflows. d211f8e Create a fix-protocol option which prevents cgminer from switching to stratum if it's detected. 5ed6e9d Simplify target generation code. 7f522ef Add support for client.get_version for stratum. ca962ee Use a 64 bit unsigned integer on the diff target to generate the hex target. a533f10 Update reconnect message to show whole address including port. 5226a39 Look for null values and parse correct separate array entries for url and port with client reconnect commands for stratum. 7c04a00 The command for stratum is client.reconnect, not mining.reconnect. ef6ad42 Only copy the stratum url to the rpc url if an rpc url does not exist. 783af87 Implement rudimentary mining.reconnect support for stratum. 974f65c Ignore the value of stratum_active on calling initiate_stratum and assume we're always trying to reinitiate it, and set the active flag to false in that function. 07605fa stratum auth can be unset if we fail to authorise on subsequent calls to auth_stratum which undoes the requirement of setting it in one place so set it in pool_active. 80d4355 Remove free that could segfault. e0864a6 Bump version to 2.8.1 295469c Update news. 7d6bcab Use the stratum url as the rpc url advertised if we switch to it. 2b6e367 Count an invalid nonce count as a hardware error on opencl. 662ab1e Count each stratum work item as local work. 2023e53 Cope with one stratum pool being the only active pool when it dies by sleeping for 5 seconds before retrying to get work from it instead of getting work indefinitely. ef822a2 Detect stratum outage based on either select timing out or receiving an empty buffer and properly re-establish connection by disabling the stratum_active flag, coping with empty buffers in parse_stratum. f25c34b Bump version to 2.8.0 1614da6 Update NEWS and README. b41de69 Fix various modminer warnings on mingw. 2c80e16 Fix sign warning on windows build for bitforce. 1afb794 Cast socketfail to integer since SOCKET is an unsigned int on windows. 0a90207 Merge branch 'master' into stratum 735d77f Use strtod not strtol for bitforce temp backup. 947a67e Cope with broken drivers returning nonsense values for bitforce temperatures. 8faeecc Bump version to 2.7.7 cc3b693 Minor warning fixes. 8dcdf81 Update NEWS. fefdb71 Fix unused warnings on ming build. aa35fbc Fix sign warning in ocl.c 58bba40 fds need to be zeroed before set in modminer. 40b747b Put scrypt warning on separate line to avoid 0 being shown on windows as bufsize. 461b7c6 Display correct pool number when block is found. 2ff1610 Prevent corrupt values returned from the opencl code from trying to read beyond the end of the buffer by masking the value to a max of 15. 0097757 Merge pull request #316 from kanoi/icarus 8a650a6 Merge pull request #315 from kanoi/api 53658fb Merge pull request #314 from kanoi/main 8a32f38 Use the stratum thread to detect when a stratum pool has died based on no message for 2 minutes. 0cddd1a Only set the stratum auth flag once and once the stratum thread is started, use that to set/unset the stratum active flag. 7a01578 Only hand off to stratum from getwork if we succeed in initiating the protocol. 8893f7a Target should only be 32 bytes copied. 687fed1 Use a static array for work submission data instead of stack memory. c4aa8d2 Clear the buffer data before sprinting to it. f0901e0 Clear work stratum strings before setting them and add them to debug output. ef63ea3 Drop stratum connect failed message to verbose level only since it's a regular probing message. fa44429 TCP Keepalive in curl is only in very recent versions and not required with regular messages on stratum anyway. a8d6930 Move stratum sockets to curl infrastructure with locking around send+recv to begin support for proxies and ssl. 591c433 Make detect stratum fail if a proxy has been set up. 51c499a Stratum does not currently have any proxy support so do not try to switch to stratum if a proxy has been specified. deb0a9b Windows doesn't work with MSG_PEEK on recv so move to a continuously updating buffer for incoming messages. 77c5a00 Alloca is unreliable on windows so use static arrays in util.c stratum code. c113534 Begin support for mingw stratum build. 3c85498 Add space to reject reason. b4450bb Parse the reject reason where possible from stratum share submission. 512d244 Pass json error value to share result function to be able to parse reject reason in stratum. 2fae906 Don't try to parse unneeded parameters in response to mining.subscribe. 9698858 Remove the sshare hash entry if we failed to send it. 3cb373d Change notify message to info level to avoid spamming repeatedly when a pool is down. 284b786 Check the stratum pool difference has not changed compared to the work diff when testing whether a share meets the target or not and retarget if necessary. ac0c813 Bit error in target calculation for stratum. 310239b Revert "Parse reject reason from the stratum json error code if there is one." 3d982df Set work_block in gen_stratum_work for when work is reused to avoid thinking it's all stale. 74c1194 Offset the current block detection to the prev block hash. c6a3d06 Parse reject reason from the stratum json error code if there is one. 9e0e615 We should be testing for id_val, not id in parse stratum response. fdaabf5 Make target on stratum scale to any size by clearing sequential bits according to diff. a8a8ed6 Correct target calculation in gen_stratum_work. 925d019 If a share result has an error code but still has an id, it is likely a reject, not an error. 1b7aa48 Initiate stratum the first time in pool_active only, allowing us to switch to it on getting a failed getwork and detecting the presence of stratum on the url at that time. d122a78 Use 5 second timeout on sock full for now as a temporary workaround. d851bf3 Revert "Don't wait on select when first detecting stratum, just receive one line." 496af92 Don't wait on select when first detecting stratum, just receive one line. 210bc9b If no stratum url is set by the end of the detect stratum routine, copy the sockaddr url. 78aafce Make all buffers slightly larger to prevent overflow. bbb092e Make the stratum recv buffer larger than the recvsize. df91df3 Userpass needs to be copied to user and pass earlier to allow stratum authorisation to work with it. 2941feb Store a sockaddr url of the stripped url used in determining sockaddr to not confuse it with the stratum url and fix build warnings. 2ccb6d7 Decrease the queued count with stratum work once it's staged as well. 601d1ac Allow the stratum retry to initiate and auth stratum in pool_alive to make sure the stratum thread is started. 4a7ce9d Avoid duplicating pool->rpc_url and setting pool->stratum_url twice to itself. eaf7ed0 Detect if a getwork based pool has the X-Stratum header on startup, and if so, switch to the stratum based pool. b495a51 Comment update. 2aacd89 Minor message change. 90b1893 Create a work item from a "clean" request from stratum allowing the new block to be detected and the appropriate block change message to be given. b97a33a Use statically allocated stratum strings in struct work to cope with the inability to safely deallocate dynamically allocated ram. e93f679 Use the current pool when deciding whether to reuse work from a stratum source rather than the work's previous pool. 6174c80 Copy the stratum url to the rpc url to avoid none being set. b561773 Provide locking around stratum send operations to avoid races. 8baac0d Submit shares from stratum through the abstracted submit share function detecting what message they belong to and showing the data from the associated work, and then deleting it from the hash. fa4c9bf Use a more robust mechanism to obtain a \n terminated string over a socket. 2de9515 Abstract out share submit as a function to be useable by stratum. 739cba2 Rename parse_stratum to parse_method as it is only for stratum messages that contain methods. b871f69 Display stratum as mechanism in status line when current pool is running it. 9180a55 Count each stratum notify as a getwork equivalent. c2b1504 Icarus USB write failure is also a comms error 6d6692c api.c DEBUG message has no paramter aaaa8a5 Icarus catch more USB errors and close/reopen the port 6593b89 Correct nonce submitted with share. 41acd23 Extranonce2 should be added before coinbase2. fb987fd We should be hashing the binary coinbase, not the hex one. 6136095 Fix endianness of nonce submitted for stratum. aa6aa29 Check that stratum is already active in initiate_stratum to avoid de-authorising ourselves by subscribing again. fab9ff3 Revert "Free stratum buffers added to the work struct when freeing work ram." 7415d7a Begin implementing a hash database of submissions and attempt sending results. 13fdff6 Free stratum buffers added to the work struct when freeing work ram. aa93fa3 Copy parameters from stratum work required for share submission. 4a29759 Set lagging flag on first adding a pool to prevent pool slow warning at startup. 73d61ca Fix work->target being a 32 byte binary in gen_stratum_work. ac47f7f Store and display stripped url in its own variable. 3db6fb4 Create machinery to divert work requests to stratum. 636f4b1 Generate the work target in gen_stratum_work, setting default diff to 1 in case it is not yet set. 2e9ade1 Generate work data, midstate and hash1 in gen_stratum_work. e1468cc Generate header created from stratum structures in gen_stratum_work. 5c74be5 Generate merkle root hash in gen_stratum_work. 1f6fe55 Generate the coinbase for generation of stratum based work. 1f64491 The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum. 1221a80 Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce. 54ab28f Provide rudimentary support for stratum clean work command in the stratum thread. 0455144 Cope with pools being removed in the stratum thread. 0f1f2a6 Use the pool sock value directly in the stratum thread in case it changes after reconnecting. 56255a0 Create a stratum thread per pool that has stratum that monitors the socket and serves received data. 31c3759 Check return value of stratum_parse. ac9a437 Complete authorisation in stratum. 3310265 Implement stratum parsing of notify parameters and storing them in the pool stratum work structure. 9d4a44e Create helper functions for duplicating json strings to avoid keeping json references in use. b86a893 Append \n in the sock_send function instead of adding it when constructing json in stratum. d416d22 Don't keep any json references around with stratum structures. 7e2dcc6 Create parse_stratum function that hands off stratum parameters to other functions to manage pool stratum work struct variables. Implement mining difficulty setting. a6f1a62 Create helper functions for checking when a socket is ready to read on and receive a single line at a time. Begin stratum authorisation process. 07e6bd1 Provide a helper function for reading a single \n terminated string from a socket. 64df34c Create a stratum work structure to store current work variables. 30b665f Test specifically for stratum being active in pool_active. f6f4350 Detect stratum in common place when adding urls, and use a bool to tell us when it's active. 8fd149e Fix warnings. e3f1b02 Extract and store various parameters on stratum init confirming successful mining notify. b519470 Merge branch 'master' of git://github.com/ckolivas/cgminer.git c0de671 Use existing socket macros and close the socket on failure in init stratum. a1b1722 Initiate stratum and grab first json result. 58873c1 Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now. 036c338 API-README update cgminer verison number ee3b786 Prepare for getaddrinfo call. 5e7e150 hashmeter fix stats kh/s on 32bit windows 144a016 Add data structures to pool struct for socket communications. b3cdd80 Put all socket definitions in util.h to allow reusing by added socket functions to be used in util.c. 346d09c Reorder libztex header include order to fix missing struct definition. 54dcd57 Bump version number to 2.7.6 8ec87c6 Update NEWS. 823a710 Display share difficulty on log with a shortened hash display on submission. a63ecf6 Merge pull request #313 from kanoi/main 7c32562 API stats add some pool getwork difficulty stats fd28d9f Ignore any pings pushed to the worker threads if the thread is still paused to prevent it being enabled and disabled repeatedly. c1432db Merge pull request #312 from kanoi/master 149f1d7 README - FAQ - usermod group - shouldn't remove other groups 57a73dc Test for sequential getwork failures on a pool that might actually be up but failing to deliver work as we may end up hammering it repeatedly by mistake. 77d2a20 Merge pull request #311 from kanoi/master 37f8a1f reduce windows compile warnings 41dcb10 util.c - bug - proxy - no data end condition 3243b91 Merge pull request #310 from kanoi/master 6189990 As we average gpu time over 5 work intervals for dynamic GPU intensity, there is no need to maintain a rolling average and it avoids the potential long term corruption of a single overflow value. 55b8f2e Test for the now-automatically exported variable AMDAPPSDKROOT when looking for the presence of the OpenCL headers. 17973c5 API don't change 'Diff1 Shares' - backward compatability FTW 22a8eee miner.php highlighting correctly handling difficulty a6bf276 API - Add last share difficulty for devices and pool 89b6989 Store and report Accepted,Rejected,Stale difficulty in the summary and API 7ede5a5 WorkTime - display prevblock for scrypt a2cc588 api.c remove compile warnings 923b9e0 Calculate work difficulty for each getwork and display with WorkTime debug 8f4cceb remove MMQ unused variable warning ad7aa2b FPGA - allow long or short device names in detect code + style police 796f390 WorkTime - multiple nonce per work and identify the work source bd3c98a Optional WorkTime details with each Accepted/Rejected work item fe7a967 Icarus - ignore hardware errors in timing mode 7293a8a miner.php oops - mistype db0269a miner.php by default don't display IP/Port numbers in error messages ade940b api.c all STATUS messages automatically escaped fd2fa26 api.c add missing escape for comma in MSG_PGAUNW 99f0607 API add display of and setting queue,scantime,expiry e649aa3 HW: dont submit bad shares fced503 save individual pool proxy settings to config 0ac3505 --default-config - allow command line to define the default configuration file for loading and saving 6c25157 API-README update for pools proxy info 6804663 README URL proxy must use quote so show in the example e043f5a bug: remove proxy: from the front of the proxy used cef9731 CURL support for individual proxy per pool and all proxy types 6b2deb0 README spelling/etc 9f9c688 README - FPGA device FAQ 307d8da HW: error counter auto for all devices - ztex code not fixed 9950cff API pgaidentify - unsupported message should be a warning 9487ba0 API/BFL identify a device - currently only BFL to flash the led 7a2407f BFL add throttle count to internal stats + API 71e2f23 BFL: missing device id in log message bd151ef miner.php correct to new Diff1 Work field names 93555e2 API add device diff1 work fd2034c Merge branch 'main' e5347ed API-README update 381478e api.c Correct diff1 field name a5299fe Merge branch 'master' of git://github.com/ckolivas/cgminer.git 4023872 count device diff1 shares 2bf08bb API-README more debug parameter information 568b0fe API allow full debug settings control ba01225 Bump version number to 2.7.5 ae8bacc Update NEWS. 57c3b12 Sort the blocks database in reverse order, allowing us to remove the first block without iterating over them. Output the block number to debug. b34f36b Merge branch 'master' of github.com:ckolivas/cgminer f1c6ae2 Adjust opencl intensity when adjusting thread count to prevent it getting pegged at a value below the minimum threads possible. 26eb918 Merge pull request #307 from kanoi/icarus a178039 miner.h max_hashes -> int64_t f97bf2e Keep the local block number in the blocks structs stored and sort them by number to guarantee we delete the oldest when ageing the block struct entries. d91af89 Use correct sdk version detection for SDK 2.7 69983b7 Revert "Pick worksize 256 with Cypress if none is specified." 3ef6db8 Merge branch 'master' of git://github.com/ckolivas/cgminer.git b768758 Test for lagging once more in queue_request to enable work to leak to backup pools. 579c129 There is no need to try to switch pools in select_pool since the current pool is actually not affected by the choice of pool to get work from. 4a210d4 Only clear the pool lagging flag if we're staging work faster than we're using it. d1683f7 needed flag is currently always false in queue_request. Remove it for now. 1b7db5b thr is always NULL going into queue_request now. 7fe8142 Bump version to 2.7.4. cf6033c Update NEWS. 0e0093e Select pool regardless of whether we're lagging or not, and don't queue another request in switch pool to avoid infinite recursion. 5095ed2 Merge branch 'master' of github.com:ckolivas/cgminer 9bec1e1 Simplify macros in output kernels avoiding apparent loops and local variables. 3acc064 Merge pull request #306 from kanoi/api 7992e5f Carry the needed bool over the work command queue. 37fa7d3 Move the decision to queue further work upstream before threads are spawned based on fine grained per-pool stats and increment the queued count immediately. 618b3e8 Track queued and staged per pool once again for future use. 4fbe5be OpenCL 1.0 does not have native atomic_add and extremely slow support with atom_add so detect opencl1.0 and use a non-atomic workaround. d5f485c Pools: add RollTime info to API 'stats' and 'Stats' button in miner.php fee870b Merge remote-tracking branch 'conman/master' ec522bd Bump to v2.7.3 hotfix. 4ca288e Limit queued_getworks to double the expected queued maximum rather than factoring in number of pools. ad90269 Minimise the number of getwork threads we generate. 736c62a Merge branch 'master' of git://github.com/ckolivas/cgminer.git 68f7224 Bump version number to 2.7.2 6e3727d Update NEWS. 482322a Pick worksize 256 with Cypress if none is specified. be06cf7 Give warning with sdk2.7 and phatk as well. cce19d9 Whitelist sdk2.7 for diablo kernel as well. 44faaa5 Merge remote-tracking branch 'conman/master' 8e82c24 Merge branch 'minerphp' e045467 Merge pull request #305 from kanoi/minerphp 0feb679 Only keep the last 6 blocks in the uthash database to keep memory usage constant. Storing more is unhelpful anyway. 30f5d77 BFL Flash - always distribute source f7f55e7 Increase kernel versions signifying changed APIs. 0c3e9e9 BFL flash - include source in builds and more FPGA-README b74b54d Check we haven't staged work while waiting for a curl entry before proceeding. 86d5377 Use atomic ops to never miss a nonce on opencl kernels, including nonce==0, also allowing us to make the output buffer smaller. 6bf04bc Remove compile errors/warnings and document compile/usage in FPGA-README 87f8b15 bitforce-firmware-flash.c by Luke-jr 61df301 Ignore the submit_fail flag when deciding whether to recruit more curls or not since we have upper bounds on how many curls can be recruited, this test is redundant and can lead to problems. d24ac1d Merge pull request #304 from kanoi/minerphp 857784a API-README update cgminer version number f66cdc0 API-README fix groups P: example mistake 43942bc API-README add COIN and other edits f63aeab gpu->hit should be reset on new work as well. edd9b81 Do not add time to dynamic opencl calculations over a getwork. 9cd7d6b miner.php allow 'coin' is custom pages 1e41eef Bump version number to 2.7.1 154337f Update NEWS. 226f628 Update windows build instructions courtesy of sharky. 9de3a26 Increase max curls to number of mining threads + queue * 2, accounting for up and downstream comms. 3ab5dba Queue enough requests to get started. 3ebe8e8 Revert "Scale maximum number of curls up according to work submission rate." 3ceb57b There is no point trying to clone_work in get_work() any more since we clone on every get_work_thread where possible. 787e40a There is no point subtracting 1 from maxq in get_work_thread. 1dff48e Scale maximum number of curls up according to work submission rate. 56be752 Roll back to 45f0ac7b482abe9d9d7c4644c286df6e70924145 c1886c9 Assume we need a full allotment of work after lp and make clone_work clone_lpwork only. 82fa6e2 There is no point running through clone_work from get_work() now that cloning is done from the get_work_thread. caa266c Make opt_queue a function of mining threads in clone_work as well. 652efc6 opt_queue should be a function of the number of mining threads. 45f0ac7 Merge branch 'master' of github.com:ckolivas/cgminer 8ed381f Only set lagging flag once there are no staged work items. 100ee55 Merge pull request #303 from kanoi/minerphp f5ac84b select_pool does not switch back to the primary once lagging is disabled. adcd7ed miner.php allow page title to be defined in myminer.php 5e2c132 Merge pull request #300 from kanoi/api af32fb9 Merge pull request #301 from kanoi/minerphp f71d635 Free work before retrying in get_work_thread. 3b234da Merge pull request #302 from luke-jr/bugfix_ftdi_alloca b3cfe47 Increment total work counter under mutex lock. e8daf1d Increment the queued count after the curl is popped in case there's a delay waiting on curls and we think we've queued work when in fact we're waiting on curls. b3e9858 API new command 'coin' with mining information e5ed708 Do the dynamic timing in opencl code over a single pass through scanhash to make sure we're only getting opencl times contributing to the measured intervals. 08948e0 Increase curl reaping time to 5 minutes since comms between curl requests can be 2 mins apart with lots of rolltime. 51d485e No need for extra variable in hash_push. c01284f Remove short options -r and -R to allow them to be reused and remove readme entries for deprecated options. 272ba4e Avoid attempting to recursively lock the console mutex by disabling warnings in gpu_fanpercent when fanspeed monitoring fails on windows. Debugged by luke-jr. 8fc701d Deprecate the opt_fail_pause parameter, leaving a null placeholder for existing configurations. 35cb7fd Don't pause after failed getwork, set lagging flag and reassess. 69d8c33 Add message to share if it's a resubmit. b622e97 We should not be pausing in trying to resubmit shares. a9278ce Get rid of the extending fail pause on failed connects since we discard work after a period. 34b8dcb get_work always returns true so turn it into a void function. 260b1c8 get_work never returns false so get rid of fail pause loop. 4df9c38 Get rid of pause and retry from get_upstream_work so we only do it from one place. 1f295cd Deprecate the opt_retries feature as no one wants cgminer to automatically abort. Leave a null placeholder for configurations that still have it. 527df8b Merge branch 'master' of github.com:ckolivas/cgminer 933627e Reinstate fix ADL gpu-map not working when there are more ADL devices than openCL patch by Nite69. Add virtual adl mapping for when none is specified on the command line to not crash without a map specified. 7b2ada0 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 1e4c2cd miner.php show summary Diff1 Shares total 2c3b16e miner.php fix Work Utility totals b4eb327 miner.php format new Work Utility and Diff1 Shares cd634cf Merge pull request #299 from kanoi/api 9210abd API V1.17 show Work Utility and Diff1 Shares bb401c5 Bump version to 2.7.0 9e76aed Initialise cnt in libztex.c 439e685 Update NEWS. f6d2853 Summary layout difference. ed3eb57 Introduce a new statistic, Work Utility, which is the number of difficulty 1 shares solved per minute. This is useful for measuring a relative rate of work that is independent of reject rate and target difficulty. 26ab734 Implement a new pool strategy, BALANCE, which monitors work performed per pool as a rolling average every 10 minutes to try and distribute work evenly over all the pools. Do this by monitoring diff1 solutions to allow different difficulty target pools to be treated equally, along with solo mining. Update the documentation to describe this strategy and more accurately describe the load-balance one. ff63f0b Merge branch 'master' of github.com:ckolivas/cgminer 127b638 Merge pull request #297 from kanoi/icarus d8c76bb Getwork fail was not being detected. Remove a vast amount of unused variables and functions used in the old queue request mechanism and redefine the getfail testing. 8fa7080 Don't try to start devices that don't support scrypt when scrypt mining. 80d5772 Merge branch 'stage' b688d91 0 is a valid return value for read so only break out if read returns -1. 9065c63 Repeating on timeout in ztex could make the code never return. 0954a22 Offset libusb reads/writes by length written as well in ztex. e796284 Cope with timeouts and partial reads in ztex code. b814b42 Consider us lagging only once our queue is almost full and no staged work. b60f9da Simplify the enough work algorithm dramatically. 0e56dff Only queue from backup pools once we have nothing staged. e16b756 Don't keep queueing work indefinitely if we're in opt failover mode. 6d1949e Make sure we don't opt out of queueing more work if all the queued work is from one pool. a5f7b95 Set lagging flag if we're on the last of our staged items. ee9e621 Reinstate clone on grabbing work. 55f7c14 Grab clones from hashlist wherever possible first. c3e3227 Cull all the early queue requests since we request every time work is popped now. 0fbd60a Keep track of staged rollable work item counts to speed up clone_available. 83b9ddf Make expiry on should_roll to 2/3 time instead of share duration since some hardware will have very fast share times. 8697d6a Do the cheaper comparison first. 381c56f Check that we'll get 1 shares' worth of work time by rolling before saying we should roll the work. afcfea1 Simplify all those total_secs usages by initialising it to 1 second. 5fadfdb Overlap queued decrementing with staged incrementing. 9f1d9ce Artificially set the pool lagging flag on pool switch in failover only mode as well. a6b9732 Artificially set the pool lagging flag on work restart to avoid messages about slow pools after every longpoll. 44e8121 Factor in opt_queue value into enough work queued or staged. 611f1ce Roll work whenever we can on getwork. fd0be1b Queue requests for getwork regardless and test whether we should send for a getwork from the getwork thread itself. 7d77c01 Get rid of age_work(). 035ccdf 0 is a valid return value for read so only break out if read returns -1. a916be0 Repeating on timeout in ztex could make the code never return. 5677514 Offset libusb reads/writes by length written as well in ztex. 280539b Cope with timeouts and partial reads in ztex code. 5cb3d2d fpga serial I/O extra debug (disabled by default) 6d63229 Further update NEWS. afa7310 If there are more devices than nDevs, don't iterate over them as they may overwrite devices mapped below that with the mapping option. 78d6019 Revert "Fix ADL gpu-map not working when there are more ADL devices than openCL. Patch supplied and tested by Nite69." cadc7d7 Bump version number to 2.6.5 1e36f19 Update NEWS. 2480cf2 Don't try to get bitforce temperature if we're polling for a result to minimise the chance of interleaved responses. ec4a864 Fix README faq on bfl auto-detect. 8367509 Revert "Only get bitforce temperature at a time when we have not requested any other responses to minimise risk of interleaved responses." e34105a Set memory clock based on memdiff if present from with engine changes, allowing it to parallel manual changes from the menu as well. c433f23 Increase the timeout on bitforce as per Paul Sheppard's suggestion to account for throttling + work time + excess. 2a474fe Fix ADL gpu-map not working when there are more ADL devices than openCL. Patch supplied and tested by Nite69. 8745ba1 Windows' timer resolution is limited to 15ms accuracy. This was breaking dynamic intensity since it tries to measure below this. Since we are repeatedly sampling similar timeframes, we can average the gpu_us result over 5 different values to get very fine precision. dc8ef0c Fix harmless unused warnings in scrypt.h. 85b9746 Merge branch 'master' of github.com:ckolivas/cgminer e29d2d9 Only get bitforce temperature at a time when we have not requested any other responses to minimise risk of interleaved responses. d1508bd Merge pull request #296 from kanoi/api 70c57e7 api.c typo 95dff73 API allow display/change failover-only setting 74f2112 Merge branch 'master' of github.com:ckolivas/cgminer 8e20456 Check we are not lagging as well as there is enough work in getwork. 618ef0c Merge pull request #295 from kanoi/api cf66ef8 API-README correction 6 7dca87d API-README correction 5 3abeace API-README correction 4 49ae1b6 API-README correction 3 b353869 API-README correction 2 f3dd04a API-README correction 7011dd2 miner.php documentation (in API-README) v0.1 00691ab Merge pull request #292 from kanoi/main 391ce70 Merge pull request #291 from kanoi/minerphp 011f822 Merge pull request #294 from kanoi/api c96c8ee API-README update changelog d66742a Minimise locking and unlocking when getting counts by reusing shared mutex lock functions. c91a954 Avoid getting more work if by the time the getwork thread is spawned we find ourselves with enough work. 07fca3e The bitforce buffer is cleared and hw error count incremented on return from a failed send_work already so no need to do it within the send_work function. f27bcb8 Going back to e68ecf5eb275e1cc2dc22c7db35b0bd8d9c799de c892ded Make sure there are true pending staged work items as well in failover only mode. 61003df In failover-only mode we need to queue enough work for the local pool and ignore the total queued count. 65f4e2a The bitforce buffer is cleared and hw error count incremented on return from a failed send_work already so no need to do it within the send_work function. 8aa61f6 Make sure we have work from the current pool somewhere in the queue in case the queue is full of requests from a pool that has just died. c0aaf56 Since all the counts use the same mutex, grab it only once. 4f9394b When popping work, grab cloned work first if possible since original work can be reused to make further clones. 8085ae6 Further simplify the queue request mechanism. f83863a Keep total queued count as a fake pending staged count to account for the period a queue is in flight before it is staged. fa3a25f Bugfix: bitforce: Allocate enough space for FTDI description pointers d04005a miner.php allow a custom page section to select all fields with '*' - e.g. to create a STATS section on a custom page e47dc87 Clone work at the time of requesting it if an existing work item can be rolled. e68ecf5 Queue one request for each staged request removed, keeping the staged request count optimal at all times. f98970f Revert "roundl fix" 6007b3d Merge branch 'master' of git://github.com/ckolivas/cgminer.git 523d177 roundl fix 52e5524 Escape " and \ when writing json config file 556cc7b miner.php optional single rig totals (on by default) 1c98e0c Bump version to 2.6.4 d64c32a Include scrypt.h in Makefile. 0adbcd5 Fix windows bitforce build. be57725 Update NEWS. 0a79de9 Convert the serial autodetect functions to use int instead of char to enumerate devices. 9cae9a9 Make the serial open timeout for BFL generically 1 second on windows. 7dffa07 Deuglify windows autodetect code for BFL. e52762c There is no point zeroing temperature in BFL if we fail to get a response, and we should register it as a HW error, suggesting throttling. b406dbf Update SCRYPT README with information about HW errors. e49bd98 Use the scrypt CPU code to confirm results from OCL code, and mark failures as HW errors, making it easier to tune scrypt parameters. 3dd1658 We may as well leave one curl still available per pool instead of reaping the last one. c7bcad6 Need to recheck the pool->curls count on regaining the pool lock after the pthread conditional wait returns. ad8c4b7 Revert "Only add to the pool curlring and increment the counter under mutex lock." 13a92bb Merge pull request #290 from kanoi/api 28d3599 Merge pull request #287 from kanoi/minerphp 145f04c Display reaped debug message outside mutex lock to avoid recursive locking. 8897e06 Only add to the pool curlring and increment the counter under mutex lock. 920c56c Add specific information when ADL detects error -10 saying the device is not enabled. b33ea26 api.c update API start message and include port number 64261e7 miner.php ignore arg when readonly 5a5e356 miner.php allow pool inputs: delete, addpool, poolpriority f6518c0 Bump version to 2.6.3 a1b5bd7 More NEWS. 4443895 Count likely throttling episodes on bitforce devices as hardware errors. d3e4ec8 Update news. 0d67634 Style cleanups. 31b01c8 Author: Luke Dashjr Date: Thu Jul 12 16:49:26 2012 +0000 3576abf Make pool_disabled the first in the enums == 0, fixing the pool enabled count which compares if value is not enabled before enabling it. 25fd6cd Correct writing of scrypt parameters to config file based on command line parameters only. ac131d3 Merge pull request #279 from tyeken8/tydus fc44b6d Use different variables for command line specified lookup gap and thread concurrency to differentiate user defined versus auto chosen values. 7611499 Queue a request on pool switch in case we have no work from the new pool yet. aa8cd17 Merge pull request #286 from kanoi/api 4efa31d Display failover only mode in pool menu and allow it to be toggled live. 1a04166 Reinstate check for system queueing lag when the current pool's queue is maxed out, there is no staged work, and the work is needed now. 499c594 There is no need for pool active testing to be mandatory any more with queue request changes. e4326e3 Fix harmless warnings. 9a45a6d Check the current staged and global queued as well before queueing requests. Discard stales before ageing work in the watchdog thread. Queue requests after discarding and ageing work in watchdog thread. Display accurate global queued in curses output. Reuse variable in age_work(). bf9c324 The queueing mechanism has become a complex state machine that is no longer predictable. Rewrite it from scratch watching only current queues in flight and staged work available on a pool by pool basis. 56f06e1 API remove unused warning in non-GPU compile ede0dd6 api.c in linux allow to open a closed socket in TIME_WAIT 3de9145 Merge pull request #285 from nushor/master b66e024 Queue an extra request whenever staged work drops below mining thread count in hash_pop. 76a02d8 Update debian package configs to v2.6.2 2f247fc Merge pull request #284 from kanoi/minerphp b70ec3c Merge pull request #283 from kanoi/icarus 179885b Bump version to 2.6.2 e65a3b9 More NEWS. 15dc4bb Scrypt mining does not support block testing yet so don't try to print it. 3ee6c1d Update NEWS. 245552c Clear the bitforce buffer whenever we get an unexpected result as it has likely throttled and we are getting cached responses out of order, and use the temperature monitoring as a kind of watchdog to flush unexpected results. 7fa794a It is not critical getting the temperature response in bitforce so don't mandatorily wait on the mutex lock. 5118e3e Check there is a cutoff temp actually set in bitforce before using it as a cut off value otherwise it may think it's set to zero degrees. 2953aa2 We dropped the temporary stopping of curl recruiting on submit_fail by mistake, reinstate it. 9410875 Make threads report in either side of the scanhash function in case we miss reporting in when restarting work. caa9600 News cutoff fixed. d5dffa6 Don't make mandatory work and its clones last forever. ed331e5 miner.php support custom report section joins b8b9c46 ICA default fpga_count to work_division if specified aa52db4 Make test work for pool_active mandatory work items to smooth out staged work counts when in failover-only mode. 94c09b6 FPGA-README document new hidden --icarus-options e067be4 ICA support 57600 baud rate, up to 8 FPGA and partial working FPGA boards 8414a9a Add debugging output when work is found stale as to why. efba82f Print the 3 parameters that are passed to applog for a debug line in bitforce.c 7f82501 Clear bitforce buffer on init as previously. d37d044 Add some headroom to the number of curls available per pool to allow for longpoll and sendwork curls. 7aa809c Revert "Revert "Change BFL driver thread initialising to a constant 100ms delay between devices instead of a random arrangement."" a688951 Revert "Remove bitforce_thread_init" 33019b1 Show the correct base units on GPU summary. ddcf3d2 Differentiate between the send return value being a bool and the get return value when managing them in bitforce scanhash. 3cbf835 Update .gitignore for files that should not be tracked. 23a8c60 Revert "bitforce: Skip out of sending work if work restart requested" fd51e5b Add scrypt support while writing conf fdb67e8 Bump version to 2.6.1 99204bd Display scrypt as being built in as well. 7a07c7d Fix build warning about KL_SCRYPT when built without scrypt support. 2353233 News update for upcoming 2.6.1. 4cf2b4d More scrypt intensity information. 52821d4 Minor readme updates. 58cb42c Update README with more build instructions. 17ec5f2 Merge pull request #277 from kanoi/master c91148f Remove the low hash count determinant of hardware being sick. A low hash rate can be for poor network connectivity or scrypt mining, neither of which are due to sick hardware. 70cba2a Style 68b041b API-README poolpriority changes 51940ec api.c verify poolpriority parameters before changing pools 854a80f api.c poolpriority changes ac6315b Bump version 2.6.0, adding SCRYPT README to makefile. 0aa0a06 Smarter autogen.sh script. d140427 Update NEWS. d8ec6d3 Display kilohash when suitable, but store the global mhash value still truly in megahashes to not break the API output. fe23dfd Merge pull request #2 from luke-jr/rpc_poolpriority b5517af Don't try and print curses output for devices that won't fit on the screen. 2fb95c0 Merge pull request #276 from luke-jr/bf_send_restart 1e51e37 Merge pull request #275 from zefir-k/master 943e9f4 Merge pull request #274 from kanoi/minerphp 500ed85 Merge pull request #271 from luke-jr/cg_logfixes 28ac422 Merge pull request #270 from luke-jr/bugfix_procname 150b29d Merge pull request #268 from luke-jr/bf_generic_kname 6b80592 Sleeping on intensity decrease is broken, remove it. 7e55a41 Sleep only the extra amount of time we overran the dynamic interval in dynamic mode. 6332c42 Add scrypt documentation in the form of a separate readme. 97aa6ea Fix build error without scrypt enabled. b40c8b8 Limit total number of curls recruited per pool to the number of mining threads to prevent blasting the network when we only have one pool to talk to. cf36331 bitforce: Skip out of sending work if work restart requested e87ff7c Keep a counter of enabled pools and use that instead of iterating over the pool list. Use that value to ensure we don't set the last remaining active pool to the rejecting state. 0c985b2 RPC: Writeup on poolpriority command usage 5ef9c13 Bugfix: API: Report errors from poolpriority command 8326d2d RPC: New "poolpriority" command to set the order of pool priorities 7418f5e strtok_ts: Thread-safe strtok that work on POSIX or Windows e8fb2bc fpgautils: add support for 57.6 kBd serial 8a35b4a miner.php add a socket RCV timeout for if cgminer is hung and the API thread is still running 43752ee Limit thread concurrency for scrypt to 5xshaders if shaders is specified. da1b996 Simplify repeated use of gpus[gpu]. in ocl.c 5148502 Reinstate help information for lookup gap and thread concurrency since tc will often need to be manually set for optimal scrypt performance. ea10b08 Find the nearest power of 2 maximum alloc size for the scrypt buffer that can successfully be allocated and is large enough to accomodate the thread concurrency chosen, thus mapping it to an intensity. bff58c3 Add back in new cl files. 5e756d3 Don't make opt_scrypt mandatory blocking with opencl code. b3a41e4 Update kernel versions reflecting changes in the API. aca34d0 Merge branch 'master' into newscrypt 9a6c082 Make the thread concurrency and lookup gap options hidden on the command line and autotune parameters with a newly parsed --shaders option. 458fbeb Merge pull request #273 from kanoi/bfl f98774c Fix target testing with scrypt kernel as it would have been missing shares below target. da4ff2b Bugfix: Use a mutex to control non-curses output d98e561 Simplify code to a single vprintf path for curses-less printing 80593c4 Move opt_quiet check to my_log_curses, so it works for curses-less builds d2195bd Use log_generic for vapplog to cut down on code duplication 1097aef Add space to log output now that there is more screen real estate available. c558305 BFL force all code to timeout to avoid hanging a1cb0d0 Bugfix: Copy argv[0] given to dirname() 3a0d60c Always create the largest possible padbuffer for scrypt kernels even if not needed for thread_concurrency, giving us some headroom for intensity levels. d8f81c1 Use the detected maximum allocable memory on a GPU to determine the optimal scrypt settings when lookup_gap and thread_concurrency parameters are not given. 89eb1fa Check the maximum allocable memory size per opencl device. 5087ff9 Add debugging output if buffer allocation fails for scrypt and round up bufsize to a multiple of 256. 94c94d6 Nonce testing for btc got screwed up, leading to no accepted shares. Fix it. 1711b4e Display size of scrypt buffer used in debug. 17dfe74 Allow intensities up to 20 if scrypt is compiled in. c21e15a Add name to scrypt kernel copyright. 39f7d2f Allow lookup gap and thread concurrency to be passed per device and store details in kernel binary filename. ffe1318 Ignore negative intensities for scrypt. 04f55a0 Change the scale of intensity for scrypt kernel and fix a build warning. e45ebb6 Correct target value passed to scrypt kernel. 1b5c676 Use 256 output slots for kernels to allow 1 for each worksize. b9e5f8e Revert "Use cpu scrypt code to check if an scrypt share is below target before submitting it." a22edd2 Test the target in the actual scrypt kernel itself saving further calculations. 7d53fba Reinstate GPU only opencl device detection. d13a3f1 Decrease lookup gap to 1. Does not seem to help in any way being 2. d9eba43 Fix build. 808f403 Use cpu scrypt code to check if an scrypt share is below target before submitting it. 537b28d Make pad0 and pad1 local variable in scrypt kernel. 8dc0d6e Constify input variable in scrypt kernel. d72add9 Send correct values to scrypt kernel to get it finally working. 3e61db1 Create command queue before compiling program in opencl. e17ee1e Revert "Use uint16 in SHA256 in scrypt kernel." dd25454 Detach pthread from within the api thread in case it is terminated due to not being instantiated before pthread_cancel is called from main, leading to a segfault. 4abecc2 Detach pthread from within the api thread in case it is terminated due to not being instantiated before pthread_cancel is called from main, leading to a segfault. 77b7ed4 Debug output per thread hashrate is out by a factor of 1000. 471daec Initialise mdplatform. 07292f7 Initialise mdplatform. ffd21f8 Find the gpu platform with the most devices and use that if no platform option is passed. f99ac0c Allow more platforms to be probed if first does not return GPUs. 861f432 Fix external scrypt algo missing. 428d5e5 Limit scrypt to 1 vector. 76c3789 Handle KL_SCRYPT in config write. 5cd4bbd Get rid of stuff. 6ac14f4 Don't enqueuewrite buffer at all for pad8 and pass work details around for scrypt in dev_blk. a9a0bba Set the correct data for cldata and prepare for pad8 fixes. 3d1b4d6 Revert "Use uint16 in SHA256_fresh in scrypt kernel." a1edc7d Bugfix: Fix build without curses but with OpenCL 04edf4b Temporarily set opencl to use all devices to allow debugging of scrypt kernel rapidly. 53e9c61 Find the gpu platform with the most devices and use that if no platform option is passed. 884f83f Allow more platforms to be probed if first does not return GPUs. 6a02f8d Use uint16 in SHA256_fresh in scrypt kernel. cb5fed8 Get rid of spaces in arrays in scrypt kernel. 46592a2 Use uint16 in SHA256 in scrypt kernel. fdcaea1 Start with smaller amount of hashes in cpu mining to enable scrypt to return today sometime. 6c6c285 Show Khash hashrates when scrypt is in use. 54f1b80 Free the scratchbuf memory allocated in scrypt and don't check if CPUs are sick since they can't be. Prepare for khash hash rates in display. a5ebb71 Add cpumining capability for scrypt. 243d005 Set scrypt settings and buffer size in ocl.c code to be future modifiable. bd10764 Cope with when we cannot set intensity low enough to meet dynamic interval by inducing a forced sleep. 238db52 Make dynamic and scrypt opencl calls blocking. 41daf99 Calculate midstate in separate function and remove likely/unlikely macros since they're dependent on pools, not code design. b347a17 bitforce: Use "full work" vs "nonce range" for kernel name 8230ab0 Display in debug mode when we're making the midstate locally. ea444d0 Fix nonce submission code for scrypt. aabc723 Make sure goffset is set for scrypt and drop padbuffer8 to something manageable for now. e0296c4 Set up buffer8 for scrypt. 8fd3bf7 Build fix for opt scrypt. 1aacfe5 Don't check postcalc nonce with sha256 in scrypt. 0f43eb5 Don't test nonce with sha and various fixes for scrypt. b085c33 Make scrypt buffers and midstate compatible with cgminer. 2ed4072 Use cgminer specific output array entries in scrypt kernel. dd740ca Provide initial support for the scrypt kernel to compile with and mine scrypt with the --scrypt option. 5a65415 Enable completely compiling scrypt out. 176cdf8 Begin import of scrypt opencl kernel from reaper. b6a23d0 bitforce_get_result returns -1 on error now. 761bd77 Merge pull request #267 from luke-jr/bugfix_winsleep d3b8b4d Merge pull request #266 from luke-jr/api_select_life aa723e7 Check return value of read in BFgets 6811132 Bugfix: Make our Windows nanosleep/sleep replacements standards-compliant (which fixes nmsleep) and include compat.h for bitforce (for sleep) a854779 rpc: Use a single switch statement for both stringifications of cgpu->status cdf325d Merge branch 'master' of github.com:ckolivas/cgminer ac55cec Fix whitespace mangling. c1c99f1 Merge https://github.com/pshep/cgminer into pshep 89e613b Revert "Change BFL driver thread initialising to a constant 100ms delay between devices instead of a random arrangement." 94628b1 Merge pull request #265 from kanoi/minerphp 09bdf81 miner.php fix rig # when miners fail cbef2a6 Only try to shut down work cleanly if we've successfully connected and started mining. 0ed757a Use switch statement for cgpu->status and fix spelling. 31ddad6 Merge pull request #263 from luke-jr/bugfix_nmsleep 96f3a98 Merge pull request #264 from luke-jr/life_init f168d96 Merge pull request #262 from luke-jr/bugfix_ocl_err c16ff2e Merge pull request #258 from zefir-k/master b3d8575 Merge pull request #260 from kanoi/minerphp d4d5b28 Abbrv. correction c57c308 Bugfix: Don't declare devices SICK if they're just busy initializing 9c648c1 Bugfix: Calculate nsec in nmsleep correctly a3998e2 Bugfix: Adapt OpenCL scanhash errors to driver API change (errors are now -1, not 0) 5f0a22d Remove superfluous ave_wait c37a3f3 Put kname change for broken nonce-range back in 2c54522 Add average wait time to api stats 01a69ee Revert "Merge branch 'ave_time' of https://github.com/pshep/cgminer.git" 0785886 Change BFL driver thread initialising to a constant 100ms delay between devices instead of a random arrangement. 9eaac43 Spelling typo. bf427de Time opencl work from start of queueing a kernel till it's flushed when calculating dynamic intensity. 5c7e030 Modify te scanhash API to use an int64_t and return -1 on error, allowing zero to be a valid return value. f9d0324 Check for work restart after the hashmeter is invoked for we lose the hashes otherwise contributed in the count. 1d153a1 Remove disabled: label from mining thread function, using a separate mt_disable function. af809b7 Style changes. 242e52c Merge branch 'ave_time' of https://github.com/pshep/cgminer.git 4dc1bf2 Missed one nonce-range disabling. 3cc0aa7 Add average return time to api stats d6c1857 miner.php allow rig names in number buttons 2dfe0d6 Remove bitforce_thread_init The delay thing does nothing useful... when long poll comes around, all threads restart at the same time anyway. 953ecd9 Change timeouts to time-vals for accuracy. 6c3d331 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 7502af2 fix API support for big endian machines bc0b140 Cope with signals interrupting the nanosleep of nmsleep. 2ce7f28 Merge pull request #254 from luke-jr/work_restart2 ec12dc7 Merge pull request #257 from luke-jr/cfsetspeed 1445708 Use standard cfsetispeed/cfsetospeed to set baud rate on *nix df8b7e1 Merge pull request #256 from kanoi/minerphp bd501bf miner.php split() flagged deprecated in PHP 5.3.0 19b4d2b More BFL tweaks. Add delay between closing and reopening port. Remove buffer clear in re-init Add kernel type (mini-rig or single) 957d196 Make long timeout 10seconds on bitforce for when usleep or nanosleep just can't be accurate... 5532f1d Bump version to 2.5.0 3964172 More news. ad02627 Fix --benchmark not working since the dynamic addition of pools and pool stats. ff8686a Update NEWS. 07c9c46 Merge pull request #255 from kanoi/minerphp 80349ab Add documentation for minirig/nonce range support. 57e38d0 Make disabling BFL nonce range support a warning since it has to be explicitly enabled on the command line now. 5fcdba9 miner.php allow renaming table headers fd55fab Make bitforce nonce range support a command line option --bfl-range since enabling it decrease hashrate by 1%. b848495 Add sanity checking to make sure we don't make sleep_ms less than 0 in bitforce. d4af2d0 Turn work_restart array into a bool in thr_info e97adc9 The fastest minirig devices need a significantly smaller starting sleep time. 74b96d4 Use a much shorter initial sleep time to account for faster devices and nonce range working, and increase it if nonce range fails to work. 13cf568 Use nmsleep instead of usleep in bitforce. 3271be1 Provide a ms based sleep function that uses nanosleep to avoid the inaccuracy of usleep on SMP systems. 390d77a Add more comments explaining how sleep time equals wait time and simplify the comparison. 69a1150 delay_time_ms is always set so need not be initialised in bitforce. 9e8726b Increase bitforce timeout to 10 seconds. a3faf63 Add more hysteresis and poll ~5 times to allow for timer delays in bitforce devices. 391f606 miner.php allow alternating line colours (off by default) afc6ae5 Change message about broken nonce range support to verbose level instead of debug. 86ba7d7 Display the actual duration of wait when it is greater than the cutoff. 5a096c1 Set nonce to maximum once we determine nonce range support is broken. 88dd599 Initial wait time is always known so no need to zero it beforehand in bitforce. 1b0a0ac No point counting wait time until the work is actually sent to bitforce devices. c0c4806 Use string comparison functions elsewhere in bitforce code. d4e526c Use string comparison functions instead of explicit comparisons. 2384133 Show device id in debug when disabling nonce range. 9e10a6c Account for wait_ms time when nonce_range is in use on BFL. 9d9963b Split nonces up into 1/5 chunks when nonce range is supported. 274a401 Merge branch 'master' into mr 892e9bf Merge pull request #253 from pshep/master 1ee191a limit clear buffer iterations. 2aa95ab Merge branch 'master' of git://github.com/ckolivas/cgminer.git 54f8554 Ad fd check to clear buffer. 8aeabf6 miner.php remove incorrect 'DATE' error message 3c1704d miner.php allow summary header in custom pages 72777f1 Disable nonce range support in BFL when broken support is detected. 96183bb Minor bfl tidy. 75eca07 Restart_wait is only called with a ms value so incorporate that into the function. 8bc7d1c Only try to adjust dev width when curses is built in. 1a983e6 miner.php define custom sum fields as a simple array e5aba76 Fix off-by-one error in nonce increment in bfl. ba5c1fc Use BE when setting nonce in bitforce nonce range work. d6a6d70 Set work blk nonce after work is queued to prevent duplicates. 870ba0c Revert "Loop in bitforce scanhash till end nonce reaches full nonce range." e10aa20 Loop in bitforce scanhash till end nonce reaches full nonce range. 1f2e9a4 Enable nonce range in the normal init sequence for bfl. 8766bca Queue extra work at 2/3 differently depending on whether we're using nonce range or not. 6314a12 Initially enable support for nonce range support on bfl, splitting nonces up into 3/4 size and only disable it if it fails on work submit. 96fba30 Attempt to detect nonce range support in BFL by sending work requring its support. a9746b9 Limit retrying on busy for up to BITFORCE_TIMEOUT_MS 7046c97 Attempt to initialise while bitforce device returns BUSY. ac8db06 Extend length of string that can be passed to BFL devices. 8b3c20b Abstract out ms to timeval as a function. 93a7967 Fix signedness warning. 6b11d4e Merge pull request #252 from pshep/master 67e92de Adjust device width column to be consistent. ce93c2f Use cgpu-> not gpus[] in watchdog thread. c487067 Add api stats (sleep time) 6e6029d Timing tweaks Added long and short timeouts, short for detecting throttling, long to give up totally. Reset sleep time when device re-initialised Still check results after timeout Back up a larger time if result on first poll. 454607c Merge pull request #251 from kanoi/notifycomms ff0afb9 Add API Notify counter 'Comms Error' 732783f Merge branch 'bfl' 8b05008 Style police on api.c 2ec0fb9 Merge pull request #247 from kanoi/master 4472632 More style police on bitforce. 7ada258 Merge branch 'master' into bfl 8783db0 Do all logging outside of the bitforce mutex locking to avoid deadlocks. 0f405c7 Remove applog call from bfwrite to prevent grabbing nested mutexes. 978ec0d Bitforce style changes. 610cf0f Minor style changes. 336dbd5 Remove needless roundl define. 9d37d33 Merge branch 'master' of https://github.com/pshep/cgminer into bfl 6bbd753 Merge pull request #249 from iHateInventNames/master aaa9f62 Made JSON error message verbose. ad5b470 Fine-tune timing adjustment. Also remove old work_restart timing. 75519cb Merge branch 'master' of git@github.com:pshep/cgminer.git 66e7dc7 Check for gpu return times of >= 0, not just 0, to fix intensity dropping to -10. ce85088 Merge branch 'master' of git://github.com/ckolivas/cgminer.git cc0ad5e Merge branch 'master' of git://github.com/ckolivas/cgminer.git 391e1f7 Restart is zeroed in the mining thread so no need to do it inside the bitforce code. ac45260 Random style cleanups. 04a6c3b More improvements to comms. BFL return nothing when throttling, so should not be considered an error. Instead repeat with a longer delay. 06ec47b Must always unlock mutex after cond timedwait. df5d196 Must unlock mutex if pthread_cond_wait succeeds. efcce5b Remove unused tdiff value. b1cdacd Polling every 10ms there's not much point checking the pthread_cond_timedwait as it just adds overhead. Simply check the value of work_restart in the bfl main polling loop. fd7b21e Use a pthread conditional that is broadcast whenever work restarts are required. Create a generic wait function waiting a specified time on that conditional that returns if the condition is met or a specified time passed to it has elapsed. Use this to do smarter polling in bitforce to abort work, queue more work, and check for results to minimise time spent working needlessly. 855d1bb Add busy time to wait time. c853513 api.c put version up to 1.14 080e8b2 API-README correct for 2.4.4 a4a2000 Merge branch 'master' of git://github.com/ckolivas/cgminer.git a11a322 Add tiny delay after writing to BFL Change BFL errors to something more human readable Send work busy re-tries after 10ms delay 2e0a94d Bump version number to 2.4.4 1a43f79 Mingw doesn't support asprintf, use sprintf. 830f290 Numerous style police clean ups in cgminer.c 1e94214 Timersub is supported on all build platforms so do away with custom timerval_subtract function. 75ea616 Minor style police on util.c a35f67a Update NEWS. 8f954d4 Get rid of unused result warning with asprintf. efaa739 Tweak sick/dead logic (remove pre-computed time calculations) 06f5f35 api.c allow NULL data displayed as (null) 37e95ce API-README add a comment re: code rewrite in the changelog 4003291 miner.php - fix custom totals and colouroverride 82b14c4 api.c data structure - remove unnecessary driver-icarus.c comments eab9deb api.c data structure - all testing attempted successful d8abfb7 api.c data structure - tested + updated get_api_stats/driver-icarus.c 926fb06 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 68ba1a1 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 538653a api.c data structure - 2nd - untested adc26f0 Add facility to clear BFL read buffer. Reduce timeout to 10s. 86c8bbe Need to run Hashmeter all the time. and not just if logging/display is enabled 896775e Fix builds on non gnu platforms. 21e4cd8 api.c data structure rather than raw sprintf - 1st test 3be662a Merge branch 'old_gcc' 75a651c Revert "Check for submit_stale before checking for work_restart" 123058b Add macro roundl for compilers without said function. f3a82a0 Merge branch 'master' of git@github.com:pshep/cgminer.git 7d7fd4d miner.php support DEVS in custom to show both GPU and PGA in one table baa480c Merge branch 'master' of git://github.com/ckolivas/cgminer.git f225392 Add low hash threshold in sick/dead processing Add check for fd in comms procedures 3977f6c Merge pull request #245 from kanoi/master 19087fd miner.php 10% highlight subtle, colour scheme, buttons position b63a374 api.c ensure old mode is always available when not using --api-groups + quit() on param errors 3267b53 Implement rudimentary X-Mining-Hashrate support. 29c0f7b Detect large swings in temperature when below the target temperature range and change fan by amounts dependant on the value of tdiff. e16452f Adjust the fanspeed by the magnitude of the temperature difference when in the optimal range. 55aaa7c Slightly different message since restart may not be successful. 0704505 Revert "Restarting cgminer from within after ADL has been corrupted only leads to a crash. Display a warning only and disable fanspeed monitoring." 4c5d41a Merge pull request #243 from kanoi/master fac4a2c miner.php highlight Utility/MHS av when differ by >10% 862a362 Merge branch 'master' of git://github.com/ckolivas/cgminer.git f0c2f8d API-README spelling 24316fc Revert "Work is checked if it's stale elsewhere outside of can_roll so there is no need to check it again." 05b8f5b api.c fix json already closed 39ff157 API-README --api-groups corrections 659e504 implement and document API option --api-groups 01a7e91 Lock comms around entire bitforce_init, and move setting of fd to end. Make sleep occur everytime in scanhash. 62c3c66 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 5ad58f9 Work is checked if it's stale elsewhere outside of can_roll so there is no need to check it again. eddd02f Put upper bounds to under 2 hours that work can be rolled into the future for bitcoind will deem it invalid beyond that. bcec5f5 Revert "Check we don't exhaust the entire unsigned 32 bit ntime range when rolling time to cope with extremely high hashrates." 383d35b Merge branch 'master' of github.com:ckolivas/cgminer 522f620 Check we don't exhaust the entire unsigned 32 bit ntime range when rolling time to cope with extremely high hashrates. a9eb833 Merge pull request #242 from kanoi/master c21fc06 define API option --api-groups e4f9cc4 api.c allow unwell devices to be enabled so they can be cured baaa870 Merge pull request #240 from kanoi/master f43ee5d miner.php - fix/enable autorefresh for custom pages eae545f Merge pull request #239 from kanoi/master edd1f83 miner.php allow custom summary pages - new 'Mobile' summary 794b655 Merge branch 'master' of https://github.com/ckolivas/cgminer 21a23a4 Work around pools that advertise very low expire= time inappropriately as this leads to many false positives for stale shares detected. d3e2b62 Change sick/dead processing to use device pointer, not gpu array. Change BFL timing to adjust only when hashing complete (not error/idle etc.). 78d5a81 Merge branch 'master' of https://github.com/ckolivas/cgminer.git fab619a Merge pull request #238 from kanoi/master ae400b4 Only show ztex board count if any exist. 68a3a9a There is no need for work to be a union in struct workio_cmd c8fcf5a fpgautils.c include a debug message for all unknown open errors 028597d Merge pull request #237 from luke-jr/serial_open_failerr 405eeb6 Merge pull request #236 from kanoi/master b198423 Don't keep rolling work right up to the expire= cut off. Use 2/3 of the time between the scantime and the expiry as cutoff for reusing work. 6e80b63 Revert "Increase the getwork delay factored in to determine if work vs share is stale to avoid too tight timing." f8774ff Log a specific error when serial opens fail due to lack of user permissions c7eb9f3 Microsecond multiplier error. d8de1bb Increase the getwork delay factored in to determine if work vs share is stale to avoid too tight timing. dffda23 Increase GPU timing resolution to microsecond and add sanity check to ensure times are positive. 999dba4 Revert "Use much more damping when determining average opencl duration to change dynamic intensity." 1ef52e0 Check for submit_stale before checking for work_restart (to keep Kano happy) 04e528d Use much more damping when determining average opencl duration to change dynamic intensity. 79a4e25 Opencl code may start executing before the clfinish order is given to it so get the start timing used for dynamic intensity from before the kernel is queued. df9e76b Merge branch 'master' of https://github.com/ckolivas/cgminer.git f149aea Redo recover removal. FML. 90d82aa Revert to pre pool merge 50e996c Get rid of recover mode. Not useful at all. Change zero hash to no start error. Neither is accurate, but zero hash makes less sense than no start. c540cd9 fpgautils.c - set BAUD rate according to termio spec b2cef11 Merge pull request #235 from kanoi/master 3763cb0 icarus - must allows allocate memory for icarus_info cc557b3 Merge pull request #234 from kanoi/master cb1634d fpgautils.c - linux ordering back to the correct way e53c033 Icarus needs not +2 for realloc, just +1. e30e2f7 Merge pull request #233 from kanoi/master 5ef8528 miner.php remove unneeded '.'s f2e6ac5 miner.php add auto refresh options 597f5fa miner.php add 'restart' next to 'quit' cffd5ae miner.php make fontname/size configurable with myminer.php c027492 Make the pools array a dynamically allocated array to allow unlimited pools to be added. 5cf4b7c Make the devices array a dynamically allocated array of pointers to allow unlimited devices. eaf1505 Dynamic intensity for GPUs should be calculated on a per device basis. Clean up the code to only calculate it if required as well. 17ba2dc Logic fail on queueing multiple requests at once. Just queue one at a time. 42ea29c Use a queueing bool set under control_lock to prevent multiple calls to queue_request racing. 63dd598 Queue multiple requests at once when levels are low. 757922e Use the work clone flag to determine if we should subtract it from the total queued variable and provide a subtract queued function to prevent looping over locked code. 49dd8fb Don't decrement staged extras count from longpoll work. d93e5f7 Count longpoll's contribution to the queue. 05bc638 Increase queued count before pushing message. 32f5272 Revert "With better bounds on the amount of work cloned, there is no need to age work and ageing it was picking off master work items that could be further rolled." 5d90c50 With better bounds on the amount of work cloned, there is no need to age work and ageing it was picking off master work items that could be further rolled. 47f6640 Alternatively check staged work count for rolltime capable pools when deciding to queue requests. efa9569 Test we have enough work queued for pools with and without rolltime capability. 1bbc860 Don't count longpoll work as a staged extra work. ebaa615 Count extra cloned work in the total queued count. 74cd654 Use a static base measurement difference of how many items to clone since requests_staged may not climb while rolling. 7b57df1 Allow 1/3 extra buffer of staged work when ageing it. 53269a9 Revert "Simplify the total_queued count to those staged not cloned and remove the locking since it's no longer a critical value." a05c8e3 Revert "Take into account total_queued as well when deciding whether to queue a fresh request or not." 750474b Revert "Further simplify the total_queued counting mechanism and do all dec_queued from the one location." d2c1a6b Revert "Make sure to have at least one staged work item when deciding whether to queue another request or not and dec queued in free work not discard work." c860172 Make sure to have at least one staged work item when deciding whether to queue another request or not and dec queued in free work not discard work. 790acad Further simplify the total_queued counting mechanism and do all dec_queued from the one location. 9bae0f1 Merge branch 'master' of github.com:ckolivas/cgminer b20089f Take into account total_queued as well when deciding whether to queue a fresh request or not. 8f333d9 Merge pull request #232 from kanoi/master ded1683 Add the getwork delay time instead of subtracting it when determining if a share is stale. b5757d1 Don't count getwork delay when determining if shares are stale. 9f811c5 Simplify the total_queued count to those staged not cloned and remove the locking since it's no longer a critical value. Clone only anticipated difference sicne there will be a lag from the value returned by requests_staged(). Keep 1/3 buffer of extra work items when ageing them. 411784a As work is sorted by age, we can discard the oldest work at regular intervals to keep only 1 of the newest work items per mining thread. 359635a Only roll enough work to have one staged work for each mining thread. 0c970bb Roll work again after duplicating it to prevent duplicates on return to the clone function. 610302a Abstract out work cloning and clone $mining_threads copies whenever a rollable work item is found and return a clone instead. 195d915 api.c display Pool Av in json a8ae1a4 Rolltime should be used as the cutoff time for primary work as well as the rolled work, if present. c20a89d Take into account average getwork delay as a marker of pool communications when considering work stale. f32ffb8 Work out a rolling average getwork delay stored in pool_stats. 4e60a62 Getwork delay in stats should include retries for each getwork call. 8c4b11f Merge branch 'master' of https://github.com/ckolivas/cgminer eb36f8d Walk through the thread list instead of searching for them when disabling threads for dynamic mode. 8d3eeed Merge with master 6a45cbb Merge branch 'master' of https://github.com/ckolivas/cgminer c5a21fa Extend nrolltime to support the expiry= parameter. Do this by turning the rolltime bool into an integer set to the expiry time. If the pool supports rolltime but not expiry= then set the expiry time to the standard scantime. 057a38e When disabling fanspeed monitoring on adl failure, remove any twin GPU association. This could have been leading to hangs on machines with dual GPU cards when ADL failed. 6ce4871 Merge branch 'conf_pools' 0bcdc2c Add ability to disable pools in config file. Also fix pool writing in priorty order. 57fa2be Write pools in priority order e037028 Merge branch 'master' of https://github.com/ckolivas/cgminer.git 9bc95ab Comms error trapping d594aaf Merge pull request #227 from luke-jr/serialusb f70577b Merge pull request #229 from luke-jr/modminer_primary 1215da3 modminer: Don't delay 2nd+ FPGAs during work restart af27b40 Merge branch 'master' of https://github.com/pshep/cgminer.git fe4c086 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 0c8eb16 Merge pull request #228 from pshep/disable_ocl 7ae22e2 Disable OpenCL code when not available. 68f2aaf fix bitforce_init return value 8faf3c9 Fix openwrt crashing on regeneratehash() by making check_solve a noop. 6ed75c9 Remove nDev limit in watchdog_thread fa3f357 Sick/dead handling for non-gpus bc4a259 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 4dee0d0 FPGA - allow device detect override without an open failure 3c0544a Wordwrap NEWS. bf3e158 Fix sign warning. f462c08 Merge branch 'master' of github.com:ckolivas/cgminer f72ed3b Bump version to 2.4.3 a668f74 Fix fpgautils.h distfail. edb9780 Update NEWS. 83bf9f4 can_roll and should_roll should have no bearing on the cycle period within the miner_thread so remove it. 2c2e365 Merge pull request #226 from kanoi/master 4e87790 miner.php allow a separate user settings file ceec3f8 Check for strategy being changed to load balance when enabling LPs. 30bb3c6 Merge pull request #224 from kanoi/master b0de3ed Check that all threads on the device that called get_work are waiting on getwork before considering the pool lagging. 44f5d55 Iterate over each thread belonging to each device in the hashmeter instead of searching for them now that they're a list. 2d1f961 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 4fd53c9 thread init fix a278ca0 Merge branch 'master' of https://github.com/pshep/cgminer.git 6e2c12e When using rotate pool strategy, ensure we only select from alive enabled pools. 79f4b57 Start longpoll from every pool when load balance strategy is in use. dbe9056 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. 1e38883 Consider the fan optimal if fanspeed is dropping but within the optimal speed window. b94e199 Merge branch 'master' of https://github.com/ckolivas/cgminer.git 2ec612e Added startup delay to worker threads. Prevents devices from making calls at the same time. 55e3217 Merge pull request #225 from drizztbsd/patch-1 8f76d15 Merge pull request #223 from luke-jr/bugfix_warnings eff2d04 Merge branch 'master' of https://github.com/ckolivas/cgminer.git 1b63a75 Simple auto sleep-time calibration. Optimises the sleep time while waiting for the BFL work to finish. Takes ~5 mins to settle to the correct time for each unit, then will continue to make adjustments. 7dcd9f3 Fix typo in some API messages (succeess/success) 836b76a api.c MMQ stat bugs c629cc5 Bugfix: Fix warnings when built without libudev support 4eb23c7 Bugfix: slay a variety of warnings b76053e Bugfix: modminer: Fix unsigned/signed comparison and similar warnings 913221c API add ModMinerQuad support 6d092e9 Bugfix: Honour forceauto parameter in serial_detect functions 6761194 Merge pull request #221 from luke-jr/cg_modminer 2384d0f Removed idle mode... again!? Changed work_reset rate to every 100ms & use defines rather than numerics. Change total sleep time to 4300ms after performance testing/measurement (now good to 916MH/s). Changed timeout to 15s - Throttle time is 15s. Added support for 'Busy' when submitting work. Improved logging text to include device identifier. Added a thread_enable api function, called when a thread is re-enabled. ... and removed useless re-init inside scanhash. Use modminer introduced mutex. a78d616 modminer: Temperature sensor improvements 9f872d1 modminer: Make log messages more consistent in format 861388f Merge branch 'master' of https://github.com/ckolivas/cgminer.git 59679c5 Only adjust GPU speed up if the fanspeed is within the normal fanrange and hasn't been turned to maximum speed under overheat conditions. ca8f12d Merge pull request #220 from kanoi/master 86034f8 ModMiner use valid .name d1631d8 Merge pull request #219 from luke-jr/cg_modminer 76f96f4 New driver: BTCFPGA ModMiner d3fa59d Abstract generally useful FPGA code into fpgautils.c bf4d6c3 Merge branch 'master' of https://github.com/ckolivas/cgminer.git 2dd7c4e Added checking of work_reset while waiting for BFL to return results 4889d7e Merge branch 'master' of git@github.com:pshep/cgminer.git 3347f80 Merge branch 'master' of git://github.com/ckolivas/cgminer.git 820d662 Removed idle mode. Added watchdog thread BFL temperature monitoring. 07549b0 Merge pull request #218 from kanoi/morestats ab0c1d4 Merge pull request #216 from kanoi/master 036a97c Added bitforce init and shutdown. bitforce_init closes/reopens the com port and re-initialises the unit. ec39453 Idle mode for bitforce ebeaf15 Added idle mode Idle is only set by pgadisable, so GPU/CPU is unaffected. For Icarus/Ztex, in scanhash the thread is immediately set disabled then returns. ed06c97 Added 30s BFL hashing timeout 652326c Scanhash split into separate functions Some adjustment of log reporting fdcd72b API add stats for pool getworks 7f54adb Merge remote-tracking branch 'upstream/master' 7817c42 miner.php option to hide specific fields from the display f914916 miner.php add version numbers to the summary page b15244b Merge pull request #214 from nushor/master 7fbb42b Update debian configs to v2.4.2 d9ffcda Add API and FPGA READMEs into Makefile to be included in source distribution. 5d08efa Merge branch 'master' of github.com:ckolivas/cgminer 9aac8ff Merge pull request #213 from kanoi/ica3264 e68457f Icarus - fix unit64_t printf warnings 4af690b Update NEWS. 52ab297 Bump version to 2.4.2 c01ebd7 Merge pull request #212 from kanoi/APIclass dfd3517 Merge pull request #211 from kanoi/minerphp 71378a4 Merge pull request #209 from kanoi/977aecc4a60928d05719e3b0b534335b1f82effa 2635765 Merge pull request #207 from kanoi/apibuf ffba49c API.class compiled with Java SE 6.0_03 - works with Win7x64 9cd0107 miner.php highlight devs too slow finding shares (possibly failing) 977aecc API update version to V1.11 and document changes 3cb3f09 API save default config file if none specified fd9285e api.c save success incorrectly returns error a093681 api.c replace BUFSIZ (linux/windows have different values) db67509 Merge pull request #206 from kanoi/api-readme 1de364f API-README no one actually had a V1.5 4c3e346 Move RPC API content out of README to API-README 84064a2 Must unlock mutex within loop. 85bddde Must unlock mutex after waking up on pthread conditional. 598476c Merge pull request #204 from kanoi/icarus-timer 624948e Open a longpoll connection if a pool is in the REJECTING state as it's the only way to re-enable it automatically. 2586bda Use only one longpoll as much as possible by using a pthread conditional broadcast that each longpoll thread waits on and checks if it's the current pool before opening its longpoll connection. 5c3a252 Merge branch 'master' of github.com:ckolivas/cgminer 85210ee If shares are known stale, don't use them to decide to disable a pool for sequential rejects. 07212db Restarting cgminer from within after ADL has been corrupted only leads to a crash. Display a warning only and disable fanspeed monitoring. 8d29367 Fix return values cebd647 Messing with BFL code f15d223 Icarus: fix abort calculation/allow user specified abort 9bb1a3c Merge branch 'master' of git@github.com:pshep/cgminer.git 4db47aa Return error if BFL take longer then 10s 4d3cc0b Add check to 'i' (could be considered safer) 407be57 Change write_config so that pools are saved in priority order. af85ed4 FPGA-README spelling 17b6f11 Icarus: make --icarus-timing hidden and document it in FPGA-README b5ed958 Icarus: high accuracy timing and other bitstream speed support b69d735 Merge pull request #203 from xiangfu/openwrt b1785d1 add-MIPSEB-to-icarus-for-BIG_ENDIAN 9414fa7 work_decode only needs swab32 on midstate under BIG ENDIAN f1b8bc5 add compile command to api-example.c ad76737 Merge pull request #202 from kanoi/jsonfix c2e2e7e save config bugfix: writing an extra ',' when no gpus 703d5c2 Merge pull request #201 from nushor/master dad5210 Add dpkg-source commits adcc509 Update changelog to v2.4.1 8e25239 Bump version number to 2.4.1 e195a31 Fix win32 build. 54dbc85 Update NEWS for upcoming 2.4.1 release. 61696c0 In the unlikely event of finding a block, display the block solved count with the pool it came from for auditing. 6282dfb Display the device summary on exit even if a device has been disabled. 84f3bf9 Use correct pool enabled enums in api.c. 7b1e75b Merge pull request #200 from nushor/master ad3c019 Import Debian packaging configs 848373d Ensure we test for a pool recovering from idle so long as it's not set to disabled. b85d7b5 Revert "Perform all common pool initialisation in add_pool()." 801d9ea Fix pool number display. 233a812 Give cgminer -T message only if curses is in use. f8b66bd Perform all common pool initialisation in add_pool(). 23b224f Reinit_adl is no longer used. 85c9e0c Merge pull request #198 from kanoi/stats 0cad29f API 'stats' update README 00158c3 API 'stats' allow devices to add their own stats also for testing/debug 3a4c6f4 Spelling ... 976e27c API add getwork stats to cgminer - accesable from API 'stats' 46a679f Revert "Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp." c322d9b Don't initialise variables to zero when in global scope since they're already initialised. c8e1026 Get rid of unitialised variable warning when it's false. b3bc506 Move a pool to POOL_REJECTING to be disabled only after 3 minutes of continuous rejected shares. a8d50a3 Merge pull request #196 from nelisky/ztex-120417 ed60e33 Some tweaks to reporting and logging. 87708a6 Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp. 3aebcc3 Merge pull request #195 from kanoi/hack 5c2bf84 Change FPGA detection order since BFL hangs on an ICA 7f00613 Merge pull request #194 from kanoi/pool eb60ca5 Merge remote-tracking branch 'upstream/master' into ztex-120417 a8619ad API support new pool status 4987958 Add a temporarily disabled state for enabled pools called POOL_REJECTING and use the work from each longpoll to help determine when a rejecting pool has started working again. Switch pools based on the multipool strategy once a pool is re-enabled. d5eb665 Merge pull request #193 from kanoi/master ec336cd Removing extra debug 376fcd3 Fix the benchmark feature by bypassing the new networking code. 4d090a5 Reset sequential reject counter after a pool is disabled for when it is re-enabled. b3a50dd Icarus - correct MH/s and U: with work restart set at 8 seconds 0eda541 ztex updateFreq was always reporting on fpga 0 0080aea Trying harder to get 1.15y working 4c4d3b5 fix typo 7aaf1b6 Specifying threads on multi fpga boards extra cgpu 5a58b3f Missing the add cgpu per extra fpga on 1.15y boards 44fc698 API add last share time to each pool 852f6a0 Don't try to reap curls if benchmarking is enabled. 8a24b79 Merge remote-tracking branch 'upstream/master' into ztex-120417 6143283 More NEWS. f0985f9 Only show longpoll warning once when it has failed. 81286a9 Bump version to 2.4.0 eb1521a NEWS updates. e3a3c68 Readme updates. 41d5813 Convert hashes to an unsigned long long as well. a4f1af1 Detect pools that have issues represented by endless rejected shares and disable them, with a parameter to optionally disable this feature. 55480a6 Merge pull request #191 from luke-jr/bugfix_64bit_hashcount 0680182 Bugfix: Use a 64-bit type for hashes_done (miner_thread) since it can overflow 32-bit on some FPGAs d5d8c2c Implement an older header fix for a label existing before the pthread_cleanup macro. 5081c18 Limit the number of curls we recruit on communication failures and with delaynet enabled to 5 by maintaining a per-pool curl count, and using a pthread conditional that wakes up when one is returned to the ring buffer. d4405de Generalise add_pool() functions since they're repeated in add_pool_details. 06023e5 Bugfix: Return failure, rather than quit, if BFwrite fails 4ba9006 Disable failing devices such that the user can attempt to re-enable them 124ee9b Bugfix: thread_shutdown shouldn't try to free the device, since it's needed afterward afa3fa5 API bool's and 1TBS fixes 09fe8bc Icarus - minimise code delays and name timer variables 524e2fb api.c V1.9 add 'restart' + redesign 'quit' so thread exits cleanly 01c93bc api.c bug - remove extra ']'s in notify command 5cf4e18 Increase pool watch interval to 30 seconds. 85008a7 Reap curls that are unused for over a minute. This allows connections to be closed, thereby allowing the number of curl handles to always be the minimum necessary to not delay networking. ec3d057 Use the ringbuffer of curls from the same pool for submit as well as getwork threads. Since the curl handles were already connected to the same pool and are immediately available, share submission will not be delayed by getworks. 7d288ea Implement a scaleable networking framework designed to cope with any sized network requirements, yet minimise the number of connections being reoped. Do this by create a ring buffer linked list of curl handles to be used by getwork, recruiting extra handles when none is immediately available. 57a72d5 Blind implementation of multi-fpga board 1.15y. 89053c7 There is no need for the submit and getwork curls to be tied to the pool struct. adda6e6 Do not recruit extra connection threads if there have been connection errors to the pool in question. 7638511 We should not retry submitting shares indefinitely or we may end up with a huge backlog during network outages, so discard stale shares if we failed to submit them and they've become stale in the interim. 719b0c7 HS bitstream configuration 0171c84 Bump version number to 2.3.6 e8eeea4 More NEWS. b015348 Shorten stale share messages slightly. 7233890 Protect the freeing of current_hash under mutex_lock to prevent racing on it when set_curblock is hit concurrently. 10f619c Update NEWS. 53c2255 Change default behaviour to submitting stale, removing the --submit-stale option and adding a --no-submit-stale option. f9123f0 Make sure to start the getwork and submit threads when a pool is added on the fly. 5ad942d Faster hardware can easily outstrip the speed we can get work and submit shares when using only one connection per pool. Test the queued list to see if any get/submits are already queued and if they are, start recruiting extra connections by generating new threads. This allows us to reuse network connections at low loads but recuit new open connections as they're needed, so that cgminer can scale to hardware of any size. 60cc425 Bump version number to 2.3.5 628ac19 Get rid of confusing "waiting on fresh work" part of longpoll message to minimise log width and add pool number to longpoll work restart message. 06bf44b Restarting cgminer leads to a socket that can't be bound for 60 seconds, so increase the interval that API binding waits to 30 seconds to minimise the number of times it will retry, spamming the logs. 972860c Remove unused variable. 3362a2a Give a longpoll message for any longpoll that detects a block change, primary or backup, and also display which pool it was. e1cf502 Decrease utility display to one decimal place. e5ae415 News updates. 7b370bb Small cosmetic output alignment. 669b0de Add pool number to stale share message. 4da6758 Add space to log output now that there is more screen real estate available. 268039c Indentation clean up. 30755ad Merge branch 'master' of github.com:ckolivas/cgminer 03fab3f Remove thread id display from rejected shares as well. 5d99f5d Merge pull request #185 from Diapolo/diakgcn f479be0 add goffset support for diakgcn with -v 1 and update kernel version 86e94ed Set have_longpoll to true when there is at least one pool with longpoll. 0365878 Don't display the thread ID since it adds no useful information over the device number. 08c7210 Don't display the first 8 bytes of a share since they will always be zero at >= 1 difficulty. 501e35a work->longpoll is reset across test_work_current so we need to recheck what pool it belongs to. 03abb70 Use longpolls from backup pools with failover-only enabled just to check for block changes, but don't use them as work. 1ab318d Start longpoll only after we have tried to extract the longpoll URL. b1c273e Check for submitold flag on resubmit of shares, and give different message for stale shares on retry. 5ece966 Check for submitold before submitstale. ed718b2 Don't force fresh curl connections on anything but longpoll threads. eda3829 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. e502fde Remove the ability to disable longpoll. It is not a useful feature and will conflict with planned changes to longpoll code. 8e84abf Merge pull request #184 from luke-jr/bugfix_const_warning f68c916 Remove the invalid entries from the example configuration file. 9a3ae26 Add support for latest ATI SDK on windows. d90e36d Export missing function from libztex. 8d8f4ff Merge pull request #182 from kanoi/master ab764da Merge pull request #178 from nelisky/ztex-120417 e553fe0 miner.php change socktimeoutsec = 10 (it only waits once) 90c5ef1 Bugfix: Make initial_args a const char** to satisfy exec argument type warning (on Windows only) e9d5244 miner.php add a timeout so you don't sit and wait ... forever 4cd9732 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. 849ba89 miner.php only show the current date header once 6f8cc9e miner.php also add current time like single rig page fe381c1 miner.php display rig 'when' table at top of the multi-rig summary page 724d9e4 README - add some Ztex details b249d72 api.c include zTex in the FPGA support list 9febdb5 api.c ensure 'devs' shows PGA's when only PGA code is compiled b3ac249 cgminer.c sharelog code consistency and compile warning fix 84a0012 README correct API version number 8dee991 README spelling error c4567ee api.c combine all pairs of sprintfs() 87a5f0d api.c uncomment and use BLANK (and COMMA) 316ebc3 Code style cleanup 6bb3c40 Annotating frequency changes with the changed from value bb57962 README clarification of 'notify' command 32ceec8 README update for API RPC 'devdetails' 6962514 api.c 'devdetails' list static details of devices b29edd1 Using less heap space as my TP-Link seems to not handle this much 0e91680 Bump version number to 2.3.4 ddf93c3 Add libusb to list of dependencies for building. d9d128c News update for upcoming new version. 6b0d767 Extensively document the cause of GPU device issues and the use of --gpu-map. 4648330 Support for share logging 7296e53 Grammar fix. bb31988 Detect poorly performing combination of SDK and phatk kernel and add verbose warning at startup. 22ea2f9 Yet more FAQ about SDK 2.6 and hashrate slowdowns. 454a10e Merge pull request #179 from kanoi/master cbe6ab1 configure.ac epoll.h not used now 11fb7ec Update NEWS. ae06712 Merge pull request #176 from kanoi/master 16b9ebe Icarus restore auto/noauto handling 403f63a Icarus update to new add_cgpu() 80f4fbb Icarus driver working with Linux and Windows 7e65126 api.c fix unused variable compile warning ce65e14 Merge pull request #174 from kanoi/master cad0855 Ensure everyone sees the same screen/api name as the previous version for ZTex 2067669 Ensure everyone sees the same screen/api name as the previous version for Bitforce e369d78 Ensure everyone sees the same screen/api name as the previous version for Icarus 9175e4f Display all OpenCL devices when -n is called as well to allow debugging of differential mapping of OpenCL to ADL. f5f089f Add a --gpu-map option which will allow arbitrarily mapping ADL devices to OpenCL devices for instances where association by enumeration alone fails. 9933199 Increase upper limit on number of extra items to queue as some FPGA code can't yet reliably keep many devices busy. 5f5e106 Firmware 15d4 support d6edd07 Display configuration file information when -c option is passed and only when file exists on loading default config file. 6ffdbc3 Display configuration file loaded, if any, and debug output if configuration file parsing failed. 40e6dd7 Merge pull request #173 from luke-jr/bugfix_noauto e6f9afe Add missing ztex header to Makefile for distribution. f1ae7bb Document long-form COM port device names on Windows, required to specify serial ports above 9 0f74ba0 Implement and document "-S noauto" to inhibit autoscanning without specifying a serial device d7cb49e Icarus: Ignore "auto" flag 98c0b29 Merge pull request #162 from luke-jr/workaround_icarus_uart_issue 0d30a65 Merge branch 'master' into workaround_icarus_uart_issue e95384e Include ztex bitstreams firmware in distribution and install if configured in. b97e6aa Presumably we should return false when the capability is missing in libztex_checkCapability. 78a32f2 Style police on driver-ztex.c cfe3eb0 Merge branch 'master' into ztex d3f46e7 Merge pull request #169 from luke-jr/align_temps 26b4b01 Merge pull request #170 from luke-jr/bugfix_icarus_speed 9641ff2 Merge pull request #171 from luke-jr/icarus_longpoll d8ef280 work_restart should only be changed by cgminer.c now b4ba9c3 Bugfix: Icarus: Invalidate old job, even if no nonce found in it 11234c3 Icarus: Use gettimeofday to more accurately measure scanhash time, and calibrate scan time estimate based on actual data 34f8641 Icarus: Abandon a scanhash early when work restart requested 355a87e Bugfix: Calculate Icarus timeout-exhausted nonce count correctly 1291f5a Icarus: Use epoll (where available) to get nonces ASAP 7f107fb Merge branch 'master' into ztex 0d92069 Merge branch 'master' into align_temps 9b5615d Shut down the api cleanly when the api thread is cancelled. This should allow the api socket to be closed successfully to next be reopened with app_restart. 730849c Make a union for cgpu device handles, and rename "device" to "device_ztex" since it's Ztex-specific 657716e Merge branch 'master' into ztex 127c4a5 Initialise name variable. e07c726 Remove unnecessary check for variable that always has memory allocated. a5b05d9 Merge pull request #167 from luke-jr/bugfix_missing_stmt 7987476 Bugfix: Missing "break" no-op in default case 7312759 Workaround Icarus UART failures by reopening the tty every scanhash 7b94788 Merge pull request #157 from luke-jr/unify_drivers 86671f8 Make the status window and log window as large as can fit on startup, rechecking to see if it can be enlarged after the fact. This allows any number of devices to be displayed provided the window is made long enough without corrupting the output. b877883 Merge branch 'master' into unify_drivers c7cc2e4 Merge branch 'master' into ztex bd46119 Style police on libztex.c. e08936c Merge pull request #166 from kanoi/master 2e1d201 API add removepool like the screen interface eec7c1a api.c escape required characters in return strings + pools returns the username 46faefb Merge branch 'ztex-master' of https://github.com/nelisky/cgminer into ztex 9609dbc Set lp_path to NULL after free for consistency. 9b2e62d Merge pull request #165 from nelisky/resp_hdr_cb_leak 17b9baa Removing dmalloc import left behind by mistake 381107c Merge pull request #164 from kanoi/master b80d22b Increase maximum number of displayed devices to 14, beyond which the screen becomes corrupted. 44bcb69 Fixing leak in resp_hdr_cb 8237568 miner.php warning highlight GPU stats if they are zero (e.g. ADL not enabled) d5323b7 miner.php highlight any device that isn't 'Enabled' 39eeca2 miner.php highlight any Status that isn't 'Alive' 6970714 Use detected endianness for ztex overflow detection and hash rate reporting 9ba2e21 Some cleanup c52b55e README update details about miner.php 3a39120 miner.php optionally support multiple rigs c280dd0 Moving space indentation to tabs f9d4d92 Some cleanup 7fe7d18 removing unused libusb_context pointer 0649972 ztex detect was broken due to bad branch split 3067a41 leak fix 381c294 had freqM1 as int when it is a double. 57a2764 Small tweaks to freq reporting 608a520 Tweaks to make ztex work on a tp-link router with openwrt a960087 Ztex device removal segfault fixed 261677d Adding serial number to status line. 7975638 ztex Mhz reporting 8f58d25 Improved ztex device detection 3197ca5 Better cleanup and error handling 95d17e9 NULLing handle on destroy 8e08f56 Starting to handle ztex disconnects and errors c589768 changing the bitstream read and push strategy. a35205d Some tweasks towards clean exit on error c3bda2b adding path to libusb include dc6e2f4 Reading actual bitfilename 98d6664 removing hard coded include path for libusb-1.0 56ec312 small fixes and cleanup 5bbce4c nonce check and error driven freq scaling 0902f21 add license headers and some cleanup bd3dc6d adding ztex bitstreams 99a188f initial commit with some support for ztex 1.15x board. c3ef491 Bump version number to 2.3.3 cdd4b63 More NEWS updates. 393200e Don't even display that cpumining is disabled on ./configure to discourage people from enabling it. e0c4d60 Minor readme updates. 2b6ab75 News update. dc70fe9 Do a complete cgminer restart if the ATI Display Library fails, as it does on windows after running for some time, when fanspeed reporting fails. 7c6090f Cache the initial arguments passed to cgminer and implement an attempted restart option from the settings menu. f3e4305 Disable per-device status lines when there are more than 8 devices since screen output will be corrupted, enumerating them to the log output instead at startup. 7367f57 Reuse Vals[] array more than W[] till they're re-initialised on the second sha256 cycle in poclbm kernel. baadafa Minor variable alignment in poclbm kernel. dceaa71 Make sure to disable devices with any status not being DEV_ENABLED to ensure that thermal cutoff code works as it was setting the status to DEV_RECOVER. 1152b4b Re-initialising ADL simply made the driver fail since it is corruption over time within the windows driver that's responsible. Revert "Attempt to re-initialise ADL should a device that previously reported fanspeed stops reporting it." 0a39a22 Microoptimise poclbm kernel by ordering Val variables according to usage frequency. ef76ec8 Add windows build docs to extra dist files. fd81bde Bump version number to 2.3.2 ded7796 Update NEWS. 0a4a2d9 Damping small changes in hashrate so dramatically has the tendency to always make the hashrate underread so go back to gentle damping instead. fb881ea Revert the crossover of variables from Vals to W in poclbm kernel now that Vals are the first declared variables so they're used more frequently. 1a2130c Vals variables appearing first in the array in poclbm is faster. 22bd720 Merge branch 'master' of github.com:ckolivas/cgminer c2cf8eb Remove NEWS changelogs that were reverted. 9f70b9c Revert "Add vector type hint to phatk kernel." d33ae6a Revert "Use min() function on 2 vector output path in phatk kernel and don't use extra variable for both 2 and 4 vectors." cf0aebb Revert "Update phatk version number." c99c09d Merge pull request #161 from kanoi/master 7f64adc Merge pull request #160 from luke-jr/bugfix_realquiet_2 0be2b9e Increase max devices to 64 (for FPGA support) f9af5ac When using '-m' on linux, send the forked process a SIGTERM on exit 3fa3f60 api.c new commands: pgaenable pgadisable 1092f01 Update NEWS. 6274fbe Change the preferred vector width to 1 for Tahiti only, not all poclbm kernels. 580888f Update phatk version number. 532179b Use min() function on 2 vector output path in phatk kernel and don't use extra variable for both 2 and 4 vectors. 27a6f7a Add vector type hint to phatk kernel. 88ff55e Use a time constant 0.63 for when large changes in hashrate are detected to damp change in case the large change is an aliasing artefact instead of a real change. a1879c8 Only increment stale counter if the detected stales are discarded. d4c5130 Attempt to re-initialise ADL should a device that previously reported fanspeed stops reporting it. 43ef4e0 Move the ADL setup and clearing to separate functions and provide a reinit_adl function to be used when adl fails while running. 35de9d1 Use slightly more damping on the decay time function in the never-ending quest to smooth off the hashmeter. 2f71520 Set the starting fanspeed to a safe and fairly neutral 50% when autofan is enabled. b3edae4 Merge pull request #159 from pshep/master efcacba Merge pull request #158 from Diapolo/master eb4233d Merge pull request #156 from luke-jr/ignore_redundant 7458927 Merge pull request #155 from luke-jr/no_curses 2beb350 Merge pull request #153 from kanoi/master e26f0ac Merge pull request #154 from luke-jr/bugfix_withval 36aadd6 Merge pull request #152 from luke-jr/specify_driver ad82420 Merge pull request #151 from luke-jr/libudev_detect_fixes ef1eafa Provide locking around updates of cgpu hashrates as well to prevent multiple threads accessing data fields on the same device. fa5e067 Display the beginning of the new block in verbose mode in the logs. 3c16c85 Reinstate old diablo kernel variable ordering from 120222, adding only goffset and vector size hint. The massive variable ordering change only helped one SDK on 7970 but hurt other devices. 3f3c836 Change the version number on the correct kernels. 0699061 api.c devicecode/osinfo incorrectly swapped for json 6d4314d Add extensive instructions on how to make a native windows build. 4325cff Update version numbers of poclbm and diablo kernels as their APIs have also changed. 621bcca Use global offset parameter to diablo and poclbm kernel ONLY for 1 vector kernels. 39395eb Use poclbm preferentially on Tahiti now regardless of SDK. 746fe8b Remove unused constant passed to poclbm. 2a3b735 Clean up use of macros in poclbm and use bitselect everywhere possible. 5fd7d46 Add vector type hint to diablo kernel. db873ba Add worksize and vector attribute hints to the poclbm kernel. 325246d Spaces for non-aligned variables in poclbm. ab3e63f More tidying of poclbm. 0af7bbd Swap Vals and W variables where they can overlap in poclbm. 0079625 More tidying of poclbm. e1d580b Tidy up first half of poclbm. c137c50 Diablo tidy. a32654b Absorb as many ZA variables into each other in diablo kernel. c10ea0b Add spaces to new assignments in diablo kernel. 5518891 Variable assignment alignment in diablo kernel. 338f6d5 Clean up use of any() by diablo and poclbm kernels. a7a9dbc Minor variable symmetry changes in poclbm. c297f63 Put additions on separate lines for consistency in poclbm. 3fa8613 Consolidate last use of W11 into Vals4 in poclbm. 4885b02 Add last value in vectors in diablo and poclbm kernel for consistency with original code. 8140da9 Separate out all additions of different variables in diablo kernel. c43f887 Separate out additions in final vector code in diablo kernel as well. dc2d4ab Get rid of accessory braces. 4776ca8 Keep lines that reference the same variable together. c8bd0e4 Split addition lines without functions. 9901c66 Remove unnecessary braces from diablo kernel. 40b18d5 Use the unrolled option for no vectors return code. 70de5ba Convert additions to += in diablo kernel. 6121c2f Reuse variables to decrease total number used in diablo kernel. b99a048 Strip out unused variables from diablo array. 40f5aac Machine optimise by removing one-use variables. 0f359a8 Merge all additions before output. d8f14fd Cluster Vals7 for use on output. cba2d84 Change email due to SPAM 25f914a api.c miner.php add a '*' to the front of all notify counters - simplifies future support of new counters 229d022 miner.php add display 'notify' command 195bd57 Small change to help arch's without processor affinity c01c824 Fix bitforce compile error 25ca068 api.c notify should report disabled devices also - of course 18a8b55 API returns the simple device history with the 'notify' command eeec980 code changes for supporting a simple device history 8747a47 api.c Report an OS string in config to help with device issues 6be50fa api.c fix Log Interval - integer in JSON 6e35503 api.c config 'Device Code' to show list of compiled devices + README 3dee276 api.c increase buffer size close to current code allowable limit eca9965 CGPU API for device kernel name f05a319 CGPU API for device names 303dbf4 Abstract add_cgpu function, to handle device id numbering and devices array e2b7c93 removed 8-component vector support from kernel, as this is not supported in CGMINER anyway 782fc63 forgot to update kernel modification date, fixed ;) c326158 reordered an addition in the kernel, which results in less instructions used in the GPU ISA code for GCN 22ff7a4 miner.php: option for readonly or check privileged access c739d0d Merge branch 'bugfix_realquiet' into bugfix_realquiet_2 03c94c0 Bugfix: Skip enabling curses, if --real-quiet or listing devices e131dfa Unify drivers as driver-*.c and add driver name to API b6ae200 Ignore reduntant-with-build options --disable-gpu, --no-adl, and --no-restart 84aa0d6 miner.php: ereg_replace is DEPRECATED so use preg_replace instead ed8382c Make curses TUI support optional at compile-time. 2295d6b Bugfix: AC_ARG_WITH provides withval instead of enableval 702dd0f miner.php split devs output for different devices 1f11807 api.c: correct error messages caa02f8 icarus.c modify (regular) timeout warning to only be debug 0fdf31d icarus.c set the windows TODO timeout 8bafc8d Allow specifying a specific driver for --scan-serial aa52e7d optimized nonce-check and output code for -v 2 and -v 4 3d9970d Bugfix: Check for libudev header (not just library) in configure, and document optional dependency cb3323b Add API support for Icarus and Bitforce 97ab111 Merge pull request #147 from luke-jr/libudev_detect 2b9a150 Merge pull request #148 from luke-jr/bugfix_bitforce_temp_ZLX f776723 Merge pull request #139 from Diapolo/master 717a63f Merge pull request #149 from kanoi/master c9b7a22 Next API version is 1.4 (1.3 is current) b4c7c56 README/api.c add "When" the request was processed to STATUS 3ec89d7 Bugfix: ZLX to read BitFORCE temp, not ZKX -.- ae99714 Use libudev to autodetect BitFORCE GPUs, if available 28f99be Use the return value of fan_autotune to set fan_optimal instead of passing it as a pointer. d48faf3 Pass the lasttemp from the device we're using to adjust fanspeed in twin devices. 26f57e3 Merge pull request #146 from xiangfu/icarus e8d4003 fix the name to 3 chars, fix the multi-icarus support 2376567 Merge pull request #145 from luke-jr/bugfix_scan_doc aff55fa Bugfix: "-S auto" is the default if no -S is specified, and there is no such delay in using it 2010f0c Merge pull request #143 from kanoi/master f13fd8d README add information missing from --scan-serial bd506cd Update README RPC API Version comment cc064bb Merge pull request #142 from luke-jr/bugfix_enable_cpu 3a003b9 Bugfix: Allow enabling CPU even without OpenCL support daf1eff Change failed-to-mine number of requested shares messge to avoid segfault on recursive calling of quit(). 76d0554 Get rid of extra char which is just truncated in poclbm kernel. 77f177b only small code formating changes d9d4831 removed vec_step() as this could lead to errors on older SDKs d7d0797 unified code for generating nonce in kernel and moved addition of base to the end -> faster d32cd58 Reinstate the old output mechanism setting output[FOUND] per vector. 98dfd6e Really put back the old phatk kernel completely unchanged. fc6585d Bump version number to 2.3.1. 28e51f8 Update NEWS. 56c27c1 Merge branch 'master' of github.com:ckolivas/cgminer 0412ac7 Only send out extra longpoll requests if we want longpolls. e9889a3 Revert kernels that are designed for newer hardware and SDKs to 2.3.0 release style. dbb04a6 Increase the speed of hashrate adaptation. edb070c Fixes. fb077c6 Pass vectors * worksize to kernel to avoid one op. 70e8ade Revert behaviour to old nonce init code. a731de6 revert to legacy nonce creation in the kernel without vector offset, but keep GOFFSET code removed bce4706 Revert use of any() in output code in poclbm kernel. Slower. a46ee18 revert to former method and do not use any()-function in check for valid nonces, as this is slower 6f8822b phatk prefers to have the check unrolled instead of using any() since it's already zeroed. 3ab48f9 Merge pull request #137 from kanoi/master de944df Only send out extra longpoll requests if we want longpolls. 47747dc revert to legacy nonce creation in the kernel without vector offset, but keep GOFFSET code removed f635ac4 FAQ about sockets not working on windows PHP fd8d0a7 miner.php use long php tags everywhere b0a01be Revert use of any() in output code in poclbm kernel. Slower. 837f9eb revert to former method and do not use any()-function in check for valid nonces, as this is slower 0abac0b API implement addpool command 59b8840 phatk prefers to have the check unrolled instead of using any() since it's already zeroed. 54ef2d9 API return the untouched Total MH also (API now version 1.3) 57ebb39 Add enable/disablepool to miner.php example and reduce font size 1pt fe34ba1 Bump version to 2.3.0 21ef690 Update NEWS and README for 2.3.0 50a33aa Consider extra longpoll work items as staged_extra so as to make sure we queue more work if queueing regular work items as longpolls. 709c4cd Use diablo kernel on all future SDKs for Tahiti and set preferred vector width to 1 on poclbm kernel only. 66a19f8 Merge pull request #136 from Diapolo/master 71ab39d Explicitly type the constants in diakgcn kernel as uint, to be in line with poclbm kernel. 553d53f Reset all hash counters at the same time as resetting start times to get accurate hashrates on exiting which is mandatory for benchmarking. 88a9d83 Report thread in during getting of work in benchmark mode. 49ba396 Report thread out before it starts to avoid being flagged as sick when waiting for the first work item. 5404ebc Don't disable and re-enable devices as they may recover and in the meantime have their status set to OFF. 7c2d990 Update NEWS. e0b3ee5 Merge branch 'master' of github.com:ckolivas/cgminer f4df8c8 Merge pull request #135 from kanoi/master 60c5ac6 API new commands enablepool and disablepool (version already incremented) cc08d95 Tolerate new-format temperature readings 89ce1a4 Merge pull request #133 from luke-jr/bugfix_bitforce_memleak 4458f3d Modify cgminer.c pool control to allow API to call it 829dcf9 Bugfix: Fix BitFORCE driver memory leak in debug logging 4dd6b64 Merge pull request #131 from kanoi/master 6f65599 Fix API README (no --api-access -> it's --api-allow) df58517 Extra byte was being unused and leading to failure on some platforms. 26dd798 An extra change snuck into the phatk kernel that was unintentional. 9345983 Explicitly type the constants in poclbm kernel as uint. ca2b2d9 Don't save 'include' when saving the configuration 915c72d Allow configuration file to include another recursively 527e611 Fix !HAVE_OPENCL build. dfcb98d Use the SDK and hardware information to choose good performing default kernels. 71cbe8c Move phatk kernel to offset vector based nonce bases as well. 5c0214d Merge pull request #130 from Diapolo/master 0db998c Add a --benchmark feature which works on a fake item indefinitely to compare device performance without any server or networking influence. 74d1c4d further fix for new vector offset method 01c197d Use one less op before the branch code in diakgcn. d3ad87f Allow writing of multiple worksizes to the configuration file. 1b1fa5c Allow writing of multiple vector sizes to the configuration file. 994cd77 Allow writing of multiple kernels to the configuration file. 08db228 Merge branch 'master' of https://github.com/ckolivas/cgminer 93efb72 Allow multiple different kernels to be chosen per device. 96e6817 Merge pull request #129 from Diapolo/master a54f760 Fix multiple work size entry. bb51b62 tried to fix vector offset with diakgcn 26c59fb Allow the worksize to be set per-device. deff55c Allow different vectors to be set per device. 3dee203 Merge branch 'master' of github.com:ckolivas/cgminer 0d083b6 Left out an else after the if statement. 89c04cf Merge pull request #128 from luke-jr/bugfix_nx bf3a9f9 Unintentionally dropped the device name from the binary filenames. Reinstate. b77656b If we're well below the target temperature, increase gpu engine speed back to maximum in case we have gotten lost between profiles during an idle period. 03f4f7e We should be setting the value of fan_optimal, not its address. 0bde957 Update all kernel version names. 5d23d70 As all kernels will be new versions it's an opportunity to change the .bin format and make it simpler. Specifying bitalign is redundant and long can be l. 8f08a77 Use any() in kernel output code and revert breakage of diakgcn kernel. 145f3c0 Put the nonce for each vector offset in advance, avoiding one extra addition in the kernel. bca9814 Reset times after all mining threads are started to make estimating hashrates easier at startup. b16beb0 Bugfix: allow no-exec (NX) stack 083c676 Revert "Fan control should be fast enough to adjust now without needing to set a high starting speed." e69080e Fan control should be fast enough to adjust now without needing to set a high starting speed. 8c387ef Fix minor warning. 0a7d622 Merge branch 'master' of github.com:ckolivas/cgminer 28897c2 Merge pull request #126 from xiangfu/icarus 7110bdb Merge branch 'master' of github.com:ckolivas/cgminer 8f3ffb0 Merge pull request #125 from Diapolo/master 07b0ed4 fix the bitforce.c code style follow 1TBS 3631829 fix icarus.c compile warning 52d4581 small changes to speedup no vec for AMD 898.1 OCL runtime d1cddf8 Update licensing to GPL V3. 882e4d8 Merge pull request #123 from xiangfu/icarus 2f3a4a4 Reset the longpoll flag after it's been used once to prevent it restarting work again. 2ca8d38 Merge pull request #124 from kanoi/master 00290a3 Select diablo kernel on all but GCN+SDK 2.6. d85fc0f Begin import of DiabloMiner kernel. de40e6d Modify API debug messages to say API instead of DBG e3281c2 When API shuts down cgminer don't kill itself af7368d Don't make rolled work from the longpoll be seen as other longpoll work items. a455ac7 README document API 'privileged' command dd233ec API add 'privileged' command so can verify access level f4284a2 Set the lp_sent variable under lock since there will almost always be a race on setting this variable, potentially leading to multiple LPs being sent out. 9b83c12 Update documentation for API changes 60b7c01 API restrict access to all non display commands by default c25aead Update API version to 1.2 for new 'Log Interval' 3bd16ac API add --log Interval to 'config' reply 3955fef --api-allow special case 0/0 means all 136b50d Bump version number to 2.2.7 8d6d62c Update FAQs. 89b32b1 Officially support diakgcn in code and docs. ed893af Update NEWS. fe4b5e1 Set the lp_sent bool earlier to minimise the number of extra longpolls sent out. dfead15 add shortcuts to description for easy grep beaf158 update README for Icarus 2bb92eb add Icarus support to autoreconf system f46c2b2 add icarus to cgminer.c 706c4de add shutdown function 340b923 add icarus.c, base on bitforce.c 3cdac04 Flag the pool that is the longpoll thread to avoid sending multiple longpolls during the slight delays between requesting and setting the lp_sent flag. a3103d9 Merge pull request #122 from Diapolo/master 8a008ff Fixed no vectors, shortened code a bit (only cosmetic) 56baa87 Make sure to request on the lp url when requesting a longpoll indrectly via get upstream work. 79e95dd Store whether a work item is the result of a longpoll or not in struct work and use it to help determine block changes directly from the work longpoll bool. 3990671 Keep track of when a longpoll has been sent for a pool and if the current pool is requesting work but has not sent a longpoll request, convert one of the work items to a longpoll as we may have switched pools but still be using the longpoll from the previous pool. 4eca1aa Store the longpoll url in the pool struct and update it from the pool_active test in case it changes. This is to allow further changes to longpoll management on switching pools. f85b85d Re-check for a longpoll supporting pool every 30 seconds if none is found initially. b217cbe Report threads as busy waiting on getwork on startup to avoid them being flagged sick on startup during slow networking. 02295c6 Allow devices that are disabled due to overheating to be flagged as recovering instead of disabling them and re-enable them if they're below ideal temperatures and --no-restart has not been set. e9c3d73 Tahiti prefers worksize 64 with poclbm. e5be2d2 Merge pull request #121 from Diapolo/master 99d058a re-forked cgminer - initial commit to update DiaKGCN kernel 30936f1 No need to expressly retain the opencl program now that the zero binary issue is fixed. 810ad04 More copyright updates. 22d3034 Show error code on any opencl failure status. be9db9c Copyright updates. 0b6e35c Add detection for version 898.1 SDK as well but only give SDK 2.6 warning once on startup instead of with each device initialisation. 17cc279 Always use a fresh connection for longpoll as prolonged persistent connections can fail for many reasons. fa4ce8d Keep track of intended engine clock speed and only adjust up if it's higher than the last intended speed. This avoids setting the clock speed to one relative to a lower profile one by mistake. d1cf80a Use gpu-memdiff on startup if an engine clockspeed is set and a memdiff value is set. 66ea930 Revert "Adjust engine speed up according to performance level engine setting, not the current engine speed." c427097 Revert "Logic fail on engine multiplier." eb5dcc6 Revert "Correct yet more logic fail :(" 0672195 Freeze the queues on all threads that are sent the pause message to prevent them trying to start up again with saved pings in their queues. 83dde50 Updates to diakgcn kernel courtesy of Philip Kaufmann f0e12fc Consolidate all screen updates to the watchdog thread and touch both windows before refresh. d2b3fbc Curses will be disabled in clean_up so don't do it early in kill_work, and disable_adl so that GPU settings may be restored to normal in case shutting down curses leads to instability on windows. 61328a4 Stop the mining threads before trying to kill them. 1c211c5 Plain refresh() does not give reliably screen updates so get rid of all uses of it. 86a5382 Delete unused variable. 6693898 Fix diakgcn kernel working by passing it D1A variable and renaming it in the cl code accordingly. Renumber version consistent with change in code since it now works. a95e4f4 Bump version number to 2.2.6. 6ab74b0 Update NEWS. 67c4ada Provide warning on each startup about sdk 2.6 and decrease poclbm kernel selection to LOG_INFO. b4c86ba Give SDK 2.6 warning only on building a kernel for !GCN bitalign devices. 728e3d4 Revert "Automatically choose phatk kernel for bitalign non-gcn ATI cards, and then only select poclbm if SDK2.6 is detected." 72ee48c Merge branch 'master' of github.com:ckolivas/cgminer 3d3a3a2 Fix unused warnings on win32. c31c067 bitforce: Simplify BFopen WIN32 ifdef/else 9631c0b Fix initialization warning with jansson 1.3 c904b74 bitforce: Cleanup extraneous TODO that isn't needed 2f0a3dc Move tcsetattr (and new tcflush) into *nix BFopen to simplify things a bit 33b0aa3 Merge pull request #117 from luke-jr/bitforce_win32_timeout_set 7d3635c Add message explaining 2nd thread disabling for dynamic mode and how to tune it. 9a0e4f8 Move logwindow down once number of devices is known. e7fdadf Automatically choose phatk kernel for bitalign non-gcn ATI cards, and then only select poclbm if SDK2.6 is detected. 6a78594 Make SDK 2.6 warning and advice big and bold. c235c7e Allow the refresh interval to be adjusted in dynamic intensity with a --gpu-dyninterval parameter. e259a99 Make curses display visible right from the beginning and fix the window sizes so the initial messages don't get lost once the status window is drawn. c531f1b Use the max_hashes variable to determine when to abandon work. b36d857 Use the max_hashes variable to increment nonce only in dynamic mode and use the all time highest value. 29f0b27 The amount of work scanned can fluctuate when intensity changes and since we do this one cycle behind, we increment the work more than enough to prevent repeating work. 538b0eb bitforce: Set a 30 second timeout for serial port on Windows, since the default is undefined 158c091 Merge pull request #115 from luke-jr/bitforce_disable_autoscan 8798a90 Merge pull request #116 from holymonson/master 5e31785 Increase poclbm version number. 49c28b3 Use PreVal4addT1 instead of PreVal4 in poclbm kernel. 5c4df13 Import PreVal4 and PreVal0 into poclbm kernel. f5c2967 Import more prepared constants into poclbm kernel. 734dfec Keep variables in one array but use Vals[] name for consistency with other kernel designs. 3f9e34a Replace constants that are mandatorily added in poclbm kernel with one value. b941146 Remove addition of final constant before testing for result in poclbm kernel. 81cb584 Hand optimise variable addition order. dc2d553 Hand optimise first variable declaration order in poclbm kernel. f39fac9 Third pass reorder. b754fb8 2nd pass radical reorder. e2b3c85 Radical reordering machine based first pass to change variables as late as possible, bringing their usage close together. 8047af5 fix strcpy NULL pointer if env HOME unset. 75da96b bitforce: Disable automatic scanning when at least one device is specified manually 57dad38 Unroll all additions to enable further optimisations. aa1523d Bump up version number to 2.2.5 fdf9fb8 Update NEWS. 64acb9d Increase version numbers of modified kernels. 23c01bc Make output buffer write only as per Diapolo's suggestion. 210fe9d Constify nonce in poclbm. 60f8ccb Use local and group id on poclbm kernel as well. b2b5083 Microoptimise phatk kernel on return code. 83b76da Correct yet more logic fail :( b0787e0 Logic fail on engine multiplier. fd05341 Do not loop indefinitely setting poclbm kernel to load a binary. 68217ef Adjust engine speed up according to performance level engine setting, not the current engine speed. d689cfb Try to load a binary if we've defaulted to the poclbm kernel on SDK2.6 3057b70 Use the poclbm kernel on SDK2.6 with bitalign devices only if there is no binary available. 2c33f12 Whitelist ATI SDK 2.6 to use the poclbm kernel by default. 8be9d13 Further generic microoptimisations to poclbm kernel. fb99c8d The longstanding generation of a zero sized binary appears to be due to the OpenCL library putting the binary in a RANDOM SLOT amongst 4 possible binary locations. Iterate over each of them after building from source till the real binary is found and use that. 56907db Fix harmless warnings with -Wsign-compare to allow cgminer to build with -W. 1112384 Fix missing field initialisers warnings. 1885374 Merge pull request #112 from luke-jr/jansson_compat 07c2ee5 Put win32 equivalents of nanosleep and sleep into compat.h fixing sleep() for adl.c. be8ad57 Add missing define in logging.c for isatty() beb1c3f Fix packaging issue with logging.h missing. fdadb0b Restore compatibility with Jansson 1.3 and 2.0 (api.c required 2.1) e0fec35 modularized logging, support for priority based logging 713e8be move CPU chipset specific optimization into device-cpu 52bb99c Fix double definition of A0 B0 to zeroA zeroB. 862e9da Bump version number to 2.2.4. ecaf33a Update README. 6a9ffd7 Update NEWS. 405a212 Remove unnecessary check for opt_debug on every invocation of applog at LOG_DEBUG and place the check in applog(). 3dda18e Add NEWS. 2b61d97 Remove the test for whether the device is on the highest profil level before raising the GPU speed as it is ineffectual and may prevent raising the GPU speed. b4364d4 Update NEWS. 60c7014 Retain cl program after successfully loading a binary image. 55bd031 Variable unused after this so remove setting it. 1c1b8be BFI INT patching is not necessarily true on binary loading of files and not true on ATI SDK2.6+. Report bitalign instead. 81d4f62 Various string fixes for reject reason. b706da9 Merge branch 'reject_reason' of https://github.com/luke-jr/cgminer into reject 2437641 Merge pull request #93 from luke-jr/bitforce_temp 543265d Generalize --temp-cutoff and implement support for reading temperature from BitFORCE FPGAs 8c60957 Merge pull request #107 from kanoi/master d24ee78 Change message from recovered to alive since it is used on startup as well as when a pool has recovered. 8e682a2 Start mining as soon as any pool is found active and rely on the watchpool thread to bring up other pools. 82798f6 Merge pull request #111 from luke-jr/bugfix_bitforce_id 405fcd7 Delayed responses from testing pools that are down can hold up the watchdog thread from getting to its device testing code, leading to false detection of the GPU not checking in, and can substantially delay auto gpu/auto fan management leading to overheating. Move pool watching to its own thread. 5be4bf7 Bugfix: BitFORCE index needs to be static to count correctly 5ec684c Space out retrieval of extra work according to the number of mining threads. 37374bb Make shutdown more robust. Enable the input thread only after the other threads exist. Don't kill off the workio thread and use it to exit main() only if there is an unexpected problem. Use kill_work() for all anticipated shutdowns where possible. Remove unused thread entry. 5fbd034 Merge branch 'kernels' of github.com:ckolivas/cgminer into kernels cad84c6 Change poclbm version number. 3d4c78c Leave diakgcn and diablo kernels as silent options for now since they don't work. 4f1676f One array is faster than 2 separate arrays so change to that in poclbm kernel.. f5903e6 Microoptimisations to poclbm kernel which increase throughput slightly. f2d5db0 Use only working kernels by default. b7fa2b5 Make vectors compile in diablokernel. 451b82d Convert #if to #ifdef in diablo .cl. 59d3d01 Implement diablo kernel support and try to make it work. e2a9c66 Import diablominer kernel. 95a989d Conflicting entries of cl_kernel may have been causing problems, and automatically chosen kernel type was not being passed on. Rename the enum to cl_kernels and store the chosen kernel in each clState. 604b2f7 Set cl_amd_media_ops with the BITALIGN flag and allow non-bitselect devices to build. e6cf96a ALlow much longer filenames for kernels to load properly. 4822cca Allow different kernels to be used by different devices and fix the logic fail of overcorrecting on last commit with !strstr. 196e8a0 Fix kernel selection process and build error. ec2dfea instead of uint *, int * was used as type for the output buffer (self-made bug from a former commmit) c91155a made code a bit more consistent and removed 2 unneeded brackets 17feeca queue_phatk_kernel now uses CL_SET_VARG() for base-nonce(s), too 47a09ce added OpenCL >= 1.1 detection code, in preparation of OpenCL 1.1 global offset parameter support c43dd73 renamed all rot-functions to rotr to be clear that it is a rotate right ab84805 changed base-nonce generation for non GOFFSET paths to use get_local_size(0) and left shift 1398a80 leave out kernel parameter "const u base", if GOFFSET (not yet implemented) is defined dcd2861 changed format of output buffer from ulong * to uint * to be cgminer compatible 15cc358 First commit - only changed date in diakgcn120208.cl 80cf0fd Diakgcn should be using the modified PreVal4 which includes T1. cce08b6 Reinstate original code as much as possible for comparison. 9e9db01 Convert to Unix EOL. 85e9a84 Use K array explicitly to make it clear what is being added. 49cff57 Use correct variable on output in diakgcn kernel. 033913c First working port of the diakgcn kernel. cb7145b Add basic build ability with diakgcn and put all kernel names in configure.ac to avoid changing them in mutliple places. 3af3cbe Import diakgcn kernel. 2fa142d One array is faster than 2 separate arrays so change to that in poclbm kernel.. 1355859 Microoptimisations to poclbm kernel which increase throughput slightly. cef90ab Merge branch 'kernels' into diablo 1bfa82c Revert "Search for nonce if it is not found to be correct as a debugging check." 6776b0e Use only working kernels by default. d9e0738 Search for nonce if it is not found to be correct as a debugging check. 92283ef Make vectors compile in diablokernel. 467ba35 Convert #if to #ifdef in diablo .cl. 2270b4e Implement diablo kernel support and try to make it work. c864dbe Import diablominer kernel. 02c9427 Conflicting entries of cl_kernel may have been causing problems, and automatically chosen kernel type was not being passed on. Rename the enum to cl_kernels and store the chosen kernel in each clState. fa5f4a6 Set cl_amd_media_ops with the BITALIGN flag and allow non-bitselect devices to build. 35ea31b ALlow much longer filenames for kernels to load properly. 8af2365 Allow different kernels to be used by different devices and fix the logic fail of overcorrecting on last commit with !strstr. 2b23805 Fix kernel selection process and build error. c462ba5 Merge branch 'diakgcn' of https://github.com/Diapolo/cgminer into diakgcn 0fe8b60 instead of uint *, int * was used as type for the output buffer (self-made bug from a former commmit) 68e36c6 made code a bit more consistent and removed 2 unneeded brackets 7dfac0f queue_phatk_kernel now uses CL_SET_VARG() for base-nonce(s), too ed7210a added OpenCL >= 1.1 detection code, in preparation of OpenCL 1.1 global offset parameter support b2f81c9 Merge branch 'diakgcn' of https://github.com/Diapolo/cgminer into diakgcn 2c7baa4 Merge branch 'diakgcn' of https://github.com/ckolivas/cgminer into diakgcn 6d997d4 renamed all rot-functions to rotr to be clear that it is a rotate right 05c74b0 changed base-nonce generation for non GOFFSET paths to use get_local_size(0) and left shift ecd2b0d leave out kernel parameter "const u base", if GOFFSET (not yet implemented) is defined 0834250 changed format of output buffer from ulong * to uint * to be cgminer compatible f25075c First commit - only changed date in diakgcn120208.cl 6e3ad7a Logic fail on queue request. d40979d No point discarding a share even if opt_fail is enabled. 435e5c8 Work items have a tendency to expire at exactly the same time and we don't queue extra items when there are plenty in the queue, regardless of age. Allow extra work items to be queued if adequate time has passed since we last requested work even if over the limit. ffbf15a Discard work when failover-only is enabled and the work has come from a different pool. b54d462 Missing include to build on newer mingw32. 5b47610 Move from the thread safe localtime_r to regular localtime which is the only one supported on newer pthread libraries on mingw32 to make it compile with the newer ming. Thread safety is of no importance where localtime is used in this code. 041d668 Diakgcn should be using the modified PreVal4 which includes T1. e5b856b Remove extra not needed trash :) dab9b7e Define in_addr_t in windows if required 95e1e19 sys/wait.h not required in windows f19e67f Allow API to restrict access by IP address 5904976 Reinstate original code as much as possible for comparison. c5142b7 Convert to Unix EOL. 7a069b9 Use K array explicitly to make it clear what is being added. 5eab0e7 Use correct variable on output in diakgcn kernel. 53d33c7 First working port of the diakgcn kernel. a6c6866 Add basic build ability with diakgcn and put all kernel names in configure.ac to avoid changing them in mutliple places. 3596e37 Import diakgcn kernel. 93f4e99 Add pool switching to example miner.php f7a9897 Display X-Reject-Reason, when provided 63777c9 Bump version to 2.2.3 with NEWS. e0540bd Revert "Rewrite the convoluted get_work() function to be much simpler and roll work as much as possible with each new work item." 2db367e Bump version to 2.2.2 04b6ec9 Curses needs to be included before stdbool to compile properly with pdcurses on mingw32. aa8552a Update NEWS. 4301351 Merge pull request #104 from kanoi/master de4c6c2 Provide support for the submitold extension on a per-pool basis based on the value being detected in a longpoll. 1dff429 Don't send a ping to a dynamic device if it's not enabled as that will just enable it for one pass and then disable it again. dec99ab Rewrite the convoluted get_work() function to be much simpler and roll work as much as possible with each new work item. a3e7793 Roll as much work as possible from the work returned from a longpoll. eff9fe4 Rolling work on each loop through the mining thread serves no purpose. d42d0c8 Allow to stage more than necessary work items if we're just rolling work. b961271 Replace divide_work with reuse_work function used twice. 0307f9b Give rolled work a new ID to make sure there is no confusion in the hashtable lookups. 2252639 Remove unused header include. d991a09 Remove now-defunct hash_div variables. e57ac01 Remove unused get_dondata function. c72a8b8 Silence ADL warnings. 36d2fa4 Silence unused parameter warnings. 294ac0b Stagger the restart of every next thread per device to keep devices busy ahead of accessory threads per device. 82f74af Deprecate the --donation feature. Needlessly complex, questionable usefulness, depends on author's server and a central pool of some kind, and was not heavily adopted. 488a3b7 It's devices that report back now, not threads. 23685aa Continue auto-management of fan and engine speeds even if a device is disabled for safety reasons. f8fed37 No need to check we're highest performance level when throttling GPU engine speed. 01659bc Abstract out tests for whether work has come from a block that has been seen before and whether a string is from a previously seen block. 03630c3 Update example web miner.php to use new API commands 4a714cb Bug intensity always shows GPU 0 13fa577 Probe but don't set the timeout to 15 seconds as some networks take a long time to timeout. 1832b20 Revert "Some networks can take a long time to resolve so go back to 60 second timeouts instead of 15." 1f0a8a6 Display accepted share pool/time for CPUs 0969464 Return last accepted share pool/time for devices f818c3f Merge pull request #103 from kanoi/master 42fcbf7 Remove most compiler warnings from api.c 0ebc0c9 Add last share's pool info in cgpu_info 53c1e9a Allow the OpenCL platform ID to be chosen with --gpu-platform. a4f4781 Iterate over all platforms displaying their information and number of devices when --ndevs is called. a1d230e Deprecate main.c c86a670 Some networks can take a long time to resolve so go back to 60 second timeouts instead of 15. cda798d Only enable curses on failure if curses is desired. 060ff71 Merge pull request #102 from luke-jr/bugfix_bitforce_linux_rw 6eee0e3 Fix warnings in bitforce.c 2f903b5 Bugfix: Need to open BitForce tty for read-write e0b0a6c Modularize code: main.c -> device-cpu + device-gpu 7d97ed6 Fix various build issues. 55f693a Revert Makefile.am component for easier merge of upcoming changes. b34e483 Fix phatk kernel not working on non-bitalign capable devices (Nvidia, older ATI). ebaa2be Update poclbm kernel for better performance on GCN and new SDKs with bitalign support when not BFI INT patching. Update phatk kernel to work properly for non BFI INT patched kernels, providing support for phatk to run on GCN and non-ATI cards. c0e8819 Fix bitforce failing to build into cgminer. 269b456 Bump version to 2.2.1 10b697f Revert "Fix compile warnings in api.c" 55b386a Add missing options gpu-memdiff and gpu-reorder to write config function. 181b16c Update docs. 31a32e0 Set virtual GPUs to work when ADL is disabled or all mining will occur on GPU 0. 2edc3a6 Add information about paused threads in the menu status. 58897bf Disable the correct threads on changing to/from dynamic mode. c98f81c Disable all but the first thread on GPUs in dynamic mode for better interactivity. af5aaec Revert "Pass the correct GPU from the menu to the adl code." 94059c0 Ensure all virtual_gpu entries are set when the number of ADL devices does not match the number of OpenCL devices. b3d1378 Provide debugging advice. b086430 Rename the dev-reorder option to --gpu-reorder since it only affects GPUs. bdec295 Set the latest network access time on share submission for --net-delay even if we're not delaying that submission for further network access. 4b994b0 Merge pull request #98 from kanoi/master b188157 Resume advertising midstate support 0c27237 Ensure numbers are 32bits in sha2.c 280588c Merge remote-tracking branch 'conman/master' 3de7c7f Stop advertising midstate support until it's fixed. c9404f4 Make sure to set virtual adapters if --dev-reorder is not enabled or device numbers don't match. ba74fe5 Clear adl on exiting after probing values since it may attempt to overclock. 98d789b Merge remote-tracking branch 'conman/master' 5a14ec5 Add a --dev-reorder option to only reorder devices according to PCI Bus ID when requested. 0918472 As share submission is usually staggered, and delays can be costly, submit shares without delay even when --net-delay is enabled. 7bcda9a Pass the correct GPU from the menu to the adl code. a73156a Display GPU number and device name when ADL is successfully enabled on it. 176bbcb Display GPU ordering remapping in verbose mode. 8919603 Don't fail in the case the number of ADL and OpenCL devices do not match, and do not attempt to reorder devices unless they match. Instead give a warning about the likely cause and the potential consequence of it - Hardware monitoring may NOT match up with devices. f0746f0 Display error codes should ADL not return ADL_OK in the more critical function calls. 5747b07 Fix unused warning. cdcaaba Revert "Add ADL_Overdrive5_ThermalDevices_Enum interface." 430a195 Revert "Read off lpThermalControllerInfo from each ADL device." 4ae0aad Revert "Set iSize for thermal device enum first." 8a90f1a Fix compile warnings in api.c 82af288 Revert "Fix various harmless warnings." a4b67f0 Fix various harmless warnings. a8e46a0 Add extensive ADL based device info in debug mode. 53095da Make --ndevs display verbose opencl information as well to make debugging version information easier. b8f845b Display information about the opencl platform with verbose enabled. 5d5584f Explicitly check for nvidia in opencl platform strings as well. 83a8367 Linux's ADL uses a busnumber in descending order for devices so enumerate them in the opposite order to windows. 09ea6bd Bump version number up 2.2.0 ae044ec Update NEWS. a3d90f8 Default to poclbm kernel on Tahiti (7970) since phatk does not work, even though performance is sub-standard so that at least it will mine successfully by default. 995b6dc Make bitforce off not compile bitforce.c properly. 49e3579 README updates. 1865a01 Make bitforce support default to disabled. 5c8829c Fix misdefine. 9566a93 Merge branch 'master' into reorder 31f6e8c Unset prog_built after it is patched because it needs rebuilding. 310f55d Merge branch 'master' into reorder 1e50354 Retain cl program after every possible place we might build the program. 25caca9 Revert "Don't explicitly retain the cl program as it is of no benefit to do so and may lead to problems when trying to release the program." 075ff6b Merge branch 'master' into reorder 80650dd Define O_CLOEXEC for older headers that don't have it. 5af40de Update ADL SDK URL. f05e298 Update ADL SDK URL. 4bf01f0 Fix potential overflow. 0597012 Carry virtual gpu number across. 3bc0583 Iterate and change virtual device order instead of shuffling ram. 371e5f6 Reorder displayed devices to map to physical locations and initialise according to logical location instead. 5a0b4f6 Map GPU devices to virtual devices in their true physical order based on BusNumber. 5869382 Change the warning that comes with failure to init cl on a device to be more generic and accurate. fe88648 Advertise longpoll support in X-Mining-Extensions 06fd9c4 Detect dual GPU cards by iterating through all GPUs, finding ones without fanspeed and matching twins with fanspeed one bus ID apart. 1334e17 Merge pull request #96 from kanoi/master 3291046 Don't explicitly retain the cl program as it is of no benefit to do so and may lead to problems when trying to release the program. d18d556 Do not attempt to build the program that becomes the kernel twice. This could have been leading to failures on initialising cl. c87460b Typo. 2ecabd8 Some opencl compilers have issues with no spaces after -D in the compiler options. 5e9676c Allow dynamic to adjust up to MAX_INTENSITY 487327f Remove compile warning 63e31b4 Move intensity range values into miner.h a992b5d Allow intensity up to 14 for multiple devices as well. d662c9c Allow intensity up to 14. 77e9b1c Use calloced stack memory for CompilerOptions to ensure sprintf writes to the beginning of the char. d7aac25 Whitelist 79x0 cards to prefer no vectors as they perform better without. 4995b7c On dual GPUs, only autotune the shared fan once per gpu autotune cycle. c009c6c Don't try to explicitly drift to exactly the target temperature, aim for just below it. 312724c Adjust fan speed gently while in the optimal range when temperature is drifting to minimise overshoot in either direction. be6bb10 Bugfix: Leave blank space where temperatures and fan speed go for devices that don't support it (ie, CPUs), so the rest of the data lines up 9549dac Detect dual GPU cards via the indirect information of - 1st card has a fan controller. 2nd card does not have a fan controller, cards share the same device name, and are one bus ID apart. Use this information to create paired devices, displaying the fan speed on both devices and using the hottest temperature from either GPU to control the overall fanspeed. d485261 Fix broken non-win32 build with bitforce enabled. 3d4cfce Instead of using the BFI_INT patching hack on any device reporting cl_amd_media_ops, create a whitelist of devices that need it. This should enable GCN architectures (ATI 79xx cards) to work properly. 91f8901 Merge pull request #92 from luke-jr/bitforce_win32 4ae7baf BitForce: Need to use CreateFile and low-level (descriptor-based) C APIs on Windows, since fopen doesn't work with serial ports 22a1850 Merge pull request #90 from p2k/master c89ef81 Fixed API compiling issue on OS X 7ac4b78 Merge pull request #89 from kanoi/master 2e16d5e Add more explanation of JSON format and the 'save' command a1cd9de Return an error if using ADL API commands when it's not available 990bb4a Set iSize for thermal device enum first. 2d29cdb Read off lpThermalControllerInfo from each ADL device. 1e1519e Add ADL_Overdrive5_ThermalDevices_Enum interface. 91554b9 Update NEWS. 6442c1a Style police. 8b65144 Merge pull request #88 from midnightmagic/gimme_back_tcp_nodelay da2dd9e Merge pull request #87 from kanoi/master bf5321c API 'save' command details 21633b9 Bringing back TCP_NODELAY, but also ensuring it doesn't conflict with --net-delay : Nagle's may infact delay some packets longer than necessary.. fa22001 Merge pull request #86 from kanoi/master 8998970 Put back deleted option ec2c0b7 Add API commands: config, switchpool, gpu settings, save 0719d40 Clean up on failure to load a binary kernel. 238a851 Update NEWS with changelog for upcoming 2.2.0 release. 10378f8 Fix windows build of bitforce blindly. Hopefully it works. e15d57d Implement socks4 proxy support. 2d5bbc7 Provide nanosleep() equivalent for windows. dd45970 Merge branch 'master' of github.com:ckolivas/cgminer 0e5b658 qd_lock initialisation got dropped. Fix it. 6ab1f1c Merge pull request #80 from kanoi/master 8e275d9 Make all CPU code compile time optional - off by default b2e15e4 Include HDD install details and related changes 0eb5d5e Fix send() for JSON strings 3cad815 Fanspeed faq. 9bf2028 Merge pull request #79 from luke-jr/bugfix_summary f634b68 Bugfix: Only show each device once in exit summary 1b0b7e4 Merge pull request #78 from luke-jr/bugfix_adl 9a0bcc8 Bugfix: Iterate over devices rather than threads for watchdog (and ADL) a4599dc Merge pull request #77 from luke-jr/bugfix_ngpus 220d0c2 Merge branch 'master' of github.com:ckolivas/cgminer 5179d22 Introduce a --net-delay option which guarantees at least 250ms between any networking requests to not overload slow routers. daaa489 Bugfix: -n should show GPU count, even though GPUs aren't probed yet d9ccb3b Merge pull request #76 from luke-jr/ugly_display dfeb1ef Restore old ugly inconsistent display of ADL information before the standard info 9840c12 Generalise locking init code. 35f676b Merge pull request #75 from luke-jr/ugly_display 3cb7221 Restore old ugly inconsistent display of ADL information before the standard info 15672b5 Allow invalid values to be in the configuration file, just skipping over them provided the rest of the file is valid JSON. This will allow older configuration files with options no longer existing to still be portable. c487383 Allow CPU mining explicitly enable only if other mining support is built in. 67376ca Update README + FAQ. 418c452 Merge pull request #74 from luke-jr/doc_update 9e40e87 Update documentation 52b6410 Display what support is built in. 5dfc8b6 BitForce FPGA support 69966ff Update copyright dates. a91e145 Update README. 332b3ca Configure out building and support of all CPU mining code unless --enable-cpumining is enabled. 91af258 Add configuration option for CPU mining which will default to off. d026608 Merge branch 'master' into fpga b312bd4 Update example conf with 1% donation. 86d6073 Allow parsed values to be zero which will allow 0 values in the config file to work. 66a592e Merge branch 'master' into fpga c077eea Merge pull request #72 from luke-jr/adv_midstate ebe21db Advertise that we can make our own midstate, so the pool can skip generating it for us 9eb3ac4 Merge branch 'device_refactor' of https://github.com/luke-jr/cgminer into fpga b9d197d Refactor the CPU scanhash_* functions to use a common API. Fixes bugs. 5d6159f Don't consider a pool lagging if a request has only just been filed. This should decrease the false positives for "pool not providing work fast enough". 12afb47 Invalidating work after longpoll made hash_pop return no work giving a false positive for dead pool. Rework hash_pop to retry while finds no staged work until the abstime timeout really expires. 4cf433c Remove TCP_NODELAY from curl options as many small packets may be contributing to network overload. a4d1fe1 Refactor miner_thread to be common code for any kind of device 8171cea Simplify submit_nonce loop and avoid potentially missing FOUND - 1 entry. Reported by Luke-Jr. d356f44 Micro-optimisation in sha256_sse2 code courtesy of Guido Ascioti guido.ascioti@gmail.com 68c807d Typo in readme. 845961a Refactor to abstract device-specific code d3b4a6f Bump version to 2.1.2 bb574d6 Update NEWS. 9552226 Merge pull request #66 from kanoi/master 17e8d60 Adjust utility width to be constant maximum as well. ad54c01 Merge pull request #67 from Proofer/RejectRatioPercentSigns 52d134c Add percent signs to reject ratio outputs ec8501a Should the donation pool fail, don't make the fallover pool behave as though the primary pool is lagging. 59c29fc Use an alternative pool should the donation getwork fail. 7187dfa If api-description is specified, save it when writing the config file d515d31 Bump version number to 2.1.1 30e6b34 Update NEWS. 743d81b Adjust column width of A/R/HW to be the maximum of any device and align them. afa72ff Merge branch 'master' of github.com:ckolivas/cgminer 4f6cf3c Merge pull request #65 from kanoi/master 9bf0ad1 Display pool in summary if only 1 pool a4f6d5c Update NEWS. d56e5ae Force fresh curl connections on any detected rpc failure in case of dead persistent connections.. 638c8c5 Make curl use a fresh connection if the json rpc call fails for any reason in case curl is relying on dead persistent connections. 40ea56e Continue attempting to restart every minute whether a GPU is considered sick or dead. c077573 Again do not attempt to restart a hung device with the every minute attempted restart. 19e373b All threads are detached so there is no need to join them and it may dereference causing crash on exit. c7c838d Give warning with donor pool so as to explain why there may be a slow startup. d656c14 Don't give pool slow warning if it is the donation pool. f67111d Include API examples in distribution tarball. d1f896a Merge pull request #63 from kanoi/master 5033dcd fix test/set of thr->pth to also work in windows 4c1c825 Fix typos courtesy of Steve Brecher. 4f879b4 Bump version to 2.1.0. 1d0730a Update NEWS. 17ea91a Update README. 9f41f2f Try to align device outputs in curses output. 2257b50 Simplify longpoll changeover to just check which pool it should grab its next longpoll from. This should prevent locking hangs and thread cancellation crashes. 5e2e2f2 Only use GPU management menu item if GPU threads exist. a51514d White space cleanup. eee6658 Save config options for GPUs only if there are GPU devices. 291f174 Ensure the correct pool information goes with the longpoll work item. ae78620 Show which pool is unresponsive on startup. c786ac3 Prevent crash from statline dereference if cgminer is quit before setting up fully. b69aa23 Use control_lock to protect thr->pth for thread creation/destruction. 59293a3 Only pthread_join when pthread_cancel does not return an error. 13c40f7 Zero all pthread_t identities upon cancelling threads. acf88e0 Kill off the longpoll thread in kill_work only if have_longpoll is true. 8c066c4 If have_longpoll is enabled, then make it mandatory the longpoll thread is killed from the outside, avoiding the race of trying to kill off a longpoll thread that has potentially exited already. 19d5a19 Merge pull request #62 from kanoi/master d80e0ef Cleanup API thread if it exits early 9d36ee9 Do not add blank lines when there are less cpu threads enabled than processors. 78c89dc Move longpoll with changes to current active pool, selecting most suitable source for longpoll, or using any backup pool that has longpoll. Actively stop longpoll if we already have longpoll running and have initiated a longpoll restart. Make the longpoll activation notification warning level to make the switch visible. Change lp_url to alloca to not lose malloced ram. e75c8ec Fix for non-adl configuration files. 400cb21 Off by one error in performance level. f4d657e Only adjust gpu engine speed in autotune mode if the gpu is currently at the performance level of that being adjusted. 90fa5fc Bump to version 2.0.9 while still in development. 25cd835 Change API message to debug only. 7abe8c3 Set my name :P 4813b7d Merge branch 'master' of https://github.com/kanoi/cgminer into api 924425d Remove defunct inet files. f32a072 DOC related updates aacf1e5 JSON reply to JSON request da79851 Web page - minor color/formatting a039ec0 api version change 7ec90dd Spelling ... f16c6d7 Add a simple full web interface in PHP to use the API 152708f Cleanup/remove included inet functions) 50a0892 2.0.8x Full GPU stats, descriptive field names and --api-description c33553d C sample api code 2a3c99f Add API.java + API.class to access the API 45068ce Version 2.0.8w (windows changes) 293582d Plural commands 45ebf2c Fix threading issues and bugs d234b85 API v0.2 Added GPU commands and improved messages df3fad3 Add API options for port and listen mode 4953227 Add summary command bbe1702 Add quit command 89c221a Fix missing close() for invalid commands 2358056 API v0.1 9671f0a API v0.1 4c68ad0 Fix for Intel Macs. 1419719 Update NEWS. d5231ea Fix build error with -ldl being passed to LDFLAGS instead of LDADD and update configure output. 35a8b9f Bump version number to 2.0.8 79159c3 Update NEWS. 0638155 Don't load the default config if a config file is specified on the command line. b0bfd81 Don't build VIA on apple since -a auto bombs instead of gracefully ignoring VIA failing. 19cad2a Update NEWS. d548670 Update README. a70629a Make longpoll do a mandatory flushing of all work even if the block hasn't changed, thus supporting longpoll initiated work change of any sort and merged mining. e01d694 Byteswap computed hash in hashtest so it can be correctly checked d877065 Add x86_64 w64 mingw32 target courtesy of dukrat. 8c63061 Allow a fixed speed difference between memory and GPU clock speed that will change memory speed when GPU speed is changed in autotune mode. 1acdad8 Bump version number to 2.0.7. 2ac11bd Update NEWS. 2a19153 Add example.conf to makefile dist. 9a0b709 Update documentation about new configuration file with an example file. 6d004dd Write unix configuration to .cgminer/cgminer.conf by default and prompt to overwrite if given a filename from the menu that exists. 09f6736 Style cleanups. 31d3af0 Support new configuration file format courtesy of Chris Savery which can write the config file from the menu and will load it on startup. 3ba86c4 Cosmetic fixes. 8d96722 Merge branch 'no_midstate' of https://github.com/luke-jr/cgminer into 05 fb0c580 Go to kernel build should we fail to clCreateProgramWithBinary instead of failing on that device. Should fix the windows problems with devices not initialising. 5976f6b Get rid of unused variable. e8720b9 Support work without midstate or hash1, which are deprecated in bitcoind 0.5+ a41db9d Bump version to 2.0.6 and update docs. f9308f8 Disable work division for CPU mining which can lead to repeated work being performed. 81418d6 Update displayed messages. 27b05db Use ADL activity report to tell us if a sick GPU is still busy suggesting it is hard hung and do not attempt to restart it. a37b827 Display the total solved blocks on exit (LOL if you're lucky). 689f8ab Try to use SSL if the server supports it. a2072d7 Merge branch 'altivec' 5133cf5 Add altivec 4 way support courtesy of Gilles Risch. 6cd906a Properly check shares against target difficulty. 6dc10ef Don't try to build adl features without having adl. 3e527c6 Retry pools after a delay of 15 seconds if none can be contacted on startup unless a key is pressed. 9087345 Expire shares as stale with a separate timeout from the scantime, defaulting to 120 seconds. ffc88ef Enable 100% donation by default. ac0d303 Don't make donation work interfere with block change detection allowing donation to work regardless of the block chain we're mining on. 9e9d25c Enable 0.5% donation by default. f6d35a7 Must initialise the donorpool mutex or it fails on windows. 16dce49 Bump version to 2.0.5 454772e Update NEWS. d2db7be Roll any work we can even if other requests are staged. 75e2143 Display per device intensity in various status lines. 1dc6e64 Set dynamic to false for all devices given separate args... 35a490b Explicitly disable dynamic mode when an intensity is set. 648c6b7 Intensity is signed integer, fix its display. 5a4dabe Add message about donation to startup. 47be27e Make longpoll retry indefinitely to restart as well, or limited by opt_retries. 28796de Merge https://github.com/geekmug/cgminer into gitmug 0639836 Document the --donation feature. 4128b95 Add a --donation feature which reads a url/userpass from the author's site and contributes a percentage of getworks to the author, but default to off. 19911e5 Correct some memory management issues. 760b006 Don't mess with GPU stuff if we don't have them. c54b087 Assiging the bswap_{16,32,64} macros to __builtin_bswap{16,32,64}. 8b927af Add helpers for inputting and demonstrating floats. 21c2bc4 Make it possible to set the intensity on a per-card basis, dynamic or static values. 5b40f97 Make sure we do not attempt to adl manage devices we have explicitly disabled. 7c26948 Merge pull request #50 from kanoi/kano afe03c6 Hash is 32 bytes (64 nibbles) a49fc18 Bump version number to 2.0.4. 855ea66 Update README and FAQ. 8635eda Update NEWS. 8759bc1 Hard code the watchdog interval to 3 seconds in case log interval is greatly different. 014d43b Bugfix: fix linking when OpenCL is not detected 0ae3f71 Check last temperature we reached and don't change fan speed if it's already correcting. 813aee3 Show menu again after enable, disable and restart GPU. 20ddda1 Autoselect a GPU from the menu if it's the only device. 701c29f Add message about needing to export display on linux. da764e5 Reset opencl flags if not detected to prevent build failure without opencl. c04abf5 Include polarssl implementation of sha256 (sha2) and remove dependency on openssl. 11e5d2e Merge branch 'kano' of https://github.com/kanoi/cgminer into kanoi 037e8ac Change Accept/Reject message to show hash and BLOCK notification ba14a67 Remove EOL spaces from stderr and curses 8ecd15a Add BLOCK! notification and remove end of line blanks when not needed 9696b4d Get rid of the convoluted way we detect whether LP discovered the new block and just use the work retrieved by the LP to know. 31a9176 Add details of how to set the password for ssh 14c557f Watch USB disk space in /var/log/ 3dae209 Add details of how to set the password for ssh 625e7a6 Fix tabs 37b017f Show hash (instead of nonce) in Accept/Reject messages bc96efa Watch USB disk space in /var/log/ 1016ae4 Bump version number to 2.0.3. d090185 Update NEWS. b8ea0dd Update curses logging to allow LOG_WARNING and LOG_ERR messages to still go through while within the menu, and drop share message to LOG_NOTICE. 5a24c28 Try to set temperature regardless of whether get fanspeed fails. This may need to be reverted if it causes problems. 12e99c8 Initialise all the iSizes of the ADL structures for completeness. 07c21bc Don't forget to set the actual fanspeed too! 3c38adc Only set the speed once, but set it only if fanspeed get says the card is ok and ready. 67fe6ab Don't both with adapter speed set as it has no effect on mining speed. 92e1ffd Store the targetfan even if the later getfanspeed fails in case it's temporary. 8feb661 Set the fanspeed in coarse rounded up values and then ever finer grained values in case the card does not support fine values. 8566ed4 Just keep whatever longpoll we have if it's working instead of risking the stop/start dereference problem. ae6fe96 Revert "Restart longpoll under lock when we'll be reusing it on pool switch to prevent derefs." 2cae5c1 Restart longpoll under lock when we'll be reusing it on pool switch to prevent derefs. 3f10e80 If the user defined flag is not set on fanspeed, set the fanspeed with it first. 8e2becc Change pth from being a pointer as we can dereference if we're unlucky on stopping longpoll. 88fd7c1 use ATISTREAMSDKROOT env variable if available... 87ec3f4 Convert fanspeed management to default on exit. 833e020 Standardise the way all non-mining threads are destroyed to make sure we can safely cancel them, freeing ram and NULLifying pointers. e1c7235 Get the current pool priority under lock to avoid dereferencing. 918ec7b Enable adl earlier to allow values to be set in init_adl or they're silently ignored! 1db6ab0 Set targetfan when fanspeed is set on parameters. fc42791 Use the longpoll provided work to test_work_current since we know it's almost certainly from a new block even though we may check it later again. 2e09eee Use the gpu_fan set value as the starting fan speed. Don't try and change the value if get() doesn't match as it's unreliable, just save the reentrant value. Limit fanspeeds to reported iMax and iMin. 84a3ee4 Bump version to 2.0.2. d3ac279 Update NEWS. 9d84e91 Properly substitute DLOPEN flags to build with ADL support when -ldl is needed and not when opencl is not found. 863488e Display fan percentage on devices that only support reporting percent and not RPM. d42211f Missing bracket from output. 88eb514 Only display supported values from fanspeed on change settings. b4009ad Remove redundant check. ebae03f Do not bother resetting values to old ones if changes to GPU parameters report failure, instead returning a failure code only if the return value from get() differs. dff1a81 Use a re-entrant value to store what fanspeed we're trying to set in case the card doesn't support small changes. Force it to a multiple of 10% if it fails on trying to speed up the fan. 076677d Flag any devices with autofan or autogpu as being managed. a602f4e Only force the adapter speed to high if we've flagged this device as being managed. d5fe2cf Flag devices that have never started and don't allow enabling of devices without restarting them. fa790a4 Fix a rare crash in HASH_DEL due to using different mutexes to protect the data. 1f15d7e Advertise rollntime extension support bcba6f8 Exit cleanly if we abort before various threads are set up or if they no longer exist. 5abf838 Bump version to 2.0.1 c486e55 Update NEWS. e7ec2d0 Update README. ab67b14 Make RPM 4 characters wide in curses status for neatness. 25c77ae Only display values in the log if they're supported and standardise device log line printing. 1917643 Do away with the increasingly confusing and irrelevant total queued and efficiency measures per device. 2fafdab Allow adapterid 0 cards to enumerate as a device as they will be non-AMD cards, and enable ADL on any AMD card. 758afbf Add -lpthread, not -pthread and remove -lm which is not required. 6c8341f Define max gpudevices in one macro. 4b43efc Use a terser device status line to show fan RPM as well when available. f1cf79a With many cards, the GPU summaries can be quite long so use a terse output line when showing them all. b7d8178 Setting the hysteresis is unlikely to be useful on the fly and doesn't belong in the per-gpu submenu. 0e1c291 Display fan range in autofan status. 355b24c Document the temperature command line changes. e0a9f1a Allow temperature targets to be set on a per-card basis on the command line. d6f3bd0 Display which GPU has overheated in warning message. b50041c Allow per-device fan ranges to be set and use them in auto-fan mode. 9b5cd61 Implement accepting a range of engine speeds as well to allow a lower limit to be specified on the command line. 9752704 We should be passing a float for the remainder of the vddc values. 7ea7f5f Allow temperatures greater than 100 degrees. df78f45 Latest glibc appears to want linking against -lm as well for dlopen. c64c27f Only show longpoll received delayed message at verbose level. 4bb6b38 More readme docs. 01a0d0a Add a --no-adl option to disable ADL monitoring and GPU settings. 26d1264 FAQ updates. 4628db5 Change the fan speed by only 5% if it's over the target temperature but less than the hysteresis value to minimise overshoot down in temperature. 3997f30 Add a thermal cutoff option as well and set it to 95 degrees by default. 311420d Flag adl as active if any card is successfully activated. 058303b Only reset values on exiting if we've ever modified them. c8d40fb Win32 does not use dlopen so link in -ldl only when not on win32 and display what ldflags are being passed on ./configure. b8be1e6 Ignore whether the display is active or not since only display enabled devices work this way, and we skip over repeat entries anwyay. 4d13f8a ByteReverse is not used and the bswap opcode breaks big endian builds. Remove it. ffa68cd Ideally we should like with -ldl for dlopen() dlclose(). a74554a Bump version to 2.0.0 a62b4e3 Remove unused LIBCURL_CPPFLAGS variable which should help cgminer compile on other platforms. 8a1ae4a Updated FAQ. 40750fc Update README with extensive documentation about overclocking. 2e192a2 Update NEWS. f89c032 The ° character is not reliably shown on all platforms so remove it. a0a5858 Use the presence of X-Roll-Ntime in the header as a bool for exists unless N is found in the response. 73e33c0 Retry also if the decoding of work fails. f10f8fa Retry before returning a failure to get upstream work as a failure to avoid false positives for pool dead. 36a65e4 Add a --disable-adl option to configure and only enable it if opencl support exists. 2053de6 Add the directory name from the arguments cgminer was called from as well to allow it running from a relative pathname. d3642be Fix compilation warning on win32. fd23532 Make adl attempt to compile only on win32 or linux since there is no support for it on onther platforms, and fix sleep() definition on win32. 8d096bd Include libgen.h in opt.c to fix win32 compilation warnings. 16aff37 Fix compilation errors on mingw32 to do with order of pulling in headers, curses.h and definition of bool. a1ba15f Fix pacakaging missing adl headers and build failure without adl sdk headers installed. 2f5f7ef No need to use the re-entrant strtok_r and mingw32 doesn't support it anyway. 2155acf Queue requests ignoring the number of staged clones since they get discarded very easily leading to false positives for pool not providing work fast enough. a2f6bb7 Add new needed text files to distribution. b6a7039 Bump version to 1.9.9 till completed as version 2.0. 9f618f4 Lower profile settings cannot be higher than higher profile ones so link any drops in settings. ca37935 Ramp up the fan more if we're over target temperature. bc97244 Provide locking around all adl calls to prevent races. 666d724 Set a safe starting fan speed if we're automanaging the speeds. fc454e8 Update the status window only from the watchdog thread, do not rewrite the top status messages and only refresh once all the status window is complete, clearing the window each time to avoid corruption. 93935eb Move and print at the same time in curses to avoid random trampling display errors. e898182 Add temperature to standard output where possible and use more compact output. 5fc56a4 Force the speed to high on startup and restore it to whatever the setting was on exit. cb29fb7 Remove the safety checks in speed setting since confirmation is done first in the menu, then show the new current values after a short pause. ee06a3b Limit fanspeed to 85% properly when temperature is below overheat levels. 40491cd Change default hysteresis to 3 degrees for lower average fanspeeds. 47f1a75 Implement setting the GPU powertune value of all devices or each device as a comma separated value. 656bacc Get the value of powertune in get_stats. 7711c6f Implement changing of powertune value from the GPU change settings menu. bd29225 Add support for monitoring powertune setting. 3a5663c Implement setting the GPU fan speed of all devices or each device as a comma separated value. 8ae273c Implement setting the GPU voltage of all devices or each device as a comma separated value. 54bc30c Implement setting the GPU memory clock speed of all devices or each device as a comma separated value. ec8808d Implement setting the GPU engine clock speed of all devices or each device as a comma separated value. 12a167a Implement menus to change temperature limits. 306dad9 Add gpu statistics to debugging output via the watchdog thread. 1ed2193 Combine all stats collating into one function to avoid repeating function calls on each variable. e9f886d Allow target, overheat and hysteresis temperatures to be set from command line. 847adf6 Add a small amount of hysteresis before lowering clock speed. 9b7262e Clean up by setting performance profiles and fan settings to startup levels on exit. fc36e13 Merge branch 'master' into adl_support 1898d85 Avoid a dereference if the longpoll thread doesn't exist. e9b5885 Add a gpu autotune option which adjusts GPU speed to maintain a target temperature within the bounds of the default GPU speed and any overclocking set. dcc97e4 Add an --auto-fan command line option to allow all GPUs to have autofan enabled from startup. 495adcb Implement auto fanspeed adjustment to maintain a target temperature and fanspeed below 85%, with an overheat check that will speed the fan up to 100%. 320a5f2 Make sure to read off the value in RPM only. bf2669b Minor corrections to set fan speed by percentage. 07b847f Implement fan speed setting. 3681ae8 Implement changing memory speed and voltage on the fly. 35ace46 Enable changing of engine clock setting on the fly. d57cd91 Implement ATI ADL support for GPU parameter monitoring now and setting later (temp, fan, clocks etc.). Check for the presence of the ADL header files in ADL_SDK. Import adl_functions.h from amd overdrive ctrl. Implement a setup function that tries to detect GPUs that support the ADL and link in the parameters into the gpus struct. Put a summary of monitoring information from the GPU menu. 690ab48 Bump version to 1.6.2. 6570751 With no c++ code there is no point showing CXXFLAGS. dd78340 Update NEWS. 33c2ecc Update README. 063efb1 Rename localgen occasions to getwork fail occasions since localgen is unrelated now. 062f937 Most people expect /usr/local when an unspecified prefix is used so change to that. 5d845f2 If curl does not have sockopts, do not try to compile the json_rpc_call_sockopt_cb function, making it possible to build against older curl libraries. d88ed35 Get rid of poorly executed curl check. 1480ade Cryptopp asm32 was not correctly updated to the incremental nonce code so the hash counter was bogus. a2a6008 Add verbose message when a GPU fails to initialise, and disable the correct GPU. 8b690b5 Give a verbose message when no active pools are found and pause before exiting. ed7389e Put some sanity checks on the times that can be input. 71eff46 Mingw32 doesn't support strptime so use sscanf. 71ce9bc Print summary on quit modes. 8496534 Add start and stop time scheduling for regular time of day running or once off start/stop options. 5aca762 Go back to requesting work 2/3 of the way through the current scantime with CPU mining as reports of mining threads running out of work have occurred with only 5 seconds to retrieve work. a593afd Use the curses_lock to protect the curses_active variable and test it under lock. 8119595 Fix the bouncing short term value by allowing it to change dynamically when the latest value is very different from the rolling value, but damp the change when it gets close. e95006c Change recommendation to intensity 9 for dedicated miners. 87ac3a0 Provide much more smoothing of the short term rates. d1a8614 Add --failover-only option to not leak work to backup pools when the primary pool is lagging. 846e5fb Bump version to 1.6.1. bc5b2cf Readme updates. 7ebf1d4 News update. 021b2c0 The cpu mining work data can get modified before we copy it if we submit it async, and the sync submission is not truly sync anyway, so just submit it sync. af15955 Exit with a failed return code if we did not reach opt_shares. 8f788ec Add an option to break out after successfully mining a number of accepted shares. 510bcc3 Disable curses after inputting a pool if we requested no curses interface. 4cc08fe Enable curses after the mining threads are set up so that failure messages won't be lost in the curses interface. 5c7ea9e Display version information and add --version command line option, and make sure we flush stdout. 807ddd1 Give convenient summary at end of ./configure. fa91f6a Add some defines to configure.ac to enable exporting of values and packaging, and clean up output. 4969162 Check for SSE2 before trying to build 32 bit SSE2 assembly version. Prevents build failure when yasm is installed but -msse2 is not specified. 7d34a6b Statify tv_sort. f0cc293 Convert the opt queue into a minimum number of work items to have queued instead of an extra number to decrease risk of getting idle devices without increasing risk of higher rejects. 3aee066 Add options to explicitly enable CPU mining or disable GPU mining. ee5b476 Don't show value of intensity since it's dynamic by default. efa1731 cgminer no longer supports default url user and pass so remove them. 5848c11 Confusion over the variable name for number of devices was passing a bogus value which likely was causing the zero sized binary issue. 10ed8e9 Add a --disable-opencl configure option to make it possible to override detection of opencl and build without GPU mining support. 83bb428 Make pthread, libcurl and libcurses library checks mandatory or fail. fc46d57 Return -1 if no input is detected from the menu to prevent it being interpreted as a 0. 8d39311 Reinstate minimum 1 extra in queue to make it extremely unlikely to ever have 0 staged work items and any idle time. 8a7b9ac Switching between redrawing windows does not fix the crash with old libncurses, so redraw both windows, but only when the window size hasn't changed. eb0fa6e Copy cgminer path, not cat it. 882961f Bump version to 1.6.0. 103bff6 News update. 67dff29 Doc updates. 437d6f0 Disable curl debugging with opt protocol since it spews to stderr. 57c93d7 Prevent segfault on exit for when accessory threads don't exist. df1b9a6 Update README. 91a2e70 Actually check the value returned for the x-roll-ntime extension to make sure it isn't saying N. 3567b69 Remove fragile source patching for bitalign, vectors et. al and simply pass it with the compiler options. e81a362 Bump threshhold for lag up to maximum queued but no staged work. 5b48881 Only consider pool lagging if more than one item is queued. 3d5f555 Allow a custom kernel path to be entered on the command line. 413d970 Make cgminer look in the install directory for the .cl files making make install work correctly. 48180b6 Fail gracefully if unable to open the opencl files. 1c5ab07 Gitignore 7dc3db2 Implement SSE2 32 bit assembly algorithm as well. ebf7999 Include uthash.h in distro. a4ec961 We can queue all the necessary work without hitting frequent stales now with the time and string stale protection active all the time. This prevents a pool being falsely labelled as not providing work fast enough. 81aedc9 Add message about needing one server. f2f0ba8 Revert "Revert "Since we roll work all the time now, we end up staging a lot of work without queueing, so don't queue if we've already got staged work."" cea1cf6 Revert "Since we roll work all the time now, we end up staging a lot of work without queueing, so don't queue if we've already got staged work." 5a2cf5a Get start times just before mining begins to not have very slow rise in average. b643b56 Allow LP to reset block detect and block detect lp flags to know who really came first. 48f07d9 Update to latest sse2 code from cpuminer-ng. 73c98e1 Check if there is more than one work item queued before complaining about a slow pool. dbf0a13 Use the new hashes directly for counts instead of the fragile counters currently in use. 0899ee8 Only consider pool slow to respond if we can't even roll work. 7407e88 Update configure.ac for newer autoconf tools. 6197ff2 Remove silly debugging output. 9ab15a8 Merge branch 'hash' 93f4163 Create a hash list of all the blocks created and search them to detect when a new block has definitely appeared, using that information to detect stale work and discard it. b81077f Since we roll work all the time now, we end up staging a lot of work without queueing, so don't queue if we've already got staged work. bf3033e Make restarting of GPUs optional for systems that hang on any attempt to restart them. Fix DEAD status by comparing it to last live time rather than last attempted restart time since that happens every minute. 666fcc3 Move staged threads to hashes so we can sort them by time. bca84c3 Make restarting of GPUs optional for systems that hang on any attempt to restart them. Fix DEAD status by comparing it to last live time rather than last attempted restart time since that happens every minute. 2630c6d Bump version to 1.5.8. d9accc4 Put a lower limit on the nonce increment in cpu mining. 175ef7d Update news. f659137 Minimise how much more work can be given in cpu mining threads each interval. 5acdbec Make the fail-pause progressively longer each time it fails until the network recovers. b4d6b11 Only display the lagging message if we've requested the work earlier. ced4a9a Clean up the pool switching to not be dependent on whether the work can roll or not by setting a lagging flag and then the idle flag. 088ee2f Only use one thread to determine if a GPU is sick or well, and make sure to reset the sick restart attempt time. 02e126f The worksize was unintentionally changed back to 4k by mistake, this caused a slowdown. cc9d5f5 Bump version number to 1.5.7. f465397 Update news for 1.5.7. 6d10ef2 Bump version numbers of kernels to indicate slightly different versions. dfec430 Make the tcp setsockopts unique to linux in the hope it allows freebsd et. al to compile. 7c6dfac Display which longpoll failed and don't free the ram for lp_url since it belongs to the pool hdr path. 6f74159 Use any longpoll available, and don't disable it if switching to a server that doesn't have it. b358bdc Never automatically disable any pools but just specify them as idle if they're unresponsive at startup. 324d849 Attempt to restart a GPU once every minute while it's sick. Don't kill off the reinit thread if it fails to init a GPU but returns safely. Only declare a GPU dead if there's been no sign of activity from the reinit thread for 10 mins. 1b228ee Re-enable devices immediately after ther old threads would have been killed off in case the first attempt to restart them fails but we still want them emabled. 75018d0 Release cl resources should the gpu mining thread abort. f062765 Explicitly link in ws2_32 on the windows build and update README file on how to compile successfully on windows. bd79a61 Move poclbm to new branch optimisation as well. aaa2e19 Add one more instruction to avoid one branch point in the common path in the cl return code. Although this adds more ALUs overall and more branch points, the common path code has the same number of ALUs and one less jmp, jmps being more expensive. a754cc3 Suppress correct log output when display per-device status. 4beade3 Retain the program immediately after it's created from source. 082e20d Explicitly tell the compiler to retain the program to minimise the chance of the zero sized binary errors. 6f769e0 Add the ability to enable/disable per-device stats on the fly and match logging on/off. e414490 Don't display rolling status if per device stats is enabled. 2798b8c Merge branch 'master' of github.com:ckolivas/cgminer d89a6c5 Since we check roll time per work item now, it need only be debug log level. 64e7cdd The new phatk kernel needs a different nonce passed according to how many vectors are in use. This fixes breakage that otherwise occurs when 1 or 4 vectors are chosen. 3926ad9 Merge pull request #36 from znort987/per-device-stats e49bfbf Add per-device statics log output 3edc1df Test at appropriate target difficulty now. 2e0ecb6 Merge pull request #35 from znort987/fix-autocpu-crash f66dec7 Fix a crash with --algo auto 4060ae3 Bump version number. 5d51772 Update news for 1.5.6. cf54f9b Move to 256 sized buffers and don't risk overwrite by using only 127 mask. 52e521a Revert "Copy the work before returning from creating a thread in case we change the work before copying it." 0f782ba Update poclbm kernel to FF sized mask and only check that range. 93ff09e Dos2unix. 1f1f2c3 Just use 256 sized output. c40f51c Move to cgminer style buffer return and file naming convention and fix a compiler warning. a5828c4 Remove old phatk. 3f48a97 Include correct files for dist. d15d225 Changed phatk version to 2.2 b337d8a Changed the phatk version from diapolo110722 to phatk 2.2. 6bf4d78 Copy the work before returning from creating a thread in case we change the work before copying it. 1e77f04 Clean up the longpoll management to ensure the right paths go to the right pool and display whether we're connected to LP or not in the status line. 58eb4d5 Add bench_block to makefile. 4daca36 Recommend O2 instead of O3 since it can make windows binaries fail. 05dadc9 Add pkg-config to listed dependencies. e2a0494 Friendly reminder. 41a4be7 Bump version number. 6e6d717 It's 8, not cool 8) 81d718a Update news for 1.5.5. 7c62c9b Add a linux-usb-cgminer guide courtesy of Kano. 074b819 Flush output. 53a4245 Log summary at the end as per any other output. 939a0e0 Only show cpu algo in summary if cpu mining. cdece1f Simplify code and tidy output. 8e38a14 Simplify output code and remove HW errors from CPU stats. 426f72d As we have keepalives now, blaming network flakiness on timeouts appears to have been wrong. Set a timeout for longpoll to 1 hour, and most other network connectivity to 1 minute. c53a7b0 Only display the CPU algo when we're CPU mining. 657812a Probe for slightly longer for when network conditions are lagging. 8febf57 Keep options in alphabetical order. 845af91 Add --submit-stale option which submits all shares, regardless of whether they would normally be considered stale. eed634a Merge branch 'ckolivas-master' into merge-ckolivas-master 4e48561 Rework the last-initialised time displayed. cfe8534 Partial restart of threads has proven to be unsuccessful so reinstate device re-initialisation to restart GPUs. Do this by having a reinit thread that is told via a queue which device to restart. If this thread fails to return from opencl code, it should not interrupt the workings of other devices. 42d49ff Revert "Restart threads by abstracting out the clcontext initialisation and using that instead of probing all cards." cf54350 Revert "Preinitialise the devices only once on startup." b1289a0 Revert "Move the non cl_ variables into the cgpu info struct to allow creating a new cl state on reinit, preserving known GPU variables." 7c50bb0 Revert "Display last initialised time in gpu management info." cac54f3 Revert "When pinging a sick cpu, flush finish and then ping it in a separate thread in the hope it recovers, but without blocking code elsewhere." 92af192 Remove benchmark data from main.c 8256402 Remove harmless warning on win32 593022d Added somme comments e923ac7 Add CPU algo used to summary 4e3f38d Re-indent code for fork_monitor 39bdec8 Various minor changes 75639da Add WIN32 safe CPU benchmark method 84b0467 Fix broken assert in algo bencher 6fd0638 On unix, make algo benchmark more generic 0188649 Add set_non_blocking routing 29f0f9b Properly detect number of cores on WIN32 7158f9f Add automated benchmark of the CPU hashers b73d93c Bump version number. 1cca876 Update NEWS. 50504ef If a work item has had any mining done on it, don't consider it discarded work. 656067a Stale work test should respect age of rolled work as well. 2324080 Stick to rolling only work from the current pool unless we're in load balance mode or lagging to avoid aggressive rolling imitating load balancing. 01aadda Simply set the time of day when the work is decoded. 639d38f Revert "Make sure to give work items a starting time only once when they're staged." 626ae10 Make sure to give work items a starting time only once when they're staged. d6dd5d7 Test each work item to see if it can be rolled instead of per-pool and roll whenever possible, adhering to the 60 second timeout. 95f8782 The extra shift in the output actually appears detrimental in cgminer and there is a miniscule chance of missing the actual result if it ends up in the same spot as MAXBUFFERS. e9b8344 Free all work in one place allowing us to perform actions on it in the future. 6da13fb Only put the message that a pool is down if not pinging it every minute. 510be5c Summary on exit is sometimes getting lost without a flush of stdout. 42c2202 The can_roll function fails inappropriately in stale_work. d39e5ab We can't hit this path since the earlier check for stale work will prevent us ever finding work it can roll here. 17e5e17 Only consider a pool lagging if we actually need the work and we have none staged despite queue requests stacking up. a466942 When pinging a sick cpu, flush finish and then ping it in a separate thread in the hope it recovers, but without blocking code elsewhere. 177e07a Display last initialised time in gpu management info. 28880d0 Move the non cl_ variables into the cgpu info struct to allow creating a new cl state on reinit, preserving known GPU variables. 071a0ad Preinitialise the devices only once on startup. 2e31e16 Add missing fflush(stdout) for --ndevs 353789d Use tab to indent code instead of spaces 83fa215 Lots more verbiage in error messages 1cbfcba Disable --monitor-stderr on WIN32 467c52b Allocate work from one function to be able to initialise variables added later. 79c989d Add new option: --monitor 1725a1c Fix non-opencl build. ef5e8be Bump version number. 4cb90a8 News. bc2976f Be more willing to get work from the backup pools if the work is simply being queued faster than it is being retrieved. ea22674 Update NEWS. 8f186e6 Restart threads by abstracting out the clcontext initialisation and using that instead of probing all cards. 411570d Revert "Don't use asynchronous work with flushes as it decreases reliability and two threads per GPU achieves the same throughput." decafea Revert "Read buffers only after reading data back now that we're sync." 5f2c315 Read buffers only after reading data back now that we're sync. 7223508 Don't use asynchronous work with flushes as it decreases reliability and two threads per GPU achieves the same throughput. f763b0d Don't free up any ram from the dying thread to avoid dereferences. 43faa11 Use correct name in syslog. 5f667e7 Get rid of extra line feeds. 37115c0 RPC call debugging is a mess with \r in it so remove it. 59b6408 So we can pthread cancel a stuck thread, but can't pthread join it. And we can't tq freeze the old queue or we could hang here. And we need to re-initialise all the opencl contexts so send a test command and if it succeeds reinit the card. 74a07eb Revert "Send threads message to stop and then send cancel message but don't pthread_join them if they're stuck nor reinit the opencl code to not hang everything." e100fcc Revert "Send ping to wake up new threads." bf4c362 Send ping to wake up new threads. 62521f3 Send threads message to stop and then send cancel message but don't pthread_join them if they're stuck nor reinit the opencl code to not hang everything. b2cbaa1 Send a hung device a command. If it returns, try to reinitialise it. a702f59 Disable the reinit_thread option till we know it actually works. bb575a5 Reference correct GPU and only try to restart if it reaches DEAD. 947a74b Differentiate thread failure from GPU failure by declaring a GPU sick first and trying to restart the thread without re-initialising the card. If that fails, then try once more at ten minutes and declare it dead. This should prevent an attempted re-initialising of the GPU from taking out other GPUs. 20ce1eb Typo. 0eaacb8 Merge pull request #23 from Kovensky/cgminer 44faebe Fix the Makefile.am for the last commit dc49d24 Use pkg-config to check for libcurl version 106d367 Revert "Use pkg-config to check for libcurl version" 591666e Merge pull request #21 from Kovensky/cgminer 98387f9 Use pkg-config to check for libcurl version 3803760 Reimplement the per-thread getwork count with proper accounting at get_work(). 0fe22d8 Revert "Only update the thread getwork queue count if it actually results in a getwork request from the server." 2e607d4 Only update the thread getwork queue count if it actually results in a getwork request from the server. 4365896 Release the command queue created after we've copied the binary data. 283d5d2 Create a command queue from the program created from source which allows us to flush the command queue in the hope it will not generate a zero sized binary any more. 1f83790 Bump version number. 7a8ceee Update news. 5b9bfed Display the correct current hash as per blockexplorer, truncated to 16 characters, with just the time. 668ab18 More logging info. 53e05c6 Log to the output file at any time with warnings and errors, instead of just when verbose mode is on. 5a64ebc Update news. c94737c Add http:// if it's not explicitly set for URL entries. 9c52bc2 Add faq about logging. f0fe82e Some Intel HD graphics support the opencl commands but return errors since they don't support opencl. Don't fail with them, just provide a warning and disable GPU mining. 10fa821 Update utility and efficiency figures when displaying them. 0006eb2 Make the "quiet" mode still update the status and display errors, and add a new --real-quiet option which disables all output and can be set once while running. da06a34 The work length in the miner thread gets smaller but doesn't get bigger if it's under 1 second. This could end up leading to CPU under-utilisation and lower and lower hash rates. Fix it by increasing work length if it drops under 1 second. a092493 Restarting a hung GPU can hang the rest of the GPUs so just declare it dead and provide the information in the status. 013557a Bump version number. b86df66 Update news. 45faff2 Add debugging output to all tq_pop calls. 2e2b2ba Add debugging output to tq_push calls. 70fa8f3 Make the display options clearer. 4b52f44 Update news. c7978f1 Dividing work is like the work is never removed at all so treat it as such. However the queued bool needs to be reset to ensure we *can* request more work even if we didn't initially. e82e390 If work has been cloned it is already at the head of the list and when being reinserted into the queue it should be placed back at the head of the list. 9c12d49 Attribute split work as local work generation. 720032d Make sure to decrease queued count if we discard the work. 967acd3 Don't put an extra work item in the queue as each new device thread will do so itself. 82698fb Do away with queueing work separately at the start and let each thread grab its own work as soon as it's ready. 6cc8d22 Properly detect stale work based on time from staging and discard instead of handing on, but be more lax about how long work can be divided for up to the scantime. 45d5435 Make cpu mining work submission asynchronous as well. 380d145 Make threads report out when they're queueing a request and report if they've failed. 324dd93 Don't take more than one lock at a time. 98f609b Sanity check to prove locking. c728402 Abstract out the decay time function and use it to make hash_div a rolling average so it doesn't change too abruptly and divide work in chunks large enough to guarantee they won't overlap. a488958 Update both windows separately, but not at the same time to prevent the double refresh crash that old libncurses has. Do the window resize check only when about to redraw the log window to minimise ncurses cpu usage. 6f90593 Only free the thread structures if the thread still exists. 40bc82d Don't adjust hash_div only up for GPUs. Disable hash_div adjustment for GPUs. 1aadfc5 Two redraws in a row cause a crash in old libncurses so just do one redraw using the main window. 3060b97 Bump version number. 0f6cf16 Update news. 93b284d Best to serialise the restarting of threads to avoid device initialisation issues. d5d5692 Off by one limit in device selection. f9bc377 The first work item is tricky so don't try and divide it up to begin with. 1536e08 Increase efficiency of slow mining threads such as CPU miners dramatically. Do this by detecting which threads cannot complete searching a work item within the scantime and then divide up a work item into multiple smaller work items. Detect the age of the work items and if they've been cloned before to prevent doing the same work over. If the work is too old to be divided, then see if it can be time rolled and do that to generate work. This dramatically decreases the number of queued work items from a pool leading to higher overall efficiency (but the same hashrate and share submission rate). 7e7a5f7 Don't request work too early for CPUs as CPUs will scan for the full opt_scantime anyway. 6045c4d Simplify gpu management enable/disable/restart code. fa17f03 Implement much more accurate rolling statistics per thread and per gpu and improve accuracy of rolling displayed values. ce6af96 Make the rolling log-second average more accurate. 7707ed4 Add a menu to manage GPUs on the fly allowing you to enable/disable GPUs or try restarting them. Keep track of which GPUs are alive versus enabled. Start threads for devices that are even disabled, but don't allow them to start working. 7143c25 The last pool is when we are low in total_pools, not active_pools. a53716d Fix compiler warnings. b3d20b5 Make the thread restart do a pthread_join after disabling the device, only re-enabling it if we succeed in restarting the thread. Do this from a separate thread so as to not block any other code. This will allow cgminer to continue even if one GPU hangs. a187fe1 Try to do every curses manipulation under the curses lock. 5f54e16 Only use the sockoptfunction if the version of curl is recent enough. 2ca6c40 Bump version. e9ec92d Update news. 4019831 Do away with GET for dealing with longpoll forever. POST is the one that works everywhere, not the other way around. 508c5c4 Detect when the primary pool is lagging and start queueing requests on backup pools if possible before needing to roll work. afcff07 Load balancing puts more into the current pool if there are disabled pools. Fix. 27c7d2a Disable a GPU device should the thread fail to init. 2e37e33 Out of order command queue may fail on osx. Try without if it fails. 4cd12aa Fix harmless warning. 9a928e3 Fix possible dereference on blank inputs during input_pool. 1a789a4 Defines missing would segfault on --help when no sse mining is built in. fd473af Revert "Free up resources/stale compilers." f3c5f55 Only try to print the status of active devices. d5fbf8f Some hardware might benefit from the less OPS so there's no harm in leaving it there apart from readability of the code. 8b859aa Merge pull request #19 from ycros/cgminer 0c25ff8 OSX: fix setsockopt compile bug f0f6a00 Bump version number to 1.4.0 cf616ba Update NEWS. 020cf7d Build support in for all SSE if possible and only set the default according to machine capabilities. 039a5ea No need to make leaveok changes win32 only. 4a34d10 Merge pull request #18 from ycros/cgminer a150140 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer 53b53cb Simplify the output part of the kernel. There's no demonstrable advantage from more complexity. a9e1a25 Make it possible to select the choice of kernel on the command line. 116a9dc Update phatk kernel to one with new parameters for slightly less overhead again. Make the queue kernel parameters call a function pointer to select phatk or poclbm. b535848 Cannot print the status of threads that don't exist so just queue enough work for the number of mining threads to prevent crash with -Q N. e615b61 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer e04aee2 Win32: Fix for mangled output on the terminal on exit. 8d4fbc3 Clear log window from consistent place. No need for locking since logging is disabled during input. ba89a0a Unlocking error on retry. Locking unnecessary anyway so remove it. f94ca32 Make sure intensity is carried over to thread count and is at least the minimum necessary to work. d37c3fe Win32 threading and longpoll keepalive fixes. e83a32a Remove the mandatory work requirement at startup by testing for invalid work being passed which allows for work to be queued immediately. This also removes the requirement for resetting the timecodes at the start which caused huge over-estimates of hashing for a short period. 61e555e Tell getwork how much of a work item we're likely to complete for future splitting up of work. 9e42d63 With huge variation in GPU performance, allow intensity to go from -10 to +10. 65b4876 Update README. 5f36039 News update. 61e5cc1 Extra refresh not required. ae6eb1b Decrease testing log to info level. ec86da7 Limit rolltime work generation to 10 iterations only. 6e9b6bf Implement pool removal. 532587e Set priority correctly on multipools. Display priority and alive/dead information in display_pools. 56defd6 Make it possible to enable/disable longpoll. 53529a8 Abstract out the longpoll start and explicitly restart it on pool change. 62c8a8c Allow scan settings to be modified at runtime. a8c84da Allow log interval to be set in the menu. 2f976c7 Make the input windows update immediately instead of needing a refresh. 0909fac Clean up the messy way the staging thread communicates with the longpoll thread to determine who found the block first. 0106c56 Add a menu and separate out display options. 4bfa280 Display pool information on the fly as well. 75bf36f Allow the pool strategy to be modified on the fly. cca6f49 Abstract out active pools count. 31a8944 Tidy. fe8b041 Make --no-longpoll work again. ad53696 The longpoll blanking of the current_block data may not be happening before the work is converted and appears to be a detected block change. Blank the current block before submitting the work and stop passing the longpoll bool around. 44bcc32 Display current pool management strategy to enable changing it on the fly. b534ad0 Only internally test for block changes when the work matches the current pool to prevent interleaved block change timing on multipools. b0a8f27 Implement the ability to live add, enable, disable, and switch to pools. baddb82 Do one last check of the work before submitting it. 20336ea Make input pool capable of bringing up pools while running. 7841486 Add a bool for explicit enabling/disabling of pools. 0bc9574 Add pool option to input and display current pool status, pending code to allow live changes. ec06940 Add a thread that takes keyboard input and allow for quit, silent, debug, verbose, normal, rpc protocol debugging and clear screen options. b4f651f Disable/enable echo & cbreak modes. 6fdbe01 Remove the nil arguments check to allow starting without parameters. 9d60b10 Abstract out a curses input function and separate input pool function to allow for live adding of pools later. 365c900 Make it possible to enter server credentials with curses input if none are specified on the command line. 2b7e5e5 Enable curses earlier and exit with message in main for messages to not be lost in curses windows. 4766463 Only set option to show devices and exit if built with opencl support. f4f018b Don't try to stop/cancel threads that don't exist. 1c67f60 Sometimes the cl compiler generates zero sized binaries and only a reboot seems to fix it. 7b13812 Kernels are safely flushed in a way that allows out of order execution to work. b4960ec Free up resources/stale compilers. d987006 TCP KEEPALIVE support for long polling. 3f202fe Bump version number. b4430f1 Document changes. fa9e03f Implement pool rotation strategy. 521025a Implement load balancing algorithm by rotating requests to each pool. 0ba06c6 Timeout on failed discarding of staged requests. 6305146 Implement proper flagging of idle pools, test them with the watchdog thread, and failover correctly. 7c89193 Move pool active test to own function. 40419f1 Allow multiple strategies to be set for multipool management. d518f7c Track pool number. 02e0e12 Don't waste the work items queued on testing the pools at startup. ced0e5a Reinstate the mining thread watchdog restart. Add a getpoll bool into the thread information and don't restart threads stuck waiting on work. Rename the idlenet bool for the pool for later use. 0afab92 Allow the user/pass userpass urls to be input in any order. b56ed74 When json rpc errors occur they occur in spits and starts, so trying to limit them with the comms error bool doesn't stop a flood of them appearing. Make the json errors LOG_INFO level instead so they don't normally show up. 0d8b879 Reset the queued count to allow more work to be queued for the new pool on pool switch. 0c07328 Bump version number to 1.3.0 012456f Display per pool summary at the end if multiple pools in use. Fine tune statistics and make localgen fail at 5 mins. 6de8de3 Documentation. 85bf965 Force a mandatory work item on pool switch and determine what to do based on server supporting roll time or not. f91a048 Implement the actual switch logic which changes over after 5 minutes of local work generation. 81ff7fb Explicitly probe each pool to see if work can be retrieved from it and what it supports. 913e120 Test for rolltime and save it correctly when testing for longpoll. 0ce3df1 Store whether each server supports X-Roll-Ntime or not. 321c479 Make longpoll switch servers should it not match the current pool. 529aa70 Set pool on work retrieved from longpoll. 048bea2 Set first localgen time to max. ecda759 Set and get the current pool under lock. b8ba2fd Implement a per-pool mutex and use that for locking the internal flags. fd10b99 Move add pool to somewhere clean and obvious. 05dfc16 Merge branch 'cgminer' into pools 3a9fd06 Revert "total_queued should always be >= total_staged" cdc72da Some servers regularly return empty responses. Drop the message from ERR to INFO. 5a861bf total_queued should always be >= total_staged 7073493 Merge branch 'cgminer' into pools 44c975b Long timeouts are causing reset connections and longpoll can recover if the connection needs to be restarted, so remove the timeout settings. a46b5d1 Make it possible to pass multiple urls/users etc in preparation for multiple pool support but only use pool 0 for now. 19b80d6 Curl's global init can trample dynamically allocated data so do it before anything else. 961c430 Abstract out the pool data to begin move to multiple pool support. 1d27c11 Don't let total_queued go below zero. 8220af8 Avoid queueing extra work if there's work staged as well. c3e569e Copied the data to longpoll_block too early so the longpoll message will rarely be received. Submit longpoll's converted work after we've flushed requests since that will blank the current_block for stage_thread to see. f000652 Bump version to 1.2.8 0477667 Update docs. 5e7c37a Make it clear what the sha algorithm is for. 5affc3b Merge pull request #17 from ycros/osx 1f3074d Fix configure.ac for 64bit OSX builds e532ac3 Only clear the longpoll block data if we successfully received a longpoll, and do it before converting the longpoll data to work to avoid the staging thread believing it got the new work before the longpoll. 31d98cf Fix suseconds_t for OSX. 01eb4c5 Minimise impact on GUIs by dropping priority and policy in gpu mining threads if dynamic mode is enabled. 08cf074 News. 0aa9887 Add an sse4 algorithm to CPU mining. 0c49935 Fix CPU mining with other algorithms not working. a7707a2 Rename the poclbm file to ensure a new binary is built since. fc18462 We now are guaranteed to have one fresh work item after a block change and we should only discard staged requests. d53ee8e Don't waste the work we retrieve from a longpoll. 0c25373 Provide a control lock around global bools to avoid racing on them. 8d8e066 News. 1c07047 Cycling over 1026 nonces is a remnant of old code not relevant now and can just lead to repeat submission of the same block increasing rejects. Remove it. b6ac9f1 Revert "Make sure not to try and submit work for nonces higher than already submitted in current work item." 1d45b7f Revert "Don't miss first work item." 57f5893 Don't miss first work item. a2dd410 Make sure not to try and submit work for nonces higher than already submitted in current work item. This reduces rejects substantially. b198bad The poclbm kernel needs to be updated to work with the change to 4k sized output buffers. 6e30c07 longpoll seems to work either way with post or get but some servers prefer get so change to httpget. 65b2aff Add SS description to readme. a0e799b News. c4aefa3 Bump version number. eb91b03 Show last 8 characters of the share submitted. b7c6d85 Further update news. 96cc141 Display URL connected to and user connected as in status. 3e032b8 Display current block and when it was started in status line. a1339d7 Only pthread_join the mining threads if they exist as determined by pthread_cancel. 3cb7ef2 Create a unique get work queue instead of faking it all to thread 0. 0a9db84 Make it clear the restart message is going to the watchdog thread. 8203cc6 Check the current block description hasn't been blanked pending the real new current block data. 18af4e6 Re-enable signal handlers once the custom sighandler has been hit to make it possible to still kill cgminer. f762da0 Update news. 70edd0d Disable restarting of CPU mining threads pending further investigation. They may not need it and are easily killed off. 75e1d01 Update NEWS infromation. 009e8f3 Shorten the code path in the kernel even more. 274022f Message too verbose. Simplify it. 5569506 Display appropriate messages with/without longpoll to make it clear if stalls happen that cgminer is waiting on more work. 3785e50 Add new block data to status line. ab69600 Merge pull request #15 from ycros/osx 77b0f94 Only do local generation of work if existing work is not stale. 4a94199 Abstract out the test for stale work and test for it in the actual mining threads as well. 6dcf05f Make sure that local work generation does not proceed indefinitely by limiting it to the average block generation time - 10 minutes. Doing more work will just waste power and will virtually never produce accepted shares. b913bc5 Update makefile to suit new kernel. eea05c0 Update kernel with a shorter output path, and use 4k output buffer to match OS page sizes. aeaeac0 Allow queue of zero again and make it default since we can track queued vs staged now and see if the queue needs to be bigger. 8a40036 Just insist on 1 lp staged work per mining thread on new block. a486c5b Bump version number. 188beb3 Update news. 4c91717 Limit the number of work items we put in the queue. 32221c4 We shouldn't be deleting lp_staged value on dec_staged. It prevents detecting get_work failures. 23e4add Add a system status line to the formatted output. 34ecc59 Forgot to set total_devices for the purposes of finding a positive active_device. 579bd42 Revert "Change get_work to use a timeout when trying to tq_pop as a sanity failsafe in case of unusual circumstances." c12a2f1 Bump version number to 1.2.5 6ab2966 Limit display to total devices to avoid repeating when selecting devices. 5fd7337 Get the device number from the thread id, not the other way around. 2864892 Make sure we are working with the correct id devices and only print out the ones that are active. f3e5fd1 Update news. 86987b6 Refresh is missing after each curses_print_status to update the status window. 636c425 Trivial EOL. 5bbd313 Show the correct gpu devices only. c36cc61 Ensure we connect at least once successfully before continuing to try to connect. e21e923 Make the curses interface optional with a new --text-only -T option. ed11501 Make the curses output separate from regular text output and put an executive summary after curses is shut down when cgminer exits. ed1d6e4 Update readme. 78b96f9 Merge https://github.com/ycros/cgminer into ycros c4cc83d Explicitly grab first work item before entering asynchronous loop to prevent apparent HW errors when first starting due to stale data on the GPU. df43b71 Add start time datestamp to status output. 4c859f3 Make setting of intensity implicitly disable dynamic mode and remove the option to disable dynamic mode by itself. fe8ab94 The max_nonce wasn't being reset on starting new work making cpu mining fail on each new work item. 8ec2dcc Mingw suseconds_t and sigaction fixes. c12825c Fix configure.ac OpenCL test for OSX. 3d900e7 Initialise gpu_ms_average. ba4ba7f Only restart threads that are not stuck waiting on lp staged work, and add one mandatory queued work item for each restart. 7e38a37 Fix compiler warnings. 20b3e07 Implement signal handler and clean up properly. 02cd113 Tidy up display. 7d517dc Conflicting options with -n. Change ndevs to -e for enumerate devices. 8375d1a Add a dynamic flag that tries at all times to maintain the desktop interactive and make it possible to disable it for dedicated miners. 22c70a2 Bump version. 56d830a Trivial. a8b39bc Make the status window maximum width to begin with. 3a96849 Turn the wakeup thread into a watchdog thread that checks when the last time a thread reported in was and restarts the thread if it has been idle for more than a minute. c23827c Update the per-thread view as well to not miss dead threads. 81f8af8 Cope with servers that regularly drop the longpoll connection. e335d52 Cope with servers that return empty bodies that would otherwise crash jansson. 4de3f32 Move to newer jansson library. da2bba3 Initialise it to localid. b4bfeb5 Bump version number in light of new kernel and build system that finally works fully. 24fa820 Revert "Longpoll is not supposed to use POST and this could be leading to longpoll failures." 0b57266 Merge branch 'newphat' into cgminer bb4deaa strcat in longpoll thread can write outside of longpoll_block so cat them all in main(). 857902a Commit a new phatk kernel renamed to force new binary building and add proper support in makefiles. 86bc042 Remove unused variable. 10d66b2 Fix isatty being undefined. 941768e Bump version number. 7b9b078 Change get_work to use a timeout when trying to tq_pop as a sanity failsafe in case of unusual circumstances. 222d4ee Make curses completely inactivated in quiet mode and do not update curses code in wakeup thread when curses is inactive. ad0be6c Longpoll is not supposed to use POST and this could be leading to longpoll failures. 76b233a Implement locking around curses updates to avoid screen corruption and refresh both windows fully regularly from the wakeup thread which wakes up infrequently to not be too cpu intensive. 6d4476b Use correct variable in initialisation. c3566d3 Bump version number to clarify bugfixed nature. ccf2ea9 Convert the log and status portions of the screen to two separate ncurses windows for simpler cleaner output. c59e2ab Avoid possible divide by zero. 43ef5f5 Get rid of the flaky time_lock and use the thread safe localtime_r instead. c836b5b Don't try to find where the cursor is and just set it to the last line for logcursor. 231cd4f va list needs to be copied as it's invalidated either way. 73a864c vfprintf invalidates the va args so do it after the curses output. a1ffba8 Refresh the display on every commit to applog since detecting bottom of the screen may be unreliable. 78ed386 Delay any threads from starting till everything is set up properly. b93e6a4 Show all devices even if only selected are enabled. 505b185 Merge https://github.com/ycros/cgminer into cgminer 215ee79 thr_id can be successful as -1 which is wrong and could lead to a crash. 386489a Added support for pdcurses. 92e04f4 Make clear for multiple GPUs. 1549a3e Bump version number for updated display. 90839cd Implement a completely curses based display and don't output to stderr when log is enabled unless it's redirected away from the terminal. f12edd2 Keep track of number of mining threads explicitly and only enforce that many work items on new block work. 3565634 Show communication error once only on failure. 94fdff9 Fix help typo. 75888a1 Implement device selection(s) with -d. 4bb13bd Increment version number. fbcd294 Really correct the staged count logic failure. 82cac38 Logic failure meant the longpoll fake staged were never removed. This would lead to idle periods and may have even caused complete idle failures. 8af98be Make the utility demonstrated relative to each device when showing per-device work submissions. 6464dbf Implement per-device request count to have a per-device efficiency and request status. 0c91067 Set max preferred size to 256 to prevent lying cards from crashing when no worksize is set. 3d9f244 Make all applog at least 80 columns wide obviating the need for spaces at the end of select messages to clear the status line. 5e6b807 Tidy output. 1c92478 Make sure to set first work as mandatory instead of generating work locally from it. 102c4d4 Give meaningful message on submission failure and resumption instead of spam. cd8140a Merge https://github.com/ycros/cgminer into cgminer fe6e212 Bump version number. 05355d3 Fix occasional crash when performing json rpc calls. f20e25e Moved pthread mutex inits up, due to applog using a mutex causing a crash. Added Win32 compatability to opt.c. a5fb85e Fixed WIN32 compilation with byteswap. c9bbaec Cope with delays in retrieving work from the server by knowing when we have run out of staged work. Once we are out of staged work, roll the ntime forwards in the work to generate work locally without a getwork. Display a message explaining when we move to/from local generation to server retrieval. Make sure we don't think we've run out of work transiently after a longpoll by flagging a buffer of fake staged work. 3126002 When shares come frequently on more powerful mining hardware the status line doesn't appear for very long and gets drowned out by share information. Cache the output and display it after each share submission. 826cc48 Opcode should be ULL. a8be685 Formalise the extra work item that the wakeup thread acts as a watchdog for. 732baa1 Use the wakeup thread as a watchdog to ensure we don't fall between the holes of queue and dequeue. 3738256 Add warning about NVIDIA cards. 9304ebc Add display information to README. a4f0477 Update build instructions. bb49287 Make longpoll aware of when new block detection has detected a new block first and avoid flushing the work queue twice. 186666d Prevent buffer overflow. 25bebf3 Make the output line much terser now that it has a lot of information on it. 1b23551 Merge branch 'cgminer' into mfontani ed233e8 Put work into a staging area which makes it possible to check the latest work data received. Then check the latest work data against a store of the current_block and use it to determine if we have moved to a new block. This makes --no-longpoll work just as efficiently as longpoll, and works around when longpoll is unreliable. c815de4 Add "efficiency" and "utility" efebee5 Fix the case where there are no GPUs, and exit if they give errors. 8b68dc4 Fix --ndevs/-n option. 8d25df3 Cleanup --cpu-threads/-t logic 3e81812 Use ccan/opt for commandline parsing. 5a83cc2 ccan: downgrade ccan/opt license from GPLv3 (or later) to GPLv2 (or later) a0d14d1 ccan: add ccan/opt and dependencies to build. e2d912e vapplog: new helper function for reporting errors. 5969d65 First work for each thread is now queued in advance. e9a397d More space to wipe old text. e990698 Fix the extra work queued every longpoll by queueing it all in the beginning. 719deb3 Create a wakeup thread that keeps the hashmeter going in case the mining threads all stall. ddae5aa Remove unused variable. 837e7b1 Remove unused cgpu rolling_local variable. 93800e5 More output tidy. 56eee5f Retry should get_work() fail for whatever reason. 07f6de8 Change ifdef order since batch is always defined if idle is. cf1e462 Give error messages at all points of failure. 0f351d8 Always log warnings and error messages. ed7e5bf There is still potential for an uneven number of queued and dropped work items with this unnecessarily complex check. Flush work guarantees a symmetrical number of queue and discard already. 69d8df6 More cleaning of output with detecting new block. 4800832 Import updated asm for cpu mining based on ufasoft assembly. 8333a2f Improve output appearance +/- verbose mode. 1fb09ea Implement -n/--ndevs option. 0ebdc39 Make debug mode imply verbose mode. 413e6b8 Fix potential divide by zero. 660aabf Merge https://github.com/ycros/cgminer into cgminer 0a80d4b Display the output as a refreshing line and only push continuous log to stderr if desired. a636a67 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer 52d6e7c Fixed fread issues under Windows. cb13e2c Make it possible to build without opencl for cpu mining only. a93b22c Make it possible to build without GPU mining by picking up HAVE_OPENCL from config.h. 1f80998 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer 4172fec Cope with invalid parameter passing. bc7cde7 Implement short option parsing. 5f20777 Merge branch 'cgminer' of git://github.com/ckolivas/cgminer into cgminer 13c57a5 Properly initialise qd_lock mutex. bbac2b9 Added HAVE_OPENCL define to config.h, added OpenCL message at the end of configure script. f90e73a Queue and pop precisely the same amount of work in flush_request to ensure all work is cleared and there isn't an uneven add/remove possible. af6e793 Signal handling in dns lookup code is responsible for libcurl crashes when multithreading. Disable signal handling and use many curl handles instead, thus making work more asynchronous. Theoretically a curl can wait forever on a dns lookup with this but it's extremely unlikely. 8a0bbf3 Update news information reflecting overall summary of gpu mining code. 91f9c52 Rename code and application binary to cgminer version 1.0.9 preempting version 1.1.0, moving main code to main.c. 8f098e4 Put locking around the queued count to ensure we're never left without work. 122f0cf With pre-emptive queueing of work there is no need to have extra work in the queue by default. Make it a list of extra queue items instead of a total and default to 0. 821da37 Add hardware name to binary kernel name allowing for unique kernels for different cards on the same machine. 9950aa3 Fix 32 bit builds. 5cbc33e Change default retry to 5 seconds. de3d07d Make the next work item queue 2/3 of the way through the work on the current work item. Load the first queued extra work in the main function to avoid having a once-off variable in get_work(). Load an extra set of work for each function in advance once a longpoll is detected since every thread will need to get new work. Discard requests with a separate function to ensure the right number is always queued. ad787e1 Move the flushing of old work into restart threads so it's done before any worker threads grab more work. 5007805 Update CPU reentrant scan code to work properly for extended periods up to scantime and adjust rate properly. Simplify locking in hashmeter since it's called relatively infrequently anyway. Set gpuminer hashmeter interval update to log interval / 5 as well. e4f9ea6 CPU mining is spending too much time in the work thread and not receiving restart messages. Update the code to return at log interval / 5 and only get work at the right time. 8999bea People expect miners to run indefinitely instead of giving up by default so change to never giving up if json call fails. 13b43cf Update copyright and authors. 9f72640 Logic error in the queueing of work ended up generating more stale blocks. There is a small chance that a longpoll is signalled right at the start which would lead to a deadlock so check for first work before restart. 594b38b Fix redefinition of gnu source. 513b445 autogen.sh fix f649001 Update gitignore. 3320c62 Added previously missing gnulib files. 8313606 Fixed configure.ac to properly detect OpenCL on windows/mingw. ec83191 Build on windows using mingw32. 9fe2106 Fixed up using config.h instead of cpuminer-config.h. b645cc9 Updated README for building on win32. edd0591 Make the number of queued work items configurable and default to 2. 131f60a Move queueing of one request to separate function in preparation for variable length queues. 5d301c8 Make a binary load failure build from source. ffdffe7 Make sure the work gets attributed to the correct gpu. Add an fflush to stderr to minimise garbled output when multiple threads write at once. 86e40ed Stale block control makes it possible to make 2 threads per gpu the default again. 48caf24 Check for stale block after failed submission as well. 09104ce Flag the work back to just thread 0 used by all the threads to avoid lots of queued older work for each thread. bed6921 Get rid of the requirement for a static struct that needs locking to cache work. Make it possible to use the thread id for getting work again. Flag the getwork() function when we have a new block to explicitly discard any cached work when a new block is detected. Store the header of each new work and compare it to blocks we're about to submit to decide if they're stale due to a new block and don't try to submit them. This should significantly decrease the number of rejected blocks. e2fb3e8 Queueing all kernel parameters dramatically reduces stale block rates. 7ae9afc Profile points and warning clean ups. b54a342 Change default number of threads back to 1. The 2nd just increases the time taken to complete a work item thus increasing stale blocks, despite increasing the rate slightly. 3983f1b Breaks nvidia building. Roll back for now. 2a8475b configure.ac, Makefile.am: Allow setting of OpenCL location 3aa5be4 Reinstate binary kernel loading with fixes. Build binaries with unique filenames from the kernel generated and save them. Try to load this cached binary if it matches on next kernel instantiation. This speeds up start-up dramatically, and has a unique kernel binary for different kernel configurations. 88d9d63 Use two separate curl instances for submit and get and use separate threads for each to prevent one blocking the other. 72baac0 Clearly delineate the cpus from the gpus for their local data. 142576a We already have gpu/cpu from id, so use that. Likely the current convoluted code is wrong and leading to segfaults! 18f8b0f Submit work async is still unreliable and only used for cpu mining, so back it out for now. 60f0bb1 Temporarily back out binary building till it's working more reliably. d5d4d1d Don't want to free the work data out of the transient structs. a095f0f Broke source generated program. Fix. d100281 Make sure correct thread id is in work struct and correct cpu is set for per-cpu data. 998d8d4 Postcalc hash is already its own thread so work can be submitted synchronously from that. 4d73057 Build binaries with unique filenames from the kernel generated and save them. Try to load this cached binary if it matches on next kernel instantiation. This speeds up start-up dramatically, and has a unique kernel binary for different kernel configurations. 973b219 Tidy. 2b6e841 Use a buffer of up to 512 * 4 integers when retrieving work from the GPU. This allows each local thread id to have one slot to put any positive results into, thus making overlapping results far less likely. Thus races will be much rarer, allowing more threads. It should also pick up blocks close to each other more reliably and hopefully decrease the number of rejects and opencl errors. Do the search over the buffer entirely in a separate thread to allow the GPU to stay as busy as possible. Detach threads from themselves to prevent unlucky even where dereferencing occurs by freeing the data that stores the thread info. 6af8477 Add spaces to make output clearer. e1dd27c Ensure that we don't overflow due to 32 bit limitations. b38a02b Make the log time hash rate a rolling exponential average so it doesn't fluctuate so dramatically. 08a7821 Make the log show what the thread is: cpu or gpu and what number. 1dfbe60 Put sanity limit on work size since some nvidia fail :( f490143 Add local thread count to info, store hw error count, and make share submission debug only. e016d0c Increase maximum intensity configurable to 14. dfc52fd Make sure we can have gpu and cpu threads running. 24a28e2 Make it possible to run as a pure cpu miner by setting gpu threads to 0. e1d01d0 Minor fixes. 6c6bb02 There is no point having vectors in the it variable. 6374e0f Import the phatk kernel. Enable it only for hardware with amd media ops for now since it crashes nvidia et. al. Fallback to the poclbm kernel for the rest. Try harder to avoid stale blocks around longpoll detecting new blocks. 2dbb394 Base was being set wrongly meaning we were repeating searches and the rate was actually lower than displayed :( Tweak Ma with new changes. Change default vectors to 2 since it's faster than 4 even when 4 is reported as preferred. c566605 Tab dainbramage. 11c8818 32 bit only builds one elf, not an elf in an elf, so account for it to be able to bfi int patch properly. 623b9b9 Patch bitalign separately from bfi_int. Recover from failing to patch for bfi int. 948b514 The buffer needs to be flushed before enqueueing the kernel again. Further optimise the mining loop by removing the need_work bool. a45c54a Make postcalc_hash asynchronous as well. 378d18f Submit all work asynchronously via a submit_work thread. 612c3a4 Curl doesn't like multiple instances so go back to one instance. f0dcd12 Show which cpu mining thread when giving affinity message. 58f6bf4 Prevent 32bit overflow of local_mhashes as well. 00de822 Upper limit should be -hashes. c29a432 Only update the hashmeter once per second from gpu mining threads. 063adc6 Implement runtime selectable numbers of GPU threads and rename CPU threads option. b6ae1db The submit_lock is not required nor helpful. d1c0ccc Show correct GPU from thread number. f111499 Implement a potentially variable number of threads per gpu, setting it to 2 for now. 08f56f5 Set default CPU threads to 0 if GPU mining. 06f3950 Fix typo which prevented BFI INT patch working on multi-GPUs. 30e38e2 Typo i - gpu fdb46f2 32bit fixes. 295ef0f Discard accumulated work when longpoll indicates a new block. f44e8fa Curl appears to be not thread safe so only have one curl open at a time. 343ae85 Intensity 5 is too high for a normal desktop causing unacceptable lag so change the default to 4. 88e2cf7 Initialise libcurl properly. 656b485 Make the worksize and vector width configurable. ead1281 Cleanup of return codes. 401586f Only try to patch GPU referenced. f6486ef Make the getting of work asynchronous from the mining threads requests by always having one work item queued. This prevents drops in hash rates when getting work from a pool that is slow to respond. Use a local static struct work in get_work that is used to queue one extra work item. 0cef8f8 Default scan timeout of 5 seconds is way too short leading to abandoning blocks too early and being seen as an "inefficient" miner. Increase it to 60. ac4ab6a Fix mutli-gpu initialisation when BFI_INT patching. d2cb012 Detach the thread once created so we don't have to explicitly try and join it. b7a1775 Make a separate thread for work submission that returns immediately so that miner threads aren't kept waiting when submitting results to slow pools. 64f268c Display correct worksize. e8f4eea Use total mhashes as a counter to prevent 32 bit overflows. 32ca93d Version 1.0.2. 808d5b0 Make output debug. f792608 Limit intensity to 10. Anything larger overflows. Simplify test for new work. feb8cfc applog fixes. b19ee2f Make sure a GPU doesn't work on a block longer than opt_scantime. 26546ad Make the optimisations per-gpu card and update code to work properly with multiple cards. 8253f14 Use some line breaks in the kernel. 4257dea Convert abcd... to an array. 75cf5cc Replace Ws with an array. 852e78e Fix mutex unlocking with only one thread and opt_log_interval. 70f7357 Make the output display the 5 second and total average Mhash/s. Make the log interval configurable. debe777 Use cpu_from_thr_id when binding threads. afc83cb Need gnu_source for memmem to work properly. 4cd5f47 Revert "Multiple compiler warning fixes." 88761e6 Multiple compiler warning fixes. d28f526 Need memmem in advance() to work properly for patching. 19eea90 Implement code detecting max work size and optimal vector width. Use this to patch the kernel to suit the idea values for the card. Then use these values when invoking the kernel. 3335221 Report preferred vector width. 237a506 Skip trying to start thread of GPUs that don't successfully initcl(). 14ca888 Update help. c08be80 Fix the setting of number of processors. Add scan intensity variable. 407df0f Use correct boolean testing and long enough string for cl_amd_media ops testing and kernel changing. c2e4165 Detect platforms that support cl_amd_media_ops and decide whether to BFI_INT patch or not. Remove unused kernels. 2ab6180 Reset count once all threads are started to avoid slow rate being shown initially. Update copyright notice and comments. 932ff72 The gpuminer thread uses very little cpu and needs to keep the gpu busy with as few delays as possible. Don't nice it. f54d2cc Make poclbm use 4 vectors and decrease worksize to keep pipelines fullish. Make it possible to have 0 CPU threads and update docs. Fix counter with no cpu threads. b4d2733 Convert to poclbm kernel. 6624048 Fix deref. fa2f6b1 Unwind. 79fec01 Remove the input buffer and just pass args to the kernel as per plugin design. f117675 Optimise work loop to make cl calls asynchronous where possible. f05270b Optimise loop and make debug debug only. fa4c10b Implement ma macro for amd bytealign that gets patched into bfi_int as well. 91e5cef Actually get first BFI_INT patch working. a40003a More bfi_int patching. 9954e03 Straighten out. c548dea First BFI_INT patch changes. 910e694 Increase baseline threads to 1<<22. Make total counter regularly update every 5 seconds. Only write the blank buffer when it needs to be blanked. 6b77d85 Fixes. ce3382c Don't run gpu thread idle prio. dde7039 Merge gpumining from oclmine. Unstable. 5181742 Cope with older linux kernel headers that don't have the newer scheduling policies defined. 0a8ac14 Forgot the else. 4f8045c Only increase solutions count when confirmed true. ce750e4 Add a solution counter to the output. 7062557 Implement global hash rate counter through mutex lock protected data. Make the output easier to read. Don't do hashmeter updates if no output is requested. Remove redundant output when using a single thread. 4d6be0c Fix number-of-threads init logic on Windows 8e0e249 only read processor count via sysconf on non-Windows platforms f992c92 configure.ac: Beautify yasm test output feb02df Fix libcurl include path 262b98c Linux + x86_64 optimisations. Add likely() macro. Optimise a few obvious code paths with likely/unlikely. Change algo to sse2_amd64 by default. Move priority change to worker threads only. Detect number of CPUs and set default number of threads == CPUs. Add scheduling policy change to worker threads to SCHED_IDLE first and fallback to SCHED_BATCH on linux. Don't error when failing to set priority. Add CPU affinity and bind worker threads to CPUs when number of threads is a multiple of number of CPUs. Update NEWS with changes. bf15f30 Version 1.0.1. 180b99f OSX Support 16cddaf Version 1.0. 6a3b05e jansson 2.x compatibility 7ff1280 util: correct off-by-one in month display a9a2840 Proper platform detection. 1a16f2a configure.ac: improve has_yasm test 69529c3 Support full URL, in X-Long-Polling header 991a358 Release version 0.8.1. a7d9f31 Add User-Agent header to each HTTP request 46819af --user/--pass fixes 594fe67 example-cfg.json: remove extraneous commas, which broke JSON decode 124abb6 Release version 0.8. 42cdb63 Update example JSON config 81352ca Support --user and --pass, as alternative to --userpass 2fd9d54 Convert remaining [f]print to applog(). 144cf62 Avoid potential for div-by-zero, when calculating max-nonce d49d639 cpu-miner.c: Remove newline from applog() call 23e9cf9 Ensure cpuminer-config.h is universally included, in *.c and *.h alike. 24afd61 Introduce more standardized logging (incl. optional syslog). 7a87bee Add long polling support 6818c69 Improve max nonce auto-adjustment with some basic algebra. 33e5b54 miner.h: pad out work_restart to max likely cache line size 2d49a9a Introduce ability to interrupt hash scanners in the middle of scanning. 4be41af Release version 0.7.2. 0258fae Fix Windows build, that broke with yasm integration 35aba89 Merge branch 'master' of https://github.com/fleger/cpuminer into tmp 4f7a51e Move all RPC I/O to separate thread. cdb4cd9 sha256_*.c: trim trailing whitespace aaf4680 Makefile.am: neaten minerd sources list aab6f57 Fixed yasm version check cb62c7f Merge remote-tracking branch 'upstream/master' 115cbe6 Revert "Fixed yasm version check if yasm version ≥ 1.1.0" 4d857dc Merge branch 'sse2' of https://github.com/chromicant/cpuminer into tmp da1fd22 Fixed yasm version check if yasm version ≥ 1.1.0 1989b7d Make sure we don't check for yasm version if we don't have yasm 6b19b15 Fix warnings in sse2_64 implementation. 96d2287 X86_64 SSE2 support for Linux 1d8b6e1 Release version 0.7.1. d4ddd31 Make CURL follow redirects. ef91bd5 sha256_4way: skip last 3 rounds. a27e69a Changes to make the 4-way code compile on Intel Compiler 4a7f3f7 Show date/time when proof-of-work is found. 1083e15 Mark hash success as unlikely, using __builtin_expect() intrinsic f0bdc0b example-cfg.json: improve comments fa7e80b Extract get-work logic into separate function. 6d28829 Add support for JSON-format configuration file 4e622f2 Release version 0.7. b2372e7 Turn off target testing for release, as some strange results appeared. 9f3472a Use bswap_32 from byteswap.h, if __builtin_bswap() is not available c0935a9 Re-use CURL object, thereby caching DNS and HTTP connections where possible. 8277202 Release version 0.6.1. e47076c Fix max-nonce auto-adjustment logic to actually work 51eb1b4 Move verbose proof-of-work/target comparison display into -D (debug) 98de751 sha*.c: remove debug statement, which is redundant to hashmeter output e8ee4cb Add --retry-pause, to set length of pause time between failure retries 714c0fd Continue scanhash, even if high 32 bits are zero. c68ffb3 Display proof-of-work hash when one is discovered 453101d Remove "PROOF OF WORK FOUND?" debug output; redundant. a816470 Release version 0.6. f889476 Dynamically adjust time spent hashing current work unit, to meet target 0b67740 Pass max-nonce as arg to each sha256 algo. f570ffc Code movement: move second hash time sampling to main miner loop a296799 Replace ___constant_swab32() with gcc's __builtin_bswap32 8504cf4 sha256_4way minor optimizations e411714 Fix non-working short options -q and -r N, by listing them in optstring. fd19172 README: mention CFLAGS on *nix builds fc4ed17 Release version 0.5. 16006f9 Rather than sleep-loop, main thread waits for all threads to exit. 2f9a6de Improve CURL HTTP request error diagnostics. 9e5a173 Improve JSON-RPC result/error checking, and improve error diagnostic output. 872211c Add --quiet option, to disable hashmeter output. 724fe37 Release version 0.3.3. 21e56a2 sha256_cryptopp asm: byteswap input words 970e74c Move 32-bit swap code into miner.h, for sharing. ae4cc6f Release version 0.3.2. d88648d sha256_via: ensure that found nonce is copied back into output data buffer 309d1bd Release version 0.3.1. d363a1d sha256_via: ensure proper data area is fully checksummed ee592d0 Handle temporary JSON failures (due to server reboot, etc.) 4c8d703 README: update win32 build insns 857ba8f Release version 0.3. 0ee24c0 sha256_4way: work around gcc 4.5.x bug by always inlining ROTR and SHR ce1c9a8 Display version on minerd --help usage output. f1fcd76 sha256_cryptopp: Add crypto++ 32-bit assembly implementation 1a1a018 Release version 0.2.2. 8ca6ffa sha256_4way: do not include unnecessary headers, when !4way 6b5fb46 sha256_via: align tmp_hash1 to 128, to avoid stack clobber 276dcdb Avoid null deref in command line arg processing. 18d3ab8 Release version 0.2.1. 145e5fe submit_work: increase string buffer, to avoid overflow 74bb196 Add Crypto++ sha256 implementation (C only, ASM elided for now) 339ddf4 Move sha256_generic into its own .o build output. Const-ify midstate param. ad3fda8 Release version 0.2. 4c47553 Clean up multi-algorithm selection and display 6288d94 sha256_4way: patch proper nonce into data block eeea340 sha256_via: add further comments on byte-swapping work 4da2e4f miner.h: include sys/time.h for struct timeval definition e2eeaaf Add experimental (read: probably broken) VIA padlock support. 86eb37d Improve and modularize compile-time CPU detection. 500759c s/__SSE__/__SSE2__/ a751836 Windows build tweaks. 2f2bf74 Note that 4way is experimental eed9b3c sha256_4way: perform 16m hashes, not 64k, per invocation 35ea649 Improve hash performance statistics. a50201e Improve --help output. Mention --help in README. 099b6b0 Drop all Windows DLL in same dir as minerd.exe 1f50743 Correct -a command line help. c639149 Add tcatm's 4way SSE2 sha256 implementation. d2fded6 README: add win32 installer instructions 7c6014c Add Windows installer creation script, mknsis.sh. 6f30fc1 Release version 0.1.2. 7f98b6a README: update dependency list and build instructions 0a33311 Build on Windows using mingw32. 4575851 Build jansson 1.3 in-tree, if not present on system. 750deb7 Makefile.am: add compat.h, to correct 'make distcheck' failures 352bab2 Introduce compat.h, for Win32 builds b7cc9b6 Replace argp with getopt_long 59f1fb2 Link with pthreads lib, if present. Remove GNU-specific asprintf usage. 5d1a452 code movement: move submit_work() above hot path 945be82 Move utility routines to util.c. 822cf2c sha256: Remove unused include arpa/inet.h e4c4b3f scanhash micro-optimizations 1032fec Allocate work struct once, on stack, rather than alloc+free for each getwork. a614823 Remove unused OpenSSL dependency. 23cd22a RPC URL, username and password become arguments, rather than compile-time constants. 67d3c91 Small cleanups and comment additions. Don't sleep after proof of work found. ea6c112 Add GPLv2 header. 82fff8f Do not build sha256_generic module separate from cpu-miner.c. Version 0.1.1. 702e2ac Convert over to autotools. Release version 0.1. e33abcd sha256: note about bitcoin input data 19b51e3 Clean up protocol debugging output, and other cleanups. b7201e9 sha256: Assume that input is already big endian. 5b0ab3c Remove byte reversing in submit_work() 89a0560 Code movement. Update stats counter more frequently. 5b6e9a9 Add command line parsing, and multiple threads. 45a29ac Add timing info. Remove BIGNUM PoW checks. 666af32 Clean up proof-of-work checking, attempting to address find-solution-too-fast problem. 16b535e Add some code comments. 9bc3649 Add README and license info. 9599867 Initial revision of CPU miner.