Kano
e931b72753
API V1.23 - new pgaset command, to be used soon
2012-12-19 10:43:27 +11:00
Kano
072909a12f
MMQ count work check timeout failures
2012-12-17 13:21:24 +11:00
Kano
38ff2a7df9
MMQ allow partial work replies and count them
2012-12-17 13:20:10 +11:00
Con Kolivas
cada0d3195
Check for EWOULDBLOCK when supported in send and recv as well.
2012-12-14 21:36:42 +11:00
Con Kolivas
fd1bd9e7c3
Merge pull request #365 from kanoi/api
...
Pool store data transfer stats + API stats - display pool byte transfer stats
2012-12-12 15:29:51 -08:00
Kano
138465bf0c
Pool store data transfer stats
2012-12-13 00:56:10 +11:00
Kano
f3f8b4fdb4
MMQ handle over temp differently and hash longer
2012-12-12 17:01:28 +11:00
Con Kolivas
b28055517e
Implement a completely new getwork scheduler.
...
Stage all work from the one thread, making it possible to serialise all requests minimising the number of getworks requested or local work generated.
Use a pthread conditional to wake up the thread whenever work is removed to generate enough work to stay above the watermark set by opt_queue.
Remove all remnants of the old queueing mechanism, deleting the now defunct queued count.
2012-12-08 21:13:04 +11:00
Con Kolivas
c99636f21b
Begin tearing down the old workio command queues by removing submit commands from there and submit them asynchronously via their own threads.
2012-12-07 13:21:46 +11:00
Con Kolivas
8ebf4f6ecd
Style changes.
2012-12-04 21:52:41 +11:00
Kano
e55fe73f9a
API add Best Share to summary
2012-12-03 23:08:11 +11:00
Kano
a67e96c3e4
API lock access to some summary statistics (and copy them)
2012-12-03 11:36:15 +11:00
Kano
152e7e36a2
mmq usb v0.4 + api usb stats
2012-12-02 21:48:37 +11:00
Con Kolivas
3ab03e8ff9
Merge pull request #334 from denis2342/pkgconfig
...
third of version of pkg-config changes
2012-12-02 01:41:03 -08:00
Con Kolivas
33c9faae11
Pass ostate values around in scrypt to be able to extract full hashes if needed later on.
2012-12-01 21:47:27 +11:00
Peter Stuge
318ef85a9f
Require pkg-config to find libusb-1.0, and fix libusb.h #includes
2012-11-25 05:42:42 +01:00
Con Kolivas
8bc60506c5
Revert "Find libusb-1.0 with pkg-config except on mingw, and fix #include path"
...
This reverts commit ce72dbea7d
.
2012-11-25 09:47:26 +11:00
nelisky
c93e5e95cd
openwrt needs roundl
2012-11-24 13:11:46 -08:00
Con Kolivas
217be6ed98
Do away with the flaky free_work api in the driver code which would often lose the work data in opencl and simply flush it before exiting the opencl scanhash.
2012-11-25 00:37:46 +11:00
Con Kolivas
2d35ac2567
Track all dynamically allocated memory within the work struct by copying work structs in a common place, creating freshly allocated heap ram for all arrays within the copied struct.
...
Clear all work structs from the same place to ensure memory does not leak from arrays within the struct.
Convert the gbt coinbase and stratum strings within the work struct to heap ram.
This will allow arbitrary lengths without an upper limit for the strings, preventing the overflows that happen with GBT.
2012-11-24 10:47:20 +11:00
Peter Stuge
ce72dbea7d
Find libusb-1.0 with pkg-config except on mingw, and fix #include path
2012-11-21 19:56:05 +01:00
Con Kolivas
e55ef04df6
Revert "Find libusb-1.0 using pkg-config and correct the libusb.h #include path"
...
This reverts commit 171c3d0c72
.
Rollback breakage.
2012-11-18 23:44:08 +11:00
Con Kolivas
9ad02fe303
Support workid for block submission on GBT pools that use it.
2012-11-18 21:48:44 +11:00
Peter Stuge
171c3d0c72
Find libusb-1.0 using pkg-config and correct the libusb.h #include path
2012-11-16 00:26:55 +01:00
Con Kolivas
b3864d1a94
Support for fractional diffs and the classic just-below-1 share all FFs diff target.
2012-11-15 09:18:58 +11:00
Con Kolivas
598ee76d37
Hash1 is only used by the deprecated cpu mining code and never changes so remove it from the work struct and bypass needing to process the value for all other mining.
2012-11-11 09:51:37 +11:00
Con Kolivas
6893c0be43
Get a work item once per second for all getwork and GBT pools to test they're still alive and to maintain a current GBT template.
2012-11-07 23:28:49 +11:00
Con Kolivas
a8e1ebb11c
Add endian swap defines for where missing.
2012-11-06 12:01:49 +11:00
Con Kolivas
10ea5fbf97
Use existing pool submit_old bool from gbt data.
2012-11-05 16:57:48 +11:00
Con Kolivas
f71b423080
Retrieve a new block template if more than 30 seconds has elapsed since the last one to keep the data current and test the pool is still alive.
2012-11-05 16:48:19 +11:00
Con Kolivas
85f400bf80
Correct last few components of GBT block generation courtesy of Luke-jr.
2012-11-05 15:57:47 +11:00
Con Kolivas
a4e78be1ed
Flip all 80 bytes in the flip function which was wrongly named flip256 for its purpose.
2012-11-05 14:56:57 +11:00
Con Kolivas
0ba5f0f94b
Use a standard function for flipping bytes.
2012-11-05 14:02:43 +11:00
Con Kolivas
88b6f7924c
Make gbt_coinbase large enough for submissions, swap bytes correctly to make a header from GBT and encode the number of transactions in share submission.
2012-11-04 18:01:09 +11:00
Con Kolivas
889ed23934
Store the fixed size entries as static variables in GBT in binary form, byteswapping as is required.
2012-11-04 15:28:13 +11:00
Con Kolivas
6b34faf83c
Construct block for submission when using GBT.
2012-11-04 10:24:09 +11:00
Con Kolivas
c5c5fb8273
Store all the transaction hashes in pool->txn_hashes instead of separating txn0 and correct generation of merkle root, fixing memory overwrites.
2012-11-04 08:35:50 +11:00
Con Kolivas
875ca0fcc6
Create extra work fields when generating GBT work.
2012-11-04 01:07:01 +11:00
Con Kolivas
cbc246eace
Generate the merkle root for gbt work generation.
2012-11-03 19:45:37 +11:00
Con Kolivas
8d0f748246
Create a store of the transactions with GBT in the minimum size form required to generate work items with a varied coinbase.
2012-11-03 13:27:41 +11:00
Con Kolivas
4a72a1574f
Create a function that generates a GBT coinbase from the existing pool variables.
2012-11-01 22:34:08 +11:00
Con Kolivas
813e814f6c
Extract and store the various variables GBT uses when decoding gbt work.
2012-11-01 16:56:54 +11:00
Con Kolivas
d10699d4c3
Add a gbt mutex within the pool struct for protecting the gbt values.
2012-11-01 14:24:55 +11:00
Con Kolivas
8afc1f6512
Convert work decode function to prepare for decoding block templates.
2012-11-01 14:05:25 +11:00
Con Kolivas
1c456d4fb3
Check for GBT support on first probing the pool and convert to using the GBT request as the rpc request for that pool.
2012-11-01 13:53:12 +11:00
Con Kolivas
f4cc59f25f
Make the rpc request used with getwork a pool variable to allow it to be converted to/from gbt requests.
2012-11-01 13:06:34 +11:00
ckolivas
a2d5783509
server and client sockaddr_in are no longer used in struct pool.
2012-10-30 16:45:27 +11:00
Con Kolivas
e575763a80
Avoid redefining macros and align to 4 byte boundaries.
2012-10-22 22:06:00 +11:00
Con Kolivas
17251795c3
Merge pull request #319 from kanoi/mmq
...
MMQ new initialisation (that works) and clocking control
2012-10-17 14:09:15 -07:00
Kano
fc14b2ee07
MMQ new initialisation (that works) and clocking control
2012-10-17 09:56:42 +11:00
Con Kolivas
7adb7a30e6
Display correct share hash and share difficulty with scrypt mining.
2012-10-15 23:10:24 +11:00
Con Kolivas
7450b25e75
Dramatically simplify the dynamic intensity calculation by oversampling many runs through the opencl kernel till we're likely well within the timer resolution on windows.
2012-10-14 12:07:27 +11:00
Con Kolivas
420fdf32d6
Display the actual share diff next to the pool required diff, using a suffix creation function to prevent values of >1000 being shown in their entirety.
2012-10-12 14:17:29 +11:00
Con Kolivas
d15c70f8a8
Fix wrong byteswap macro being used on mingw32 which was breaking target generation on stratum.
2012-10-12 11:30:35 +11:00
Con Kolivas
a977fa4766
Fix lack of htobe64 on mingw32.
2012-10-11 20:53:56 +11:00
Con Kolivas
4fbc570fa4
Reinstate the history on dynamic intensity mode to damp fluctuations in intensity but use an upper limit on how much the value can increase at any time to cope with rare overflows.
2012-10-11 20:30:47 +11:00
Con Kolivas
0a90207111
Merge branch 'master' into stratum
2012-10-07 13:22:17 +11:00
Con Kolivas
aa35fbcc9a
Fix sign warning in ocl.c
2012-10-07 10:21:20 +11:00
Con Kolivas
40b747bae6
Put scrypt warning on separate line to avoid 0 being shown on windows as bufsize.
2012-10-07 10:08:45 +11:00
Con Kolivas
a8d693029a
Move stratum sockets to curl infrastructure with locking around send+recv to begin support for proxies and ssl.
2012-10-05 12:37:29 +10:00
Con Kolivas
deb0a9b644
Windows doesn't work with MSG_PEEK on recv so move to a continuously updating buffer for incoming messages.
2012-10-04 23:18:33 +10:00
Con Kolivas
c113534feb
Begin support for mingw stratum build.
...
Conflicts:
configure.ac
2012-10-04 17:52:35 +10:00
Con Kolivas
2fae906440
Don't try to parse unneeded parameters in response to mining.subscribe.
2012-10-03 21:10:30 +10:00
Con Kolivas
284b786da7
Check the stratum pool difference has not changed compared to the work diff when testing whether a share meets the target or not and retarget if necessary.
2012-10-03 11:18:08 +10:00
Con Kolivas
fdaabf59c6
Make target on stratum scale to any size by clearing sequential bits according to diff.
2012-10-03 00:35:08 +10:00
Con Kolivas
2941febd05
Store a sockaddr url of the stripped url used in determining sockaddr to not confuse it with the stratum url and fix build warnings.
2012-10-02 00:00:55 +10:00
Con Kolivas
b97a33a58a
Use statically allocated stratum strings in struct work to cope with the inability to safely deallocate dynamically allocated ram.
2012-10-01 14:44:44 +10:00
Con Kolivas
7415d7aaa0
Begin implementing a hash database of submissions and attempt sending results.
2012-09-29 16:10:13 +10:00
Con Kolivas
aa93fa336c
Copy parameters from stratum work required for share submission.
2012-09-29 15:02:23 +10:00
Con Kolivas
ac47f7f3a6
Store and display stripped url in its own variable.
2012-09-29 14:16:16 +10:00
Con Kolivas
3db6fb4fac
Create machinery to divert work requests to stratum.
2012-09-29 13:07:00 +10:00
Con Kolivas
1f6fe55152
Generate the coinbase for generation of stratum based work.
2012-09-29 02:16:22 +10:00
Con Kolivas
1f64491f62
The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum.
2012-09-29 01:48:01 +10:00
Con Kolivas
1221a80d41
Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce.
2012-09-29 01:03:23 +10:00
Con Kolivas
56255a0c86
Create a stratum thread per pool that has stratum that monitors the socket and serves received data.
2012-09-28 18:01:33 +10:00
Con Kolivas
9d4a44e88e
Create helper functions for duplicating json strings to avoid keeping json references in use.
2012-09-28 09:57:42 +10:00
Con Kolivas
a6f1a62220
Create helper functions for checking when a socket is ready to read on and receive a single line at a time.
...
Begin stratum authorisation process.
2012-09-28 04:35:16 +10:00
Con Kolivas
64df34cd4e
Create a stratum work structure to store current work variables.
2012-09-27 13:26:09 +10:00
Con Kolivas
f6f43500c0
Detect stratum in common place when adding urls, and use a bool to tell us when it's active.
2012-09-27 09:06:56 +10:00
Con Kolivas
e3f1b02e9a
Extract and store various parameters on stratum init confirming successful mining notify.
2012-09-26 16:49:51 +10:00
Con Kolivas
58873c1dfa
Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now.
2012-09-25 20:23:59 +10:00
Con Kolivas
144a016097
Add data structures to pool struct for socket communications.
2012-09-24 16:50:04 +10:00
Kano
7c32562d80
API stats add some pool getwork difficulty stats
2012-09-24 11:34:50 +10:00
Con Kolivas
57a73dce34
Test for sequential getwork failures on a pool that might actually be up but failing to deliver work as we may end up hammering it repeatedly by mistake.
2012-09-24 08:30:07 +10:00
Con Kolivas
3243b91e2d
Merge pull request #310 from kanoi/master
...
API debug, API-README, API Correct diff1 name, Device diff1, API diff1 etc.
2012-09-20 23:23:15 -07:00
Con Kolivas
618999026f
As we average gpu time over 5 work intervals for dynamic GPU intensity, there is no need to maintain a rolling average and it avoids the potential long term corruption of a single overflow value.
2012-09-21 16:10:34 +10:00
Kano
a6bf276f6b
API - Add last share difficulty for devices and pool
2012-09-19 01:14:43 +10:00
Kano
89b6989fb3
Store and report Accepted,Rejected,Stale difficulty in the summary and API
2012-09-19 00:54:55 +10:00
Kano
923b9e0d86
Calculate work difficulty for each getwork and display with WorkTime debug
2012-09-18 11:19:57 +10:00
Kano
796f3906c1
WorkTime - multiple nonce per work and identify the work source
2012-09-16 07:57:43 +10:00
Kano
bd3c98aaaf
Optional WorkTime details with each Accepted/Rejected work item
2012-09-15 14:04:57 +10:00
Kano
99f0607fb2
API add display of and setting queue,scantime,expiry
2012-09-12 23:26:43 +10:00
Kano
cef9731fbc
CURL support for individual proxy per pool and all proxy types
2012-09-12 07:44:00 +10:00
Kano
307d8da034
HW: error counter auto for all devices - ztex code not fixed
2012-09-04 15:57:11 +10:00
Kano
9487ba05cd
API/BFL identify a device - currently only BFL to flash the led
2012-09-04 12:52:11 +10:00
Kano
7a2407f15c
BFL add throttle count to internal stats + API
2012-09-04 02:26:17 +10:00
Kano
4023872b76
count device diff1 shares
2012-09-01 23:51:51 +10:00
Kano
a178039a65
miner.h max_hashes -> int64_t
2012-08-30 23:22:37 +10:00
Con Kolivas
3acc064be3
Merge pull request #306 from kanoi/api
...
Pools: add RollTime info to API 'stats' and 'Stats' button in miner.php (to display it)
2012-08-23 07:50:28 -07:00
Con Kolivas
618b3e8b11
Track queued and staged per pool once again for future use.
2012-08-23 23:50:38 +10:00