usbutils.c


Log

Author Commit Date CI Message
Con Kolivas c7d5256b 2013-10-07T20:03:53 Check for the async variants of the libusb errors and retry up to retry max when trying to clear a pipe error/stall.
Con Kolivas aa75d841 2013-10-07T19:50:38 Use libusb's own error name function instead of hand coding the error names.
Con Kolivas f9313927 2013-10-07T18:40:09 Check for libusb transfer stall error to be consistent with async IO errors returned for a halt condition.
Con Kolivas 0b56becc 2013-10-07T17:56:57 Check for continuous IO errors on USB and consider the device inactive if more than retry max.
Con Kolivas 023ca6a1 2013-10-07T17:17:20 Remove devlock lock contention statistics since transfers are all done under read lock now.
Con Kolivas 59ff31d8 2013-10-07T17:11:33 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.
Con Kolivas 3b266594 2013-10-07T14:57:08 Merge branch 'master' into libusbx Conflicts: api.c miner.h usbutils.c
ckolivas 052e4348 2013-10-04T12:00:41 Remove unmaintained broken ztex driver.
Kano dc85abd9 2013-10-03T23:19:18 Klondike update code to current git
Con Kolivas bfdf3af1 2013-10-03T12:05:48 Store statistics on how often we have to cancel async bulk transfers and add a debug message whenever we do.
Con Kolivas 603bba67 2013-10-03T11:50:45 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.
Con Kolivas 3eece618 2013-09-30T21:50:06 Get statistics on how long usb reads and writes wait on the devlock.
Con Kolivas c5d61b4c 2013-10-02T06:53:25 Remove zero packet flag on usb as it's unsupported outside linux and unnecessary.
Con Kolivas 382433eb 2013-10-01T17:34:32 Fake the libusb transfer timed out message if we force cancel it with our own async functions.
Con Kolivas 69c01a14 2013-10-01T14:40:30 Use asynchronous transfers for all bulk transfers, allowing us to use our own timers and cancelling transfers that take too long.
Con Kolivas b3ceb7e2 2013-09-30T21:50:06 Get statistics on how long usb reads and writes wait on the devlock.
Con Kolivas d2f99cbe 2013-09-30T21:30:11 Add libusb error warning message when significant error occurs.
Con Kolivas 14887ba8 2013-09-29T17:44:41 usbinfo.devlock is only ever write locked so convert it to a mutex
Con Kolivas ff90e6ae 2013-09-29T17:44:41 usbinfo.devlock is only ever write locked so convert it to a mutex
Con Kolivas 5e1ebd50 2013-09-29T13:54:16 Deuglify use of _PARSE_COMMANDS macro expansions.
Con Kolivas 303a7631 2013-09-29T13:08:15 Deuglify use of usb parse commands macro in usbutils.
ckolivas 8b341ccd 2013-09-29T02:48:39 Use macro expansion in usb_find_devices to avoid explicitly listing them all.
ckolivas 0952a881 2013-09-29T02:45:45 Use macro expansion to iterate over all the drivers without explicitly writing them out in usbutils.c
ckolivas 39c2e662 2013-09-28T23:12:29 Reattach the kernel driver on linux on usb_uninit.
ckolivas 3ef9fa3b 2013-09-28T23:09:26 Attach the kernel driver on failure to usb init on linux.
ckolivas 00aa8b4e 2013-09-28T23:05:39 libusb kernel driver operations are only available on linux.
ckolivas 372c4095 2013-09-28T12:44:36 Reuse the DRIVER_ macros to avoid having yet another definition for DRV_
ckolivas 2903028e 2013-09-28T11:45:58 Use macro expansion to generate extern device_drv prototypes.
ckolivas 88751974 2013-09-28T10:25:48 Create a macro list of drivers to enable easier addition of further drivers.
Con Kolivas c50b13a6 2013-09-28T01:01:48 Merge branch 'master' of github.com:ckolivas/cgminer into redfury
Con Kolivas 71797050 2013-09-27T22:37:14 There is no point setting the BF1 preferred packet size to the maximum since it will do so automatically.
Kano 9b9dde16 2013-09-27T16:56:25 usbutils - fix USBDEBUG warnings
Con Kolivas 8d133706 2013-09-27T15:04:07 Remove unnecessary steps in communicating with BF1 and just use USB interface 1.
Kano 61c2ac57 2013-09-27T14:57:22 usbutils - usb_bulk_transfer fix the buf/data fix
Con Kolivas 2ba7fbe5 2013-09-27T14:35:35 Merge branch 'master' of github.com:ckolivas/cgminer into redfury
Kano ffea432f 2013-09-27T14:25:57 usb_bulk_transfer - use the allocated buffer
Con Kolivas 2fc5c1d0 2013-09-27T13:47:35 Set preferred packet sizes per interface on BF1.
Con Kolivas 621114c5 2013-09-27T13:08:36 Merge branch 'master' of github.com:ckolivas/cgminer into redfury
Kano d3a3b3a7 2013-09-27T13:07:04 usbutils allow PrefPacketSize per endpoint
Con Kolivas 8e4909f8 2013-09-27T11:00:48 Merge branch 'master' of github.com:ckolivas/cgminer into redfury
Con Kolivas 7deaa91b 2013-09-27T10:36:23 Add information for 2nd USB interface on BF1 devices and choose interface 1 for bulk transfers.
Kano d8518f43 2013-09-27T10:08:59 usbutils - bulk transfer copy test fix
Con Kolivas 8d6126ac 2013-09-27T09:53:04 Merge branch 'master' of github.com:ckolivas/cgminer into redfury
Kano a62267fa 2013-09-27T09:44:58 usbutils - add USBDEBUG for usb_bulk_transfer
Con Kolivas a39a9c27 2013-09-27T08:32:54 Merge branch 'master' into redfury
Kano 36d86534 2013-09-26T20:58:29 usbutils - interfaces must all be on one handle - ep implies the interface
Con Kolivas 435065c8 2013-09-26T07:24:09 Rename BF1 devices BF1
Con Kolivas d6949f3a 2013-09-25T15:31:34 Decrease usb buffering to verbose logging.
Con Kolivas 759e82bb 2013-09-25T15:30:54 Add in first draft for a serialised work model sending/receiving data for BF1 devices.
Con Kolivas 2ab023f3 2013-09-24T21:55:47 Add BF1 detection code to bitfury driver.
Con Kolivas 99c83896 2013-09-24T20:39:59 Add bf1 device information to usbutils to enable device detection.
Con Kolivas 48f5ff37 2013-09-22T22:38:45 Use macro expansion to only need to define usb enums and commands in one place.
Kano 0e8028fc 2013-09-22T19:59:29 usbutils saving incorrect overflow buffer
Kano 95eb9480 2013-09-22T00:12:57 usbtils - interfaces dont work yet in libusb windows so disable for that only
Kano 1910e371 2013-09-19T21:54:15 usbutils - only release the device once - for the first intinfo
Kano 0f0b0f81 2013-09-19T21:41:27 usbutils set_interface is no longer valid
Kano 166147a8 2013-09-19T21:11:40 ubsutils interfaces much each have their own handle
Kano 00c2c336 2013-09-17T21:42:11 usbutils kernel_detach should use the interface number
Kano 24858de6 2013-09-17T19:19:43 usbutils - allow the driver to change which_intinfo
Kano cc5c9981 2013-09-16T12:23:49 usbutils correct/reverse CMR product numbers
Kano 67b9ee44 2013-09-14T16:53:09 usbutils specifically track handles and interfaces
Kano 08483717 2013-09-14T01:18:14 usbutils - allow a device to use multiple interfaces (and better var names)
kanoi 92820549 2013-09-03T23:57:33 Merge pull request #466 from mibe/master Fixed typos
Con Kolivas b1823f27 2013-08-31T23:18:09 Always use a maxpacketsize buffer in usb_bulk_transfer
Con Kolivas fb00f24b 2013-08-31T22:17:53 Use 64 bytes for all libusb control transfers.
Con Kolivas 33ae5ab8 2013-08-31T21:31:32 Use an internal buffer in _usb_transfer_read in case the read is larger than the buffer passed to it.
Kano 612c0b12 2013-08-21T10:02:12 usbutils cps sleep_estimate is not an underestimate
Kano 01855a60 2013-08-21T00:06:05 usbutils add cps stats estimates
Con Kolivas deb7be72 2013-08-20T21:07:38 Use the reentrant cgsleep functions for usecps in usbutils.
Con Kolivas eeac9d81 2013-08-20T19:23:49 Replace all references to the old n*sleep functions with the equivalent cgsleep_*s replacements.
Con Kolivas f7e67010 2013-08-10T01:11:23 Fix uninit variable warnings.
Kano ac08ed1d 2013-08-10T01:05:50 usbutils - force check every combination
Chris Chua b0f4d55b 2013-07-29T21:39:29 changes to Avalon driver for BitBurner boards
Michael Bemmerl 1c7ef61c 2013-07-21T23:34:48 Fixed typos
Kano 759ce6e7 2013-07-20T13:20:24 usb timeouts - min/max also
Kano 2dffc96e 2013-07-20T12:56:57 log USB timeouts in API stats
Kano 52cda25f 2013-07-20T10:24:29 usbutils report failed timeouts
Kano 66001267 2013-07-20T07:04:31 usbutils ensure stats macros are using the macro arguments
Kano 4cb7cfb2 2013-07-18T09:59:10 usbutils use a heap buffer for bulk read rather than stack
Kano 8b43e79f 2013-07-18T09:39:23 usbutils only one bulk transfer call per stat
Kano 948f0057 2013-07-16T15:51:17 usbutils - in init only change the config if needed
Kano 51a928fe 2013-07-06T20:56:50 usbutils - size check all sprintf
Kano 2beb30f1 2013-06-28T22:55:55 bflsc get volts stats needs its own GETVOLTS
Kano 9ecef180 2013-06-26T12:53:05 usbutils/icarus include more locking to usbdev access
Kano 1f4b99d0 2013-06-26T01:12:01 usbutils cps correct time measurement
Kano fc89f170 2013-06-25T22:23:06 usbutils add delay API stats
Kano 527c6ee2 2013-06-25T21:35:21 usbutils optional cps IO control - but not enabled
Kano 15dc64a6 2013-06-25T11:51:39 usbutils - incorrect test for * in bus:dev
Con Kolivas 700f4b45 2013-06-23T10:39:17 Ignore iManufacturer for BFLSC devices since the device name will still match and some unbinned chips are missing it.
Kano 45fda135 2013-06-21T18:57:32 undo icarus show errno, put it as debug in ubsutils
Con Kolivas abdf7510 2013-06-21T17:36:20 Reinstate the maxPacketSize determined by the end descriptor but allow the driver to override it.
Con Kolivas f4508b6a 2013-06-20T23:57:58 Temporarily limit usb transfer sizes to 512 till we provide a way for each driver to choose the upper limit.
Con Kolivas f4d74116 2013-06-19T13:18:15 Limit USB transfers to the max size reported by the descriptors.
Con Kolivas a81749bb 2013-06-19T12:15:51 Increase the BFLSC timeout to allow the maximum number of results to be returned for BAS in time.
Kano 410fba7e 2013-06-17T22:20:27 usbutils initialise close key/sem
Kano 87cdfae8 2013-06-17T22:06:31 usbutils cleanup linux semaphores on release
Con Kolivas 9a9613b6 2013-06-17T11:30:04 We should be setting cancelstate, not canceltype when disabling it for usb locking.
Con Kolivas 2eb6d357 2013-06-17T10:30:00 Pthread cancel state should be set to disable on usb DEVLOCK.
Kano d2cb4129 2013-06-16T21:58:01 record and report USB pipe errors via API stats
Con Kolivas 362687f6 2013-06-16T19:08:10 Pipe error is quite common on usb3 so drop logging to verbose level only.