1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-10 23:08:07 +00:00
Commit Graph

347 Commits

Author SHA1 Message Date
Con Kolivas
8e9f32a81b Add a forcelog variant of applog which invalidates any console lock to force output. 2013-10-18 23:30:05 +11:00
Con Kolivas
f5baf9f57a Merge branch 'master' into hashfast
Conflicts:
	usbutils.h
2013-10-18 19:12:13 +11:00
Con Kolivas
789d448e84 Perform sync transfers on shutdown to allow final transfers to complete. 2013-10-18 07:05:35 +11:00
Con Kolivas
ad8d94979f Destroy cgsems used after transfers to not leave open files on osx. 2013-10-18 06:55:30 +11:00
Con Kolivas
103bc0bafe Revert to using timeouts on !linux since libusb leaks memory without them. 2013-10-17 18:52:07 +11:00
Con Kolivas
955e971d3d Prevent further USB transfers from occurring once the shutdown signal has been sent to prevent transfers getting stuck and libusb failing to shut down. 2013-10-17 08:29:02 +11:00
Con Kolivas
7c6bd4a8fb Emulate the libusb_control_transfer sync setup in our async variant. 2013-10-15 00:26:50 +11:00
Con Kolivas
e6280c85d2 Add the libusb control setup size offset for control writes. 2013-10-15 00:13:06 +11:00
Con Kolivas
91d1d104d1 Merge branch 'master' of github.com:ckolivas/cgminer 2013-10-15 00:00:00 +11:00
Con Kolivas
8fdaeb0ac9 Differentiate send from receive in control transfers! 2013-10-14 23:59:01 +11:00
kanoi
bae0815edf Merge pull request #505 from kanoi/master
usbutils - make all libusb_error_name messages the same
2013-10-14 03:45:44 -07:00
Kano
108e73763b usbutils - make all libusb_error_name messages the same 2013-10-14 21:44:10 +11:00
Con Kolivas
9e287f9598 Merge pull request #499 from someone42/master
changes to bitburner driver for bitburner fury boards
2013-10-14 03:27:57 -07:00
Con Kolivas
e06e495ab8 Merge branch 'master' into hashfast 2013-10-14 15:07:32 +11:00
Con Kolivas
02a4f8df9c Convert the usb callback function to using cgsem_t timed waits to avoid race conditions with conditionals/mutexes. 2013-10-14 11:44:37 +11:00
Con Kolivas
1d9f90b256 Revert "Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals."
This reverts commit 433465bcfc.

Not ready yet.
2013-10-14 11:39:15 +11:00
Con Kolivas
433465bcfc Convert the usb callback function to use a cgsem_t using the timedwait code to avoid races with mutexes/conditionals. 2013-10-14 11:35:47 +11:00
Con Kolivas
634151ffa0 Merge branch 'master' into hashfast 2013-10-14 10:06:37 +11:00
Con Kolivas
9ca22ed493 Use the one LIBUSB_ERROR_TIMEOUT for cancelled transactions since this error is explicitly tested for in various drivers. 2013-10-14 10:05:49 +11:00
Con Kolivas
a7580f1ff2 Do not use locking on usb callback function pthread signalling to prevent deadlock with libusb's own event lock. 2013-10-14 09:41:18 +11:00
Con Kolivas
8d1604a2e3 Do not use locking on usb callback function pthread signalling to prevent deadlock with libusb's own event lock. 2013-10-14 09:40:23 +11:00
Con Kolivas
d2d7a7468e Merge branch 'master' into hashfast 2013-10-14 00:54:39 +11:00
Con Kolivas
280dc4bf01 Lock mutex before second pthread_cond_wait in usbutils to prevent a race. 2013-10-14 00:54:05 +11:00
Con Kolivas
176cae2700 Add basic definitions for hashfast device recognition. 2013-10-13 18:42:33 +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
84de52c1c6 Use a write lock when performing any USB control transfers to prevent concurrent transfers. 2013-10-13 10:11:46 +11:00
Con Kolivas
c069028648 Free a libusb transfer after we have finished using it to avoid a dereference in usb_control_transfer 2013-10-12 17:44:28 +11:00
Con Kolivas
84f642f563 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. 2013-10-12 15:06:48 +11:00
Con Kolivas
2ca8d85906 Convert all usb control transfers to asynchronous communication with our own timeout management as well. 2013-10-12 08:45:03 +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
Chris Chua
b509e84376 using separate identifier for bitburner fury boards 2013-10-11 21:14:59 +11:00
Con Kolivas
03ad59f287 Add a small amount to the usb timeout before cancelling to allow for a regular usb polling interval to pass. 2013-10-11 15:37:55 +11:00
Con Kolivas
08d8612f68 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. 2013-10-11 14:47:01 +11:00
Con Kolivas
6d18ce4caa Retry up to USB_RETRY_MAX times to clear a halt condition before failing. 2013-10-11 14:37:40 +11:00
Con Kolivas
3a7a677f45 Show the error number as well as the description in erroring bulk transfers. 2013-10-11 13:43:16 +11:00
Con Kolivas
b5dfacef24 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. 2013-10-11 10:15:06 +11:00
Con Kolivas
853aa28ffc Merge branch 'master' into async
Conflicts:
	usbutils.c
2013-10-11 08:49:59 +11:00
Con Kolivas
32bc746178 Check for presence of driver name in DRIVER_COUNT_FOUND to prevent strcmp on a null pointer when a driver is not built in. 2013-10-09 22:17:56 +11:00
Con Kolivas
dc9c3783ec Display errors on failed usb read and write and consider sequential IO errors a permanent failure. 2013-10-08 22:05:01 +11:00
Con Kolivas
a22f5bfddd Use libusb's own error name function instead of hand coding the error names. 2013-10-08 21:40:04 +11:00
Con Kolivas
efd8c44182 Check for async transfer variants of error messages. 2013-10-08 21:01:04 +11:00
Con Kolivas
2806f49c01 Revert "Check for the async variants of the libusb errors and retry up to retry max when trying to clear a pipe error/stall."
This reverts commit c7d5256b36.
2013-10-08 21:00:51 +11:00
Con Kolivas
d34279b226 Remove unused variables. 2013-10-08 20:48:26 +11:00
Con Kolivas
f80c900336 Merge branch 'master' into async
Conflicts:
	api.c
	cgminer.c
	miner.h
	usbutils.c
	util.c
2013-10-08 20:46:36 +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
85e0b3a50f Check for the async variants of the libusb errors and retry up to retry max when trying to clear a pipe error/stall. 2013-10-07 23:34:12 +11:00
Con Kolivas
a79768b74d Use libusb's own error name function instead of hand coding the error names. 2013-10-07 23:34:12 +11:00
Con Kolivas
74775e4e72 Check for libusb transfer stall error to be consistent with async IO errors returned for a halt condition. 2013-10-07 23:34:11 +11:00
Con Kolivas
38ae7093d2 Check for continuous IO errors on USB and consider the device inactive if more than retry max. 2013-10-07 23:34:11 +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
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
1d1efbe7f8 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. 2013-10-07 23:31:20 +11:00
Con Kolivas
a798e14a12 Remove zero packet flag on usb as it's unsupported outside linux and unnecessary. 2013-10-07 23:31:20 +11:00
Con Kolivas
375095645e Fake the libusb transfer timed out message if we force cancel it with our own async functions. 2013-10-07 23:31:20 +11:00
Con Kolivas
a6a9407067 Use asynchronous transfers for all bulk transfers, allowing us to use our own timers and cancelling transfers that take too long. 2013-10-07 23:31:20 +11:00
Con Kolivas
991765845b Add libusb error warning message when significant error occurs. 2013-10-07 23:31:20 +11:00
ckolivas
052e434846 Remove unmaintained broken ztex driver. 2013-10-04 12:00:41 +10:00
Kano
dc85abd9cd Klondike update code to current git 2013-10-03 23:19:18 +10:00
Con Kolivas
3eece61819 Get statistics on how long usb reads and writes wait on the devlock. 2013-10-03 09:40:02 +10: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
14887ba852 usbinfo.devlock is only ever write locked so convert it to a mutex 2013-09-29 17:45:28 +10:00
Con Kolivas
5e1ebd5070 Deuglify use of _PARSE_COMMANDS macro expansions. 2013-09-29 13:54:16 +10:00
Con Kolivas
303a763162 Deuglify use of usb parse commands macro in usbutils. 2013-09-29 13:08:15 +10:00
ckolivas
8b341ccd60 Use macro expansion in usb_find_devices to avoid explicitly listing them all. 2013-09-29 02:48:39 +10:00
ckolivas
0952a8812f Use macro expansion to iterate over all the drivers without explicitly writing them out in usbutils.c 2013-09-29 02:45:45 +10:00
ckolivas
39c2e662a7 Reattach the kernel driver on linux on usb_uninit. 2013-09-28 23:12:29 +10:00
ckolivas
3ef9fa3b88 Attach the kernel driver on failure to usb init on linux. 2013-09-28 23:09:26 +10:00
ckolivas
00aa8b4ecf libusb kernel driver operations are only available on linux. 2013-09-28 23:05:39 +10:00
ckolivas
372c40956a Reuse the DRIVER_ macros to avoid having yet another definition for DRV_ 2013-09-28 12:44:36 +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
c50b13a602 Merge branch 'master' of github.com:ckolivas/cgminer into redfury 2013-09-28 01:01:48 +10:00
Con Kolivas
71797050f2 There is no point setting the BF1 preferred packet size to the maximum since it will do so automatically. 2013-09-27 22:37:14 +10:00
Kano
9b9dde1667 usbutils - fix USBDEBUG warnings 2013-09-27 16:56:25 +10:00
Con Kolivas
8d133706c9 Remove unnecessary steps in communicating with BF1 and just use USB interface 1. 2013-09-27 15:04:07 +10:00
Kano
61c2ac5714 usbutils - usb_bulk_transfer fix the buf/data fix 2013-09-27 14:57:22 +10:00
Con Kolivas
2ba7fbe597 Merge branch 'master' of github.com:ckolivas/cgminer into redfury 2013-09-27 14:35:35 +10:00
Kano
ffea432f73 usb_bulk_transfer - use the allocated buffer 2013-09-27 14:25:57 +10:00
Con Kolivas
2fc5c1d0ec Set preferred packet sizes per interface on BF1. 2013-09-27 13:47:35 +10:00
Con Kolivas
621114c559 Merge branch 'master' of github.com:ckolivas/cgminer into redfury 2013-09-27 13:08:36 +10:00
Kano
d3a3b3a73d usbutils allow PrefPacketSize per endpoint 2013-09-27 13:07:04 +10:00
Con Kolivas
8e4909f8d5 Merge branch 'master' of github.com:ckolivas/cgminer into redfury 2013-09-27 11:00:48 +10:00
Con Kolivas
7deaa91b26 Add information for 2nd USB interface on BF1 devices and choose interface 1 for bulk transfers. 2013-09-27 10:36:23 +10:00
Kano
d8518f4336 usbutils - bulk transfer copy test fix 2013-09-27 10:08:59 +10:00
Con Kolivas
8d6126ac85 Merge branch 'master' of github.com:ckolivas/cgminer into redfury 2013-09-27 09:53:04 +10:00
Kano
a62267fa93 usbutils - add USBDEBUG for usb_bulk_transfer 2013-09-27 09:44:58 +10:00
Con Kolivas
a39a9c27d6 Merge branch 'master' into redfury 2013-09-27 08:32:54 +10:00
Kano
36d8653406 usbutils - interfaces must all be on one handle - ep implies the interface 2013-09-26 20:58:29 +10:00
Con Kolivas
435065c86b Rename BF1 devices BF1 2013-09-26 07:24:09 +10:00
Con Kolivas
d6949f3a94 Decrease usb buffering to verbose logging. 2013-09-25 15:31:34 +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
2ab023f300 Add BF1 detection code to bitfury driver. 2013-09-24 21:55:47 +10:00
Con Kolivas
99c838965e Add bf1 device information to usbutils to enable device detection. 2013-09-24 20:39:59 +10:00
Con Kolivas
293622cf2a Merge branch 'master' into hashfast
Conflicts:
	usbutils.c
	usbutils.h
2013-09-22 22:54:18 +10:00
Con Kolivas
48f5ff3754 Use macro expansion to only need to define usb enums and commands in one place. 2013-09-22 22:38:45 +10:00
Con Kolivas
118f9038a0 Merge branch 'master' into hashfast 2013-09-22 20:18:18 +10:00
Kano
0e8028fc29 usbutils saving incorrect overflow buffer 2013-09-22 19:59:29 +10:00
Kano
95eb948053 usbtils - interfaces dont work yet in libusb windows so disable for that only 2013-09-22 00:12:57 +10:00