* 3c2647d (origin/master, origin/HEAD, cgminer) Merge pull request #511 from kanoi/master
| * 8437805 klondike - error condition handling
* 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.
* 269a145 Add usb command name to critical libusb error reporting.
* ce61b9b Merge branch 'master' of github.com:ckolivas/cgminer
| * 9932c95 miner.php correct sort gen field names largest to smallest
| * d9449b2 api ... the code related to device elapsed
* | 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.
* cac7cdb api add device elapsed since hotplug devices Elapsed is less than cgminer Elapsed
* 44cc52c Drop usb buffering message to debug logging level.
* 273b04b Do the ntime binary modification to the work struct when submitting an ntime offset nonce within submit_noffset_nonce
* eed0afc Convert libusb transfer errors to regular libusb error messages to allow for accurate message reporting.
* 43699c7 (tag: v3.6.4) 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.
* 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
| * 03d9f56 klondike rewrite work control
| * c9adb19 allow __work_complete() access
* | 789d448 Perform sync transfers on shutdown to allow final transfers to complete.
* | 011f2d3 Merge branch 'master' of github.com:ckolivas/cgminer
| * 3fc7ff4 miner.h allow devices to tv_stamp work
* | ad8d949 Destroy cgsems used after transfers to not leave open files on osx.
* 06ed3e3 (tag: v3.6.3) Bump version to 3.6.3
* 4b44396 Update NEWS
* c04f3bf Merge branch 'master' into mergelibusb
| * 920c0bd Merge pull request #507 from kanoi/master
| | * 55e233d API add 'MHS %ds' to 'summary'
| * bf810a1 Merge pull request #506 from kanoi/master
| | * c2073f0 Optional lock tracking and stats via the API
| | * 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
| * | c70cea2 (tag: v3.6.2) Bump version to 3.6.2
| * | a461a91 Update NEWS.
| * | 7a32a7b (origin/libusbx) 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.
| | |/
| * | 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.
| | * dd1f67f bflsc - also allow ' 0' in DEVICES IN CHAIN
| | * 1f166d9 bflsc - allow a 0 in DEVICES IN CHAIN
| * | 2bbe492 Merge with master
| |\ \
| | |/
| * | c3b0566 Merge branch 'master' into libusbx
| |\ \
| * \ \ 9d29e09 Merge branch 'master' into libusbx
| |\ \ \
| * \ \ \ e8b51b2 Merge branch 'master' into libusbx
| |\ \ \ \
| * \ \ \ \ 64f5cac Merge branch 'master' into libusbx
| |\ \ \ \ \
| * | | | | | 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
| |\ \ \ \ \ \
| * \ \ \ \ \ \ 3b26659 Merge branch 'master' into libusbx
| |\ \ \ \ \ \ \
| * | | | | | | | 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.
| * | | | | | | | 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
* | | | | | | | | 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.
* | | | | | | | | 103bc0b Revert to using timeouts on !linux since libusb leaks memory without them.
* | | | | | | | | 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
|/| | | | | | |
* | | | | | | | ab5b222 (tag: v3.6.1) 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
|\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ bae0815 Merge pull request #505 from kanoi/master
| |\ \ \ \ \ \ \ \
| | * | | | | | | | 108e737 usbutils - make all libusb_error_name messages the same
* | | | | | | | | | 8fdaeb0 Differentiate send from receive in control transfers!
|/ / / / / / / / /
* | | | | | | | | a089cac (tag: v3.6.0) Bump version to 3.6.0
* | | | | | | | | 1016616 Further update NEWS
* | | | | | | | | 9e287f9 Merge pull request #499 from someone42/master
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | 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
* | | | | | | | | | f706fef Merge branch 'master' of github.com:ckolivas/cgminer
|\ \ \ \ \ \ \ \ \ \
| | |/ / / / / / / /
| |/| | | | | | | |
| * | | | | | | | | fb32e31 Merge pull request #504 from kanoi/master
| |\ \ \ \ \ \ \ \ \
| | |_|_|_|_|_|_|_|/
| |/| | | | | | | |
| | * | | | | | | | 1452cbf klondike - can only calculate the nonce difference on or after the 2nd nonce
| |/ / / / / / / /
* | | | | | | | | 4b66519 Update NEWS.
|/ / / / / / / /
* | | | | | | | 5c7b9f7 Merge pull request #503 from kanoi/master
|\ \ \ \ \ \ \ \
| * | | | | | | | 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
* | | | | | | | | 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
* | | | | | | | | 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.
* | | | | | | | | 280dc4b Lock mutex before second pthread_cond_wait in usbutils to prevent a race.
|/| | | | | | |
* | | | | | | | 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.
* | | | | | | | 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.
|/| | | | | |
* | | | | | | 3b2630c Merge branch 'master' of github.com:ckolivas/cgminer
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ 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
| | |_|_|_|/
| |/| | | |
* | | | | | 2ca8d85 Convert all usb control transfers to asynchronous communication with our own timeout management as well.
|/ / / / /
* | | | | b537976 Make pthread conditional timeouts handle all bulk usb transfer timeouts performing libusb_cancel_transfer, disabling timeouts within libusb itself.
|/ / / /
* | | | 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
| | * | | | 5c51780 Icarus CMR2 detect FPGA setup
| * | | | | 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 (origin/async) 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.
| | |_|_|/
| |/| | |
| * | | | 2d1ba75 Prevent overflows in us_tdiff and ms_tdiff.
| | |_|/
| |/| |
| * | | 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.
| |/ /
| * | 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
| |/ /
| * | be9a4cf Merge branch 'master' of github.com:ckolivas/cgminer
| |\ \
| | * | 064c0dd Display stats regarding locking delays in API.
| | |/
| * | 3eece61 Get statistics on how long usb reads and writes wait on the devlock.
* | 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.
* 87ddfcc Disable bitfury device thread on it disappearing.
* d1c9583 (tag: v3.5.0) 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.
| * ff90e6a usbinfo.devlock is only ever write locked so convert it to a mutex
* | 5f10ac8 Merge branch 'master' of github.com:ckolivas/cgminer
| * | 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
* | 14887ba usbinfo.devlock is only ever write locked so convert it to a mutex
* 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
| * 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.
* | 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.
* 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
| * f947674 icarus ensure all cmr interfaces are initialised properly
| * 9b9dde1 usbutils - fix USBDEBUG warnings
| * 61c2ac5 usbutils - usb_bulk_transfer fix the buf/data fix
* | 7179705 There is no point setting the BF1 preferred packet size to the maximum since it will do so automatically.
* | 8d13370 Remove unnecessary steps in communicating with BF1 and just use USB interface 1.
* | 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
| * d8518f4 usbutils - bulk transfer copy test fix
* | 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.
* | 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
| | * b932fc0 usbutils - which_intinfo not requried
| | * 36d8653 usbutils - interfaces must all be on one handle - ep implies the interface
| | * c4b685c avalon stats use exact type
* | 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.
| * | 39c52b1 Use the test_nonce function within submit_nonce and store the uint32 corresponding to hash2 37 for further use.
| * | 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 (fixed in c4b685c)
* b1a3b01 pool_active uninitialised_var rolltime
* 48f5ff3 Use macro expansion to only need to define usb enums and commands in one place.
* 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
| * 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
| * 00c2c33 usbutils kernel_detach should use the interface number
| * 24858de usbutils - allow the driver to change which_intinfo
| * 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)
* a6f8949 Merge pull request #494 from xiangfu/master
| * 824fd8f Fix the api-example.c compile under Linux
* | 466d3be Provide a --disable-libcurl config option to build support for stratum mining only.
* 48681dd (cgminer) 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.
* 566a80f Cast -1 to (char) to cope with different default char types on ARM.
* 891c279 (tag: v3.4.3) 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 (origin/quota) 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. buggy, doesn't handle stratum failures
* | 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. NOTE: Adds applog to select_pool - is this lock-safe???
* | 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 (origin/proxy) Add more debugging messages when negotiating with proxies for stratum.
| * a589de5 Test specifically for socks5h in socks support for stratum.
| * 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.
* | 4306aa7 Merge branches 'master' and 'master' of github.com:ckolivas/cgminer
* 9282054 Merge pull request #466 from mibe/master
| * 1c7ef61 (origin-pull/466/head) Fixed typos
* 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 (tag: v3.4.2) Bump version to 3.4.2
* 06885f7 Update NEWS.
* b445f9c Merge branch 'master' of github.com:ckolivas/cgminer
| * 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
* | 5bf9856 take_queued_work_bymidstate should use a write lock.
* 4b3fe8f (tag: v3.4.1) 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. - lolwut? adds memory leaks and fixes nothing?
* 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
| * 10a1de9 Merge pull request #487 from kanoi/master
| | * a6e44cb ICA optional limit timing with short=N or long=N
* | | 33ae5ab Use an internal buffer in _usb_transfer_read in case the read is larger than the buffer passed to it.
* | 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
| * 59a1ed6 miner.php fix missing global
* | 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.
* ab91708 Only count submitted nonces as diff1shares if they're valid. (breaks RPC compat)
* 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 (tag: v3.4.0) 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 (origin/newsha2) 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
| | * 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
* | 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.
* 1bb6dd4 Merge branch 'master' of github.com:ckolivas/cgminer
| * f383791 Merge pull request #476 from kanoi/master
| | * 356fcb1 BTB allow up to 1400mV as per firmware limits
| | * 51aaf81 avalon for timeout allow d='calculate it' and fix uninitialised
* | | f3f939d Do not poll in avalon_get_results without sleeping if we have finished parsing a full result.
* | 61cb05a Add c to ambient temperature display for avalon driver.
* 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 (tag: v3.3.4) 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 (tag: v3.3.3) 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. NOTE: partially reverted by e95ad04
* 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 (tag: v3.3.2) 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. NOTE: fixup in 3e84a19
* 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
| * dc4ca0d (origin-pull/467/head) using more concise description
| * 782206c using usb_ident
| * b8cdaea forgot a return
| * b0f4d55 changes to Avalon driver for BitBurner boards
* | fdac13c Update ASIC README.
* | afe2851 Merge pull request #468 from lano1106/master
| * c31ff57 (origin-pull/468/head) remove unnecessary memcpy
* bda1e33 ASIC-README refer AMU to FPGA-README
* dbac7f5 Revert "Sleep after sending icarus work to emulate working at 115200 baud."
* 1878029 Merge pull request #465 from kanoi/master
| * 369a454 (origin-pull/465/head) 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 (origin-pull/464/head) 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 (origin-pull/463/head) 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 (origin-pull/462/head) 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
| * c8a647e MMQ turn on cps delays
| * e8bbb49 bflsc x-link header different to documentation
| * 9ecef18 usbutils/icarus include more locking to usbdev access
| * 5676758 Icarus turn on cps delays by default
| * 1f4b99d usbutils cps correct time measurement
| * fc89f17 usbutils add delay API stats
| * 527c6ee usbutils optional cps IO control - but not enabled
| * 54ec397 FPGA-README update the doc message to match the changed code message
* 3454759 Support all avalon frequencies on the command line.
* 862c88e Move to slightly more relaxed timeouts for avalon.
* 18f9112 Reset the other auto counters in avalon when idling a device.
* 9f15a08 (tag: v3.3.1) 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.
* 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.
* 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 (tag: v3.3.0) 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
| * f2bbfee bflsc - handle xlink timeouts by having generic IO functions
* | f591152 Demote bflsc hw error messages to verbose logging only.
* 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
| * 45fda13 undo icarus show errno, put it as debug in ubsutils
| * 0df870b icarus add errno to rerr and werr
* | c64d95f Support new overclocking speeds for avalon: 325, 350 and 375
* 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
| * 4384fe0 Fixed Commands with No params
| * 8dde833 Odd Issues
| * eca6ca8 Fixed Python Example
| * b566748 Added Python Api Example
| * 314798f Added Python Api Example
* | 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
| * 8f18d4c bflsc driver support for v2 firmware
* e0c4d35 Multiplier fail for microseconds vs milliseconds when updating hashmeter in hash_queued_work.
* e573e6a Merge branch 'master' of github.com:ckolivas/cgminer
| * 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
* | 6eb7f62 Only make threads report in/out across the actual driver code and update their status on reporting out as well as in.
* 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 (tag: v3.2.2) 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
| | * d2cb412 record and report USB pipe errors via API stats
* | | 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.
* 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 <LF>
| * 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
| * c38a225 ignore file that is generated on Macs
| * 16587dd compile unix code on Mac OS X fixes not finding the config file in $HOME
* | 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.
* 67f89ef Merge pull request #443 from kanoi/master
| * 84ffcbc (origin-pull/443/head) 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 (tag: v3.2.1) 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
| * a16f51f correct bflsc BFLSC_BUFSIZ max calculation
| * 4d749ff restore max code - since timeout is unsigned
| * cab2dd9 compile warning - remove unused max
| * 1c64f3b usb set FTDI latency higher to minimise status bytes
* | 5e94a97 Set the avalon read transfer latency to avoid sleeping when no data is returned after very short latency settings.
* | dd57887 Fix build for !curses
* 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
| * e4ab2e0 Merge pull request #434 from kanoi/master
| | * fe802b6 basic copyright statement in API.java
| | * 9b756d7 devs display - show ZOMBIEs after all others
* | | 727184d Change the --device parameter parsing and configuration to use ranges and comma separated values.
* | 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 (tag: v3.2.0) 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 (origin/usbdev) 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
| | * 74d7f55 usbutils automatically track IO errors
| | * 3f4b717 usbutils allow a short wait for resources to be released
| | * 5869539 correct semaphore timeout comment
| * | 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.
| * 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
| | * 05cbbd9 CMR handle baud options
| | * df8566a usb/ica add more (incomplete) CMR settings
| | * 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
| * | 772b354 (origin/avalon-usbdev) Remove unneeded function and checks in avalon write code.
| * | 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.
| * | 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.
| * | 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
| |\ \
| | |/
| | * 6c95210 usbutils ensure it compiles without stats
| | * aa9bf2c usbutils include transfer mode in usbstats
| | * b1b9305 usbutils handle bulk_transfer partial writes
| * | 8595f3b (origin/avalon-serialdev) 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.
| * | 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.
| * | 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 (origin/icarus-dev) 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
| * 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
| | * e43f265 usbutils name latency correctly
| * | bbb7970 Check for *pth dereference on pthread_join
| * 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.
| * 894a3d6 Properly pthread_join miner threads on shutdown.
| * 69f3635 Merge branch 'master' into icarus-dev
| * 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
| | * 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
| * 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
* 000c01d Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays.
* ecd03ce Properly pthread_join miner threads on shutdown.
* 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().
* f227515 Set pool->probed to true after an attempt to resolve the url via stratum code.
* e128f90 Merge branch 'master' of github.com:ckolivas/cgminer
| * cea8826 Merge pull request #431 from kanoi/master
| | * 6493554 usb_applog separate amt display
* | | 0a15beb libusb_control_transfer 16 bit words are endian specific.
* | 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 (tag: v3.1.1) 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 <email@example.com>
* 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'
| * 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.
* | 6819658 Make raw sockets compile on windows
* | 43bcccf Recheck select succeeds on EWOULDBLOCK for stratum.
* 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 (tag: v3.1.0, origin/bflsc) 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
| * 4ef01a0 Count various failures as hw errors on bflsc.
* | 95f467b usbutils don't even attempt to detect a device we already have
* 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 (tag: v3.0.0) 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'
| * f4b2790 Remove all CPU mining code.
* | 1253c97 Update NEWS for 2.11.4 release.
* 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'
* | 5315838 (origin/avalon-dev) 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.
| * 50cf259 compile avalon driver on win32 and win64
* 2dea047 Merge branch 'master' of github.com:ckolivas/cgminer
| * 2029d82 Merge pull request #423 from gzm55/master
| | * 473865d Merge remote-tracking branch 'upstream/master'
| | |\
| | * \ 57fcd07 Merge remote-tracking branch 'upstream/master'
| | |\ \
| | * | | ac053ed build out of source dir
* | | | | a6250fb Rename scrypt regenhash function for consistency.
|/ / / /
* | | | daea9c9 Add new best share info to verbose logging.
* | | 8bb52b4 Merge branch 'master' of github.com:ckolivas/cgminer
|\ \ \
| * | | 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 (origin/avalon-dev) Merge branch 'master' into avalon-dev
| |\ \ \
| | * | | 1c2621a Add MAC FAQ.
| | * | | 65e7dcc Add more FAQ details.
| * | | | 8e73c47 Further driver FAQs.
| * | | | 9c48d68 Merge branch 'master' into avalon-dev
| |\ \ \ \
| | | |_|/
| | |/| |
| * | | | f6284f7 Merge branch 'master' into avalon-dev
| |\ \ \ \
| * | | | | 0e48657 More FAQs.
* | | | | | 1a7fc4e Add notice for when network diff is changed.
| |_|_|/ /
|/| | | |
* | | | | 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.
| |_|/ /
|/| | |
* | | | d41d210 Set device_diff for queued work or there will be no diff1 share count.
| |/ /
* | | dbab07a Only reset an avalon device with no results when there are no results consecutively.
* | | 245fbe1 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
| * \ c17a175 Merge branches 'avalon-dev' and 'master' of github.com:ckolivas/cgminer
| |\ \
| | * \ 64ec066 Merge pull request #417 from kanoi/bflsc
| | |\ \
| | | |/
| | |/|
| | | * b7b5b9d usbutils more stats for bflsc
| | | * 8959f8d cgminer.c -S help to only say Icarus
| | * 7231f7f Fix warning on 32bit.
| | * c1ec55a Avoid curl_easy_cleanup on old curl versions in setup_stratum_curl as well.
| | * 220eb85 Rationalise and simplify the share diff and block solve detection to a common site.
| | * d86f7b7 Fix warning with no curses built in.
| | * 23c0241 Bump version to 2.11.4
| | * 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.
| | * c6ca12f Differentiate socket closed from socket error in recv_line.
* | | 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.
* | | 0eb81d6 Merge pull request #422 from BitSyncom/avalon
|\ \ \
| * | | 874b25f avalon: if result_wrong >= get_work_count jump out the read loop
* | | | 6400088 Fix warning on 32bit.
| |/ /
* | | 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.
* | 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.
* | 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.
* | 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.
* | 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.
* | 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.
* | 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
| * b81ef94 Merge pull request #415 from kanoi/bflsc
| | * ed480de LTC text typo
* | | 6cdbf6e Remove references to CPU mining from README.
* | 5f56734 Merge branch 'master' of github.com:ckolivas/cgminer
| * \ 0d8c3fe Merge pull request #412 from BitSyncom/avalon-sync
| |\ \
| | * | 9619d04 api-example.c: add a -o option for output pure message
| | /
| * | 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
* | | b3e734e Show share hash as little endian as needed.
* | ea4cf57 Merge pull request #413 from kanoi/bflsc
| * 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
* e95813c Make hashmeter frequency for hash_queued_work match sole_work.
* 86acbdd (origin/master, origin/HEAD, cgminer) 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)
* | b8f4fa4 Update README for x970 memdiff values.
* | 11dd8ac Update README to match changes to display.
* 6fab6c6 Merge pull request #409 from kanoi/bflsc
| * 956d444 (origin-pull/409/head, kanoi/bflsc) 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 (origin/2.11, avalon/master) 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 (tag: v2.11.3, kanoi/master, kanoi/main) 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 (origin-pull/408/head) 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
| * b29828e (origin-pull/407/head) usbutils allow read termination match to be a string
| * c63ae9d usbutils spelling :)
* | 13e19de Calculate work utility for devices that support target diffs of greater than 1, and update scrypt code to use it.
* 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
| * 2ce62f3 (origin-pull/406/head) 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
* | 8d27ecf Merge branch 'master' of github.com:ckolivas/cgminer
| * e5a5be0 Merge pull request #405 from kanoi/bflsc
| | * 26341bb (origin-pull/405/head) 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
* | 5a2c2a7 Update the hashmeter once per second but only display the extra logs every opt_log_inteval.
* e9a9a51 Merge pull request #404 from kanoi/bflsc
| * 1c04d14 (origin-pull/404/head) cgminer -n to include a USB device list
| * 154e4f4 usbutils allow call of usb_all() from other code
* | 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
| * \ ffc8681 Merge pull request #403 from kanoi/bflsc
| |\ \
| | |/
| | * 6d629d6 (origin-pull/403/head) 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
* | | 195ea63 Sacrifice the ram of curl handles in stratum disconnects when we have built with old libcurl to avoid crashes.
* | 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
| |\ \
| | |/
| | * 3aa6fd7 (origin-pull/402/head) Update README
* | 18fc2df Implement cg_lock write biased rwlocks.
* 590a13d (tag: v2.11.2) 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
| * 15b4870 Merge pull request #401 from kanoi/bflsc
| | * 30e7040 (origin-pull/401/head) usb_cleanup() without locking
* | | 5412323 Fix memory leak with share submission on GPU work structures as discovered by twobitcoins.
* | | eb4030f Update NEWS.
* | 8ae743f Merge pull request #400 from kanoi/bflsc
| * f24fab3 (origin-pull/400/head) Show pool number in switch message
* | 66c567a Use curl_easy_cleanup to close any open stratum sockets.
* 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
| * efb2403 (origin-pull/399/head) API no longer ignore send() status
| * 1eca047 API make the main socket non-static
* | 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.
* b45a070 (tag: v2.11.1) 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 (origin-pull/398/head) API-README update for ASIC changes
| * 0eafc8b API add 'Network Difficulty' to 'coin'
| * 540f3e8 Setup BFLSC support
| * 419083a API use control_lock when switching pools
* | e315179 Implement client.show_message support for stratum.
* | 0be6e9e Make sure to retry only once with noresume support for stratum.
* | f4892a4 Merge pull request #397 from kanoi/bflsc
| * cb49f3c (origin-pull/397/head) usbutils.c copy full size to 'Last Command'
* | 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.
* | 82fce46 Merge pull request #395 from kanoi/bflsc
| * 2f6660e (origin-pull/395/head) 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
| * 120e9a0 (origin-pull/394/head) 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
* | c45096d Merge pull request #381 from denis2342/hw_errors
| * | f530615 (origin-pull/381/head, denis2342/hw_errors) 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
* | 59261a8 Merge pull request #393 from kanoi/main
| * cc3869e (origin-pull/393/head) api -> drv
* | 0601f36 Merge pull request #392 from kanoi/main
| * 00489f4 (origin-pull/392/head) ZTX bug set missing drv_id
| * 47c6f91 (origin-pull/391/head) 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 (origin-pull/390/head) FAQ /dev/ttyUSB* now only for Icarus
* 0d64737 (tag: v2.11.0) Bump version to 2.11.0
* 4639aad Update NEWS.
* 357294a Merge branch 'usb-dev'
| * 52995e2 (origin/usb-dev) Merge pull request #389 from kanoi/bflsc
| | * f56a0fb (origin-pull/389/head) API always report failed send() replies
| | * 42a01e7 Update diff stale: total and pools when stratum throws away shares
| | * 9136bfc (origin/queued_work) Merge pull request #388 from kanoi/bflsc
| | |\
| | | * 3515b6e (origin-pull/388/head) BFL stop 1st init command if no device
| | | * add1dfb Merge remote-tracking branch 'conman/queued_work' into test
| | | |\
| | | |/
| | |/|
| | | * 4266245 Merge remote-tracking branch 'conman/master' into bflsc
| * | | b2b0d10 Merge branch 'master' into usb-dev
| |\ \ \
| * \ \ \ 5abcf06 Merge branch 'master' into usb-dev
| |\ \ \ \
| * \ \ \ \ 6bf7962 Merge branch 'master' into usb-dev
| |\ \ \ \ \
| | |_|_|/ /
| |/| | | |
| * | | | | 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
| * | | | | | 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.
| * | | | | 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
| * | | | | 040cf6d Merge pull request #385 from kanoi/hotplug
| |\ \ \ \ \
| | | |_|_|/
| | |/| | |
| | * | | | 00be617 (origin-pull/385/head) API.java allow partial reads
| * | | | | 48c8413 Merge pull request #384 from kanoi/hotplug
| |\ \ \ \ \
| | |/ / / /
| | * | | | c432c65 (origin-pull/384/head, kanoi/hotplug) debug_cb buffer type warning
| * | | | | 77d1496 Merge branch 'usb-dev' of github.com:ckolivas/cgminer into usb-dev
| |\ \ \ \ \
| | * \ \ \ \ a691cc5 Merge pull request #383 from kanoi/hotplug
| | |\ \ \ \ \
| | | |/ / / /
| | | * | | | b996815 (origin-pull/383/head) MMQ rewrite the last of the old scanhash loop and drastically reduce CPU
| | |/ / / /
| * | | | | 20b5ebb hash_sole_work can be static
| |/ / / /
| * | | | c28e223 Merge branch 'master' into usb-dev
| * | | | 61a3e1b Merge pull request #382 from kanoi/hotplug
| |\ \ \ \
| | * | | | 5d98685 (origin-pull/382/head) 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
| * | | | | 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.
| |/ / / /
| * | | | 3c91b29 Merge branch 'master' into usb-dev
| * | | | 03dff61 Merge branch 'master' into usb-dev
| * | | | 5c1f3b3 Merge branch 'master' into usb-dev
| * | | | 0244998 Merge branch 'master' into usb-dev
| * | | | 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 (origin-pull/380/head) 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
| * | | | 1ce817d (kanoi/icarus, kanoi/bfl, kanoi/api) Merge branch 'api'
| * | | | e3db37a Merge branch 'bfl'
| * | | | 44ec755 (origin-pull/377/head) BFL USB correct usb stats id
| * | | | 211b0f4 BFL USB longer timeout
| * | | | 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'
| * | | | 040ec58 BFL USB build changes
| * | | | cbf6c71 BFL libusb driver
| / / /
* | | | 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
* | | 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.
* | 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.
* 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.
* 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.