Noel Maersk
50066cf3c7
misc: Replace all remaining instances of 'cgminer' with 'sgminer'.
...
sed again.
2014-01-15 16:36:48 +02:00
Con Kolivas
350fe7f135
Minimise risk of nonce2 overflow with small nonce2 lengths by always encoding the work little endian, and increasing the maximum size of nonce2 to 8 bytes.
2014-01-15 14:31:28 +02:00
Con Kolivas
05d69bf75c
Provide a function to discard queued work based on age. (NOTE: may be unused)
2014-01-15 13:25:30 +02:00
Con Kolivas
9ed6c3b1b5
Provide a function for setting the work ntime.
2014-01-15 12:49:48 +02:00
Noel Maersk
e4680ab627
core: allow changing TCP keepalive packet idle time using tcp-keepalive
command-line option or config-file option.
...
This may be useful in certain scenarios. However, server load from keepalive
is increased 6-fold if code is hard-changed from 30 to 5. So, provide it as
an option instead, and use the previous value as a default (30).
Explanation from
015c064396
Kevin's middlecoin fix, CURL TCP keepalive constants lowered:
CURLOPT_TCP_KEEPIDLE from 45 to 5 and CURLOPT_TCP_KEEPINTVL from 30 to
5. Before it'd trigger a keepalive packet after 45 seconds of connection
idle time and then again every 30 seconds. Now it triggers a keepalive
packet after 5 seconds of connection idle time and then again every 5
seconds.
It makes the client more resilient against coin switching pools or just
pools with connection issues in general. It will however add a tiny bit
pressure to the pool server; but a TCP keepalive probe is only about
60-80 bytes, so I don't think it is an issue.
2014-01-12 19:45:31 +02:00
Noel Maersk
744e819117
Remove last references to opt_nogpu.
2014-01-11 20:51:54 +02:00
Benjamin Herrenschmidt
f44d2fc57f
adl: Fix query of default fan speed
...
This fixes a crash of the AMD driver when quitting as we were trying
to apply what basically is an uninitialized value.
Adds additional code to cope with a failure to retrieve just in case
we hit another problem like that in the future.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-12-22 12:58:34 +11:00
Noel Maersk
199cb10e18
HAVE_OPENCL is mandatory, remove checks form code an build system.
2013-12-05 20:49:18 +02:00
Noel Maersk
16730ed90e
Reinstitute MAX_INTENSITY=42, but this time with a note in SCRYPT-README.
2013-12-03 21:14:25 +02:00
Noel Maersk
d062a6086d
Revert MAX_INTENSITY increase.
...
Tested with new Catalyst drivers and AMD APP SDK. This is silly and breaks
things.
2013-12-03 20:51:08 +02:00
Noel Maersk
533f16aeb1
Increase MAX_INTENSITY to 42.
...
Untested, since I do not have the hardware that supports such high a setting.
Requested by yellowz06 on Litecoin Forum:
https://forum.litecoin.net/index.php/topic,6925.msg54952.html#msg54952
2013-11-27 14:08:27 +02:00
Noel Maersk
664fc33b0c
Remove code for Bitcoin GPU kernel execution.
2013-11-24 22:16:16 +02:00
Noel Maersk
323af83fdb
Remove define-clauses for USE_SCRYPT.
2013-11-24 19:52:14 +02:00
Noel Maersk
95586f72f0
Squash-merge branch dead-end with unnecessary check removals.
2013-11-24 16:18:10 +02:00
Con Kolivas
f4cf0939a2
Add a wr_trylock wrapper for pthread rw lock write trylock.
2013-11-05 08:36:54 +11:00
Con Kolivas
8e1ec8bd43
Store how many work items are worked on per pool.
2013-11-03 00:52:15 +11:00
Con Kolivas
ab1e9404a7
Make each pool store its on reference for what the most current block is and fine tune management of block change in shared pool failover strategies using the information.
2013-11-03 00:47:43 +11:00
Con Kolivas
448b1fae64
Rationalise use of current_hash to a single hex string the length of the previous block and display only the first non zero hex chars of the block in the status window.
2013-11-02 22:25:45 +11:00
Con Kolivas
6e63eebfe1
Add missing endian swap functions for 64bits.
2013-11-02 12:41:20 +11:00
Con Kolivas
759bd39f17
Avoid the extra generation of a byte flipped hash2 in struct work and directly use the LE work hash.
2013-11-02 11:07:44 +11:00
Con Kolivas
61297399de
Provide a copy_work_noffset function for copying a work struct but changing its ntime.
2013-11-01 23:38:59 +11:00
Con Kolivas
ac5b12e1a0
Allow arbitrary diffs to be tested against nonces via a test_nonce_diff function.
2013-10-31 17:15:42 +11:00
Con Kolivas
25d4f16727
Add the ability to add uint8 and uint16 entities to api data.
2013-10-31 16:37:43 +11:00
Con Kolivas
c4542f2b96
Merge branch 'master' into hfa
...
Conflicts:
Makefile.am
api.c
configure.ac
miner.h
2013-10-31 12:29:59 +11:00
Con Kolivas
ac7dc468e2
Use the existing device_data for knc state data.
2013-10-28 14:27:57 +11:00
Vitalii Demianets
53570ae8a0
KnC driver: knc-spi-fpga ASIC driver
...
This driver talks to KnCMiner controller via SPI
Protocol specification is available at
https://github.com/KnCMiner/jupiter-hw-docs/blob/master/fpga_spi.md
2013-10-26 23:58:52 +02:00
Henrik Nordstrom
1e51336f95
Silence warning if MAX/MIN is already defined
2013-10-26 23:58:52 +02:00
Con Kolivas
2d67bb06dc
Merge branch 'master' into hashfast
2013-10-26 16:22:13 +11:00
Con Kolivas
f9d3d008da
Merge pull request #509 from roybadami/master
...
Improvements to support for BitBurner boards
2013-10-25 20:11:24 -07:00
Con Kolivas
f29f612182
Merge branch 'master' into hashfast
2013-10-25 14:35:56 +11:00
Con Kolivas
316e6d61c9
Put an entry into the work struct telling drivers how much they can roll the ntime themselves.
2013-10-25 14:34:05 +11:00
Con Kolivas
d342bcbe81
Provide a mechanism for informing drivers of updated work templates for stratum and gbt mining.
2013-10-25 11:57:27 +11:00
Con Kolivas
5ea6a8eaa2
Merge branch 'master' into hashfast
...
Conflicts:
Makefile.am
2013-10-23 22:45:56 +11:00
Con Kolivas
d2719e312f
Implement a cglock_destroy function.
2013-10-23 20:41:12 +11:00
Con Kolivas
de4ad515e0
Implement a rwlock_destroy function.
2013-10-23 20:41:04 +11:00
Con Kolivas
6bd5139cfc
Implement a mutex_destroy function.
2013-10-23 20:40:52 +11:00
Roy Badami
c69a130dc1
Improvements to support for BitBurner boards
...
--bitburner-fury-options allows avalon-options to be overridden for
BitBurner Fury Boards, facilitating simultanous use of BitBurner XX
and BitBurner Fury boards
More sensible defaults for BitBurner boards, so cgminer should do something
sensible without any command line args
2013-10-19 18:42:20 +01:00
Con Kolivas
f5baf9f57a
Merge branch 'master' into hashfast
...
Conflicts:
usbutils.h
2013-10-18 19:12:13 +11:00
ckolivas
680f014c85
Simplify queued hashtable by storing unqueued work separately in a single pointer.
2013-10-18 14:58:33 +11:00
Kano
c9adb1929c
allow __work_complete() access
2013-10-18 00:54:37 +11:00
Kano
3fc7ff45e4
miner.h allow devices to tv_stamp work
2013-10-18 00:47:07 +11:00
Kano
514b3c424f
API add 'MHS %ds' to 'summary'
2013-10-17 20:24:09 +11:00
Kano
d3d3fc1316
Optional lock tracking and stats via the API
2013-10-17 20:24:02 +11:00
Con Kolivas
9b5c534911
Merge branch 'master' into hashfast
...
Conflicts:
api.c
configure.ac
miner.h
usbutils.c
usbutils.h
2013-10-13 16:41:53 +11:00
Con Kolivas
d3c215fda6
Provide a lower level __bin2hex function that does not allocate memory itself.
2013-10-12 09:53:21 +11:00
Con Kolivas
835ad82441
Convert the bitfury driver to use the hash_driver_work version of hash_work.
2013-10-12 09:32:07 +11:00
Con Kolivas
58008a3742
Add a hash_driver_work function to allow for drivers that wish to do their own work queueing and management.
2013-10-12 09:05:58 +11:00
Con Kolivas
b537976036
Make pthread conditional timeouts handle all bulk usb transfer timeouts performing libusb_cancel_transfer, disabling timeouts within libusb itself.
2013-10-11 23:06:40 +11:00
Con Kolivas
ef8efd6c48
Minimise the time between dropping the read devlock and grabbing the write devlock to avoid tons of logging spam in the interim.
2013-10-08 00:01:26 +11:00
Con Kolivas
7318eceef9
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.
2013-10-07 23:34:01 +11:00
Con Kolivas
8c0ea19e13
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.
2013-10-07 23:33:13 +11:00
Con Kolivas
b6a97de687
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.
2013-10-07 23:33:13 +11:00
ckolivas
6cd7f0f1be
Remove unmaintained broken ztex driver.
2013-10-07 23:33:13 +11:00
Kano
51418f79e5
Klondike update code to current git
2013-10-07 23:33:11 +11:00
Con Kolivas
585d4af4e6
Store statistics on how often we have to cancel async bulk transfers and add a debug message whenever we do.
2013-10-07 23:32:01 +11:00
Con Kolivas
f49a3c7657
Merge branch 'master' into hashfast
...
Conflicts:
Makefile.am
api.c
cgminer.c
configure.ac
miner.h
usbutils.c
usbutils.h
2013-09-30 08:43:29 +10:00
Con Kolivas
01e3c878cf
We should only yield once in cg_wunlock
2013-09-29 15:16:25 +10:00
Con Kolivas
5683a1144e
Provide a function to downgrade a cglock from a write lock to an intermediate variant.
2013-09-29 15:14:06 +10:00
Con Kolivas
5e1ebd5070
Deuglify use of _PARSE_COMMANDS macro expansions.
2013-09-29 13:54:16 +10:00
Con Kolivas
1ef38f82e8
Separate out asic fpga and opencl drivers in the driver parse commands macro for use individually as needed.
2013-09-29 12:28:43 +10:00
ckolivas
fbf46c41b3
Put avalon last in the sequence of adding drivers to prevent it trying to claim similar chip devices on startup.
2013-09-28 15:14:28 +10:00
ckolivas
6d7471237d
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.
2013-09-28 15:11:06 +10:00
ckolivas
741b74309e
Forward declare all device drivers in miner.h avoiding the need to export them everywhere else.
2013-09-28 14:00:18 +10:00
ckolivas
2903028e6b
Use macro expansion to generate extern device_drv prototypes.
2013-09-28 11:45:58 +10:00
ckolivas
8875197466
Create a macro list of drivers to enable easier addition of further drivers.
2013-09-28 10:25:48 +10:00
Con Kolivas
b606a60349
Use submit_tested_work in bitfury driver to avoid unnecessarily re-testing the work for validity.
2013-09-26 21:20:59 +10:00
Con Kolivas
76e688aee1
Store the hash2 array in struct work for further reuse.
2013-09-26 21:14:14 +10:00
Con Kolivas
39c52b1fb4
Use the test_nonce function within submit_nonce and store the uint32 corresponding to hash2 37 for further use.
2013-09-26 20:58:47 +10:00
Con Kolivas
759e82bb98
Add in first draft for a serialised work model sending/receiving data for BF1 devices.
2013-09-25 15:30:54 +10:00
Con Kolivas
68a7e21022
Create basic placeholders for bitfury driver code.
2013-09-24 20:59:10 +10:00
Con Kolivas
118f9038a0
Merge branch 'master' into hashfast
2013-09-22 20:18:18 +10:00
Con Kolivas
466d3beca0
Provide a --disable-libcurl config option to build support for stratum mining only.
2013-09-21 22:49:28 +10:00
Con Kolivas
78932aa1ed
Provide basic structure for a hashfast driver.
2013-09-19 10:38:08 +10:00
Con Kolivas
a76b09e4fc
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.
2013-09-13 13:51:15 +10:00
Con Kolivas
7c19984fd6
Use quotas for load-balance pool strategy.
2013-09-07 12:12:24 +10:00
Con Kolivas
0121b75a4e
Provide a mechanism for setting a pool quota to be used by load-balance.
2013-09-07 11:33:07 +10:00
Con Kolivas
b783d94c6d
Extract any proxy url and port to be used by sockaddr if possible using extract_sockaddr.
2013-09-05 23:14:53 +10:00
Kano
76185ede38
API mcast add a description option with miner.php
2013-09-01 00:23:26 +10:00
ckolivas
0f42fd3f46
Remove unused HAVE_LISBUSB macro and use USE_USBUTILS everywhere.
2013-08-30 15:38:35 +10:00
Con Kolivas
572df10207
Provide a funcion that looks up queued work by midstate and then removes it from the device hash database.
2013-08-27 20:29:47 +10:00
Kano
14ac6fa5ab
Initial API Multicast response v0.1 to find cgminer APIs
2013-08-22 21:31:32 +10:00
Con Kolivas
8a01f5326c
Add avalon HW error% to stats and only show BTB variables if avalon is a BTB.
2013-08-21 20:46:07 +10:00
ckolivas
b12badc9f2
Thread reportin and out can be static non inline.
2013-08-21 10:47:32 +10:00
Con Kolivas
a61e41a070
Check for thr->work_restart in restart_wait.
2013-08-19 15:58:22 +10:00
Con Kolivas
98e338cc52
Provide a variant of find_work_bymidstate that returns a clone of the found work.
2013-08-14 23:05:13 +10:00
Kano
6b62c402fa
API/miner.php add some % fields
2013-08-14 10:42:52 +10:00
Con Kolivas
c8aac74114
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.
2013-08-13 06:09:42 +10:00
Con Kolivas
87ae66c7e6
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.
2013-08-13 05:49:32 +10:00
Con Kolivas
34bc106d82
Export the workpadding char in miner.h
2013-08-13 04:57:04 +10:00
Con Kolivas
11bcf2b3fb
Rename work gbt_coinbase to coinbase to be in line with pool variable name.
2013-08-12 11:40:17 +10:00
Con Kolivas
5237bf350d
Perform merkle bin hex2bin on stratum notify to avoid doing it on each work generation.
2013-08-12 11:36:28 +10:00
Con Kolivas
8bc469e916
Reuse just the one pool coinbase variable in stratum, avoiding more string functions and storage in gen_stratum_work on each work generation.
2013-08-12 11:16:46 +10:00
Con Kolivas
8c8ef6ff9b
Rename pool gbt_coinbase variable to coinbase to combine it with the stratum coinbase data.
2013-08-12 10:58:43 +10:00
Con Kolivas
c542e47aa3
Use a nonce2 offset variable for both gbt and stratum to consolidate requirements on work generation.
2013-08-12 10:49:38 +10:00
Kano
309cb2242b
miner.h inline semaphores increase information on failure
2013-08-12 08:54:11 +10:00
Con Kolivas
fb94dfa098
Cache as much of the gbt coinbase as possible to avoid doing unnecessary hex2bin conversion on every work generation with gbt.
2013-08-12 01:15:22 +10:00
Con Kolivas
9552f54f43
Add the ability to downgrade a write variant of the cglocks.
2013-08-12 00:12:28 +10:00
Con Kolivas
3e84a19cda
Fix --scrypt being required before scrypt intensities on command line or not working at all via config files.
2013-08-11 15:10:27 +10:00
Con Kolivas
b423fe9de8
Cache the hex2bin of pool nonce1 in stratum, avoiding hex2bin on each work generation.
2013-08-11 14:06:17 +10:00
Con Kolivas
fef649dfef
Cache the binary generation of coinbase1 and 2 on stratum, avoiding a hex2bin of coinbase1 and 2 on each work generation.
2013-08-11 13:47:46 +10:00
Con Kolivas
2b171f7fae
Limit intensity range according to whether scrypt is in use or not.
2013-08-09 15:12:57 +10:00
Kano
ad1572f77f
size check get_datestamp/get_timestamp and remove unused cgpu->init
2013-07-06 20:17:17 +10:00
Kano
385a70bea7
make all statline overflow safe
2013-07-06 19:15:59 +10:00
Con Kolivas
563feac74e
Merge pull request #446 from kanoi/master
...
Rework logging to mostly avoid using varargs
2013-06-15 20:15:00 -07:00
Kano
7eba963477
remove varargs from logging/quit/in general as much as possible
2013-06-15 22:03:56 +10:00
ckolivas
b8a203ab33
Don't yield when downgrading a cg ilock.
2013-06-15 21:33:12 +10:00
Con Kolivas
736dfb4075
Don't yield on grabbing the read lock variant of cglocks.
2013-06-15 12:35:16 +10:00
Con Kolivas
cd9ff7f6b8
Only display as many device rows as the maximum live existed at any time.
2013-06-15 01:28:00 +10:00
Kano
7ad9132bbe
usb lock out use cg locks
2013-06-15 01:02:27 +10:00
Kano
ad30d41f79
usb lock out transfers during open/close
2013-06-14 23:48:03 +10:00
Kano
84ffcbc51b
Use mining start time for device MH/U calculations
2013-06-14 01:09:50 +10:00
Con Kolivas
0aeb1b5480
Yield after releasing a lock in case we are on a device with limited CPU resources.
2013-06-13 13:28:48 +10:00
ckolivas
065d4aabf6
Fix build.
2013-06-09 13:29:38 +10:00
ckolivas
9b2e517f30
Use cgsem structures instead of the flaky pings in the work queue to start mining threads and remove the unused thr_info_freeze function.
2013-06-09 12:20:04 +10:00
ckolivas
b59c33800b
Implement cgminer specific cgsem semaphores to imitate unnamed semaphore behaviour on osx which does not support them.
2013-06-06 13:08:00 +10:00
ckolivas
05123bf452
Temporarily fix apple not having semtimedop by ignoring the timeout value.
2013-06-05 15:50:30 +10:00
Con Kolivas
727184d6ef
Change the --device parameter parsing and configuration to use ranges and comma separated values.
2013-06-03 11:09:36 +10:00
Con Kolivas
cc04d3abc7
Use a counting semaphore to signal the usb resource thread that it has work to do.
2013-05-30 11:01:29 +10:00
Con Kolivas
876e7e5893
Merge branch 'icarus-dev' into usbdev
...
Conflicts:
usbutils.h
2013-05-29 00:01:54 +10:00
Con Kolivas
6972ec62a7
Execute driver shutdown sequence during kill_work.
2013-05-28 23:33:32 +10:00
Kano
2f94ec8025
usb separate thread for resource locking and modified windows locking code
2013-05-27 23:30:18 +10:00
Con Kolivas
269a8de977
First pass rewriting serialdev into direct usb dev for avalon driver.
2013-05-27 15:43:22 +10:00
Con Kolivas
44736b3012
Make submit_nonce return a bool for whether it's a valid share or not.
2013-05-26 20:59:40 +10:00
Kano
c9cc7445e5
miner.h remove unused device_file and add device_data
2013-05-20 02:52:07 +10:00
Kano
8fe40e98ba
miner.h icarus no long uses fd
2013-05-20 02:46:58 +10:00
Con Kolivas
01fca3e756
Create a logwin_update function which mandatorily updates the logwin and use it when input is expected to prevent display refresh delays.
2013-05-19 21:28:53 +10:00
Con Kolivas
3a2008ac61
Use a persistent single separate thread for stratum share submission that uses workqueues since all stratum sends are serialised.
2013-05-19 11:25:45 +10:00
Con Kolivas
1a7a87c2a6
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.
2013-05-11 20:29:48 +10:00
Con Kolivas
2fb6637b5a
Make set_work_target a function to set a specified char as target for use elsewhere.
2013-05-11 19:51:43 +10:00
Con Kolivas
68196588c9
Make raw sockets compile on windows
2013-05-09 11:39:09 +10:00
Con Kolivas
31aa4f6ceb
Use raw sockets without curl for stratum communications.
2013-05-08 21:59:58 +10:00
Con Kolivas
009008ade7
Fix BFLSC building.
2013-04-26 12:00:44 +10:00
Con Kolivas
f4b2790761
Remove all CPU mining code.
2013-04-22 14:35:43 +10:00
Con Kolivas
4597c0a17e
Provide endian_flipX functions to avoid special casing big endian in cgminer.c
2013-04-22 09:35:48 +10:00
Con Kolivas
8d81f1d207
Provide a flip128 helper to simplify big endian flipping.
2013-04-22 09:28:06 +10:00
Con Kolivas
c351f8d8d3
Use flip helpers to simplify code for calculation of midstate.
2013-04-22 09:23:13 +10:00
Con Kolivas
62a1403b3b
Move util.c exports to util.h
2013-04-21 19:41:54 +10:00
James Z.M. Gao
7ada22a4e6
define le32toh if needed
2013-04-19 09:13:36 +08:00
Con Kolivas
6b714dd431
Increment hardware error count from the one site.
2013-04-18 14:47:46 +10:00
Con Kolivas
dbab07a12d
Only reset an avalon device with no results when there are no results consecutively.
2013-04-15 20:30:02 +10:00
Con Kolivas
5c7a32fde8
Rationalise and simplify the share diff and block solve detection to a common site.
2013-04-08 21:26:10 +10:00
Con Kolivas
293b94c7ed
Add API support for Avalon.
2013-04-07 01:39:20 +11:00
Con Kolivas
97bad1eef6
Only get extra work in fill_queue if we don't have any unqueued work in the list.
2013-04-06 13:01:42 +11:00
Con Kolivas
67be00e41e
Create an array of 4 lots of work for avalon and cycle through them.
2013-04-06 02:25:48 +11:00
Con Kolivas
67c5da49b6
Members of cgpu_info for avalon are not meant to be in the union.
2013-04-05 21:01:42 +11:00
Con Kolivas
71bae003bc
First draft of port of avalon driver to new cgminer queued infrastructure.
2013-04-05 14:52:07 +11:00
James Z.M. Gao
c9ae715019
Compile CPU mining for win32 and win64
2013-04-04 22:59:10 +08:00
Kano
f080db5fee
generic work structure flags for BFLSC (and usable by other drivers if needed)
2013-04-02 09:50:05 +11:00
Kano
ea327f7ba2
work queues - remove new but unnecessary functions
2013-04-01 13:10:15 +11:00
Kano
73616fb810
miner.h missing extern
2013-04-01 00:38:19 +11:00