1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-10 06:48:05 +00:00
Commit Graph

343 Commits

Author SHA1 Message Date
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
Con Kolivas
62f6fefb12 Create a struct array of hashfast commands and their associated usb command names. 2013-09-21 08:33:11 +10:00
Kano
1910e37121 usbutils - only release the device once - for the first intinfo 2013-09-19 21:54:15 +10:00
Kano
0f0b0f818f usbutils set_interface is no longer valid 2013-09-19 21:41:27 +10:00
Kano
166147a803 ubsutils interfaces much each have their own handle 2013-09-19 21:11:40 +10:00
Con Kolivas
d866973d52 Add templates for USB commands likely to be used by hashfast driver. 2013-09-19 17:19:51 +10:00
Con Kolivas
78932aa1ed Provide basic structure for a hashfast driver. 2013-09-19 10:38:08 +10:00
Kano
00c2c3369a usbutils kernel_detach should use the interface number 2013-09-17 21:42:11 +10:00
Kano
24858de6de usbutils - allow the driver to change which_intinfo 2013-09-17 19:19:43 +10:00
Kano
cc5c998164 usbutils correct/reverse CMR product numbers 2013-09-16 12:23:49 +10:00
Kano
67b9ee4448 usbutils specifically track handles and interfaces 2013-09-14 18:15:21 +10:00
Kano
08483717aa usbutils - allow a device to use multiple interfaces (and better var names) 2013-09-14 18:14:48 +10:00
kanoi
9282054987 Merge pull request #466 from mibe/master
Fixed typos
2013-09-03 23:57:33 -07:00
Con Kolivas
b1823f2723 Always use a maxpacketsize buffer in usb_bulk_transfer 2013-08-31 23:18:09 +10:00
Con Kolivas
fb00f24bcf Use 64 bytes for all libusb control transfers. 2013-08-31 22:17:53 +10:00
Con Kolivas
33ae5ab8b9 Use an internal buffer in _usb_transfer_read in case the read is larger than the buffer passed to it. 2013-08-31 21:31:32 +10:00
Kano
612c0b12c8 usbutils cps sleep_estimate is not an underestimate 2013-08-21 10:06:19 +10:00
Kano
01855a6051 usbutils add cps stats estimates 2013-08-21 00:06:05 +10:00
Con Kolivas
deb7be72c6 Use the reentrant cgsleep functions for usecps in usbutils. 2013-08-20 21:08:32 +10:00
Con Kolivas
eeac9d81fc Replace all references to the old n*sleep functions with the equivalent cgsleep_*s replacements. 2013-08-20 19:23:49 +10:00
Con Kolivas
f7e6701058 Fix uninit variable warnings. 2013-08-10 01:11:23 +10:00
Kano
ac08ed1d03 usbutils - force check every combination 2013-08-10 01:05:50 +10:00
Chris Chua
b0f4d55be7 changes to Avalon driver for BitBurner boards 2013-07-29 21:39:29 +10:00
Michael Bemmerl
1c7ef61c47 Fixed typos 2013-07-21 23:34:48 +02:00
Kano
759ce6e7d2 usb timeouts - min/max also 2013-07-21 06:43:26 +10:00
Kano
2dffc96e3c log USB timeouts in API stats 2013-07-20 12:56:57 +10:00
Kano
52cda25f98 usbutils report failed timeouts 2013-07-20 10:24:29 +10:00
Kano
660012678a usbutils ensure stats macros are using the macro arguments 2013-07-20 07:04:31 +10:00
Kano
4cb7cfb226 usbutils use a heap buffer for bulk read rather than stack 2013-07-18 09:59:10 +10:00
Kano
8b43e79f42 usbutils only one bulk transfer call per stat 2013-07-18 09:39:23 +10:00
Kano
948f0057c4 usbutils - in init only change the config if needed 2013-07-16 15:51:17 +10:00
Kano
51a928fe7e usbutils - size check all sprintf 2013-07-06 20:56:50 +10:00
Kano
2beb30f13d bflsc get volts stats needs its own GETVOLTS 2013-06-28 22:55:55 +10:00
Kano
9ecef180d1 usbutils/icarus include more locking to usbdev access 2013-06-26 12:53:05 +10:00
Kano
1f4b99d0e9 usbutils cps correct time measurement 2013-06-26 01:12:01 +10:00
Kano
fc89f170a3 usbutils add delay API stats 2013-06-25 22:23:06 +10:00
Kano
527c6ee255 usbutils optional cps IO control - but not enabled 2013-06-25 21:35:21 +10:00
Kano
15dc64a696 usbutils - incorrect test for * in bus:dev 2013-06-25 11:51:39 +10:00
Con Kolivas
700f4b4516 Ignore iManufacturer for BFLSC devices since the device name will still match and some unbinned chips are missing it. 2013-06-23 10:39:17 +10:00
Kano
45fda135de undo icarus show errno, put it as debug in ubsutils 2013-06-21 18:57:32 +10:00
Con Kolivas
abdf7510c9 Reinstate the maxPacketSize determined by the end descriptor but allow the driver to override it. 2013-06-21 17:36:20 +10:00
Con Kolivas
f4508b6a34 Temporarily limit usb transfer sizes to 512 till we provide a way for each driver to choose the upper limit. 2013-06-20 23:57:58 +10:00
Con Kolivas
f4d74116d3 Limit USB transfers to the max size reported by the descriptors. 2013-06-19 13:18:15 +10:00
Con Kolivas
a81749bb38 Increase the BFLSC timeout to allow the maximum number of results to be returned for BAS in time. 2013-06-19 12:15:51 +10:00
Kano
410fba7e04 usbutils initialise close key/sem 2013-06-17 22:20:27 +10:00
Kano
87cdfae833 usbutils cleanup linux semaphores on release 2013-06-17 22:06:31 +10:00
Con Kolivas
9a9613b6ee We should be setting cancelstate, not canceltype when disabling it for usb locking. 2013-06-17 11:30:04 +10:00
Con Kolivas
2eb6d35795 Pthread cancel state should be set to disable on usb DEVLOCK. 2013-06-17 10:30:00 +10:00
Kano
d2cb412931 record and report USB pipe errors via API stats 2013-06-16 21:58:01 +10:00
Con Kolivas
362687f6bc Pipe error is quite common on usb3 so drop logging to verbose level only. 2013-06-16 19:08:10 +10:00
Kano
a5154abee8 usbutils - DEVLOCK other usbdev access 2013-06-16 14:29:45 +10:00
Kano
148e3d64bc applog usb device list can be > LOGBUFSIZ 2013-06-15 23:38:49 +10:00
Kano
6ca0eaa987 fix windows log warnings 2013-06-15 23:08:40 +10:00
Kano
7eba963477 remove varargs from logging/quit/in general as much as possible 2013-06-15 22:03:56 +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
Con Kolivas
5597115020 Add error message to libusb pipe error 2013-06-14 23:11:09 +10:00
Con Kolivas
29f5fc4888 Differentiate libusb control transfer pipe errors from transfer errors since they're not fatal. 2013-06-14 22:48:18 +10:00
Con Kolivas
c7360dbe78 Create a usb_bulk_transfer wrapper for libusb_bulk_transfer to cope with pipe errors. 2013-06-14 22:45:43 +10:00
Kano
84ffcbc51b Use mining start time for device MH/U calculations 2013-06-14 01:09:50 +10:00
Con Kolivas
827a6ab7da Unlock usb dev lock in the same place in usbutils. 2013-06-13 14:22:39 +10:00
Con Kolivas
291df91ced Tidy up DEVLOCK/UNLOCK to have consistent use of the pstate variable without needing brace level match. 2013-06-13 12:18:02 +10:00
Kano
91034145ae usbutils avoid leaving devlock locked when thread cancelled 2013-06-12 17:03:48 +10:00
Kano
92fee70205 MMQ fix nodev failure caused by changes 2013-06-10 21:40:21 +10:00
Kano
7d35c6921e ubsutils lock all access to nodev and cgusb 2013-06-10 18:52:18 +10:00
Kano
b8b137aeef USB make device_path handled by usbutils 2013-06-10 15:59:02 +10:00
Kano
9287ee90f6 USB control creation and free of cgpu 2013-06-10 15:22:37 +10:00
Con Kolivas
630e7d7658 Set BFLSC fan speed coarsely to keep it under 60 or auto as per specs saying it tries to stay below 60. 2013-06-09 21:33:20 +10:00
Con Kolivas
7f1ce19059 Move macro definition to bflsc driver 2013-06-09 17:22:23 +10:00
Con Kolivas
641545aac7 Use a longer timeout for retrieving bflsc details. 2013-06-09 17:19:20 +10:00
Con Kolivas
9133c468ce Set usbdev in usbutils after checking for nodev to avoid trying to access a dereferenced value. 2013-06-07 08:42:40 +10:00
Kano
8478ee4436 AMU usbstatus correct name from enable UART 2013-06-07 07:02:55 +10:00
Con Kolivas
8ec78c28e0 Only libusb close if libusb release succeeds. 2013-06-07 00:38:48 +10:00
Con Kolivas
e186c5cf07 Revert "Protect all usb writes reads and unplugs with a mutex lock and check libusb release has succeeded before proceeding with a libusb close."
This reverts commit beb5f8889d.
2013-06-07 00:38:10 +10:00
Con Kolivas
beb5f8889d Protect all usb writes reads and unplugs with a mutex lock and check libusb release has succeeded before proceeding with a libusb close. 2013-06-07 00:25:49 +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
Con Kolivas
62585778e7 Set cgusb->buffer to NULL when doing usb_buffer_disable. 2013-06-05 21:27:57 +10:00
Kano
58bb4d486d usb_ftdi_set_latency LOG_ERRs if called incorrectly 2013-06-05 01:44:50 +10:00
Kano
f366d53f3c add usb_ftdi_set_latency 2013-06-05 01:37:16 +10:00
Kano
4368a04fce usbutils optional read buffering 2013-06-05 01:07:16 +10:00
Kano
4d749ff44b restore max code - since timeout is unsigned 2013-06-04 13:43:23 +10:00
Kano
cab2dd92ab compile warning - remove unused max 2013-06-04 13:30:05 +10:00
Kano
1c64f3b621 usb set FTDI latency higher to minimise status bytes 2013-06-04 13:17:57 +10:00
Con Kolivas
8ecf929944 Check for zero timeout on _usb_write. 2013-06-04 00:08:59 +10:00
Con Kolivas
2887147444 Check for zero timeout in usb read. 2013-06-03 23:55:55 +10:00
Con Kolivas
27628cdda9 Define a minimum polling time based on frequency of mandatory updates of ftdi responses at 40ms. 2013-06-03 23:38:54 +10:00
Con Kolivas
97a92b26ca Sleep right up to the timeout instead of the first half if we find ourselves polling in _usb_read 2013-06-03 23:33:31 +10:00
Con Kolivas
3d631b7cbb Enforce half timeout sized sleeps in usb_read if we find the device is not respecting libusb timeouts to avoid polling frequently. 2013-06-03 23:15:59 +10:00
Kano
8c1366113c usbutils semun use proper def for linux which fixes OSX also 2013-06-01 07:53:29 +10:00
Con Kolivas
eec1a86af0 Update copyrights of modified files. 2013-05-30 22:53:07 +10:00
Con Kolivas
56a20e0125 Make usb_ftdi_cts use the _usb_transfer_read function. 2013-05-30 16:47:09 +10:00
Kano
74d7f55648 usbutils automatically track IO errors 2013-05-30 16:00:41 +10:00
Kano
3f4b717ac2 usbutils allow a short wait for resources to be released 2013-05-30 15:44:33 +10:00
Kano
5869539e67 correct semaphore timeout comment 2013-05-30 15:02:52 +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
ckolivas
641883a572 Check for no usb device in usb_ftdi_cts 2013-05-29 16:35:34 +10:00
ckolivas
f3093803d1 Check for valid usbdev in _usb_read in case the device has been unplugged. 2013-05-29 16:29:49 +10:00
Con Kolivas
fa059b3cba usb_transfer_read should also not play with the endianness. 2013-05-29 00:39:16 +10:00
Con Kolivas
0177b41010 Use the USB wrappers for avalon, telling usbutils that we want the raw data. 2013-05-29 00:33:56 +10:00
Con Kolivas
876e7e5893 Merge branch 'icarus-dev' into usbdev
Conflicts:
	usbutils.h
2013-05-29 00:01:54 +10:00
Con Kolivas
772b354ea9 Remove unneeded function and checks in avalon write code. 2013-05-28 23:59:07 +10:00
Kano
05cbbd99bb CMR handle baud options 2013-05-28 23:56:30 +10:00
Kano
df8566a78c usb/ica add more (incomplete) CMR settings 2013-05-28 22:44:03 +10:00
Con Kolivas
adb2ea672d libusb_control_transfer are meant to be endian specific, but host endianness so no conversion is needed. 2013-05-28 20:50:53 +10:00