usbutils.c


Log

Author Commit Date CI Message
ckolivas dd2d625d 2014-04-14T12:13:46 Make instructions associated with winusb error even more explicit
Angus Gratton c06d951d 2014-02-26T11:49:26 Fix Windows bug with libusb_reset_device returning SUCCESS for disconnected device Symptoms (new in latest libusb perhaps) on Windows 7, using WinUSB v6.1.7600.16385 kernel driver: - Unplug device during mining - libusb read/write operations return -1 LIBUSB_ERROR_IO - libusb reset returns 0 LIBUSB_SUCCESS ... hence the error checking ends up infinite looping (or until timeout) trying to issue a reset, as it believes each reset has succeeded. This change only allows a reset once per failed read or write operation - if the first reset fails, don't bother trying again. Conflicts: usbutils.c
Con Kolivas d1c5bfa5 2014-03-09T14:06:56 Simplify dramatically the cross-process cgminer locking through use of flock instead of sysv semaphores.
Con Kolivas 52778727 2014-03-02T23:13:38 Merge branch 'bpmx'
Con Kolivas dbec4a0d 2014-03-02T22:42:59 Store usb11 and tt flags as booleans in cgusbdev allowing them to be discretely enabled as well as detected by the device data.
Con Kolivas 5a6e228e 2014-03-02T13:25:37 Add identifiers for bxm bitfury devices.
Kano ed9bd66b 2014-03-02T00:34:09 AntS1 - add detection information to usbutils
Con Kolivas d93038c6 2014-02-26T23:35:09 Only break out of usb_detect_one when a new device is found.
Con Kolivas 26a0ea5b 2014-02-26T23:30:48 Provide a usb_detect_one wrapper which only plugs one device at a time, breaking out otherwise.
Con Kolivas 870b4be9 2014-02-22T15:52:15 Transferred value is corrupt on a NODEV error in usbutils.
Con Kolivas bacd9008 2014-02-22T15:39:00 Only memcopy *transferred data in usbutils if we have received only success or a non-fatal error.
Con Kolivas 1c60a6df 2014-02-22T10:52:09 Revert "Restarts can rarely take a while on hashfast so increase the timeout to 1 second to avoid the usb flood failure." This reverts commit c8648adaa8c5d726412c59f49131762d3fce13ec.
Con Kolivas c8648ada 2014-02-21T14:56:34 Restarts can rarely take a while on hashfast so increase the timeout to 1 second to avoid the usb flood failure.
Con Kolivas 3bb5b054 2014-02-15T16:56:08 Use the simplelog function from usb_list()
Con Kolivas cd79fbd4 2014-02-15T16:51:32 Use a unique usb_list function displaying only pertinent information when listing usb devices from the menu.
Con Kolivas 71939319 2014-02-15T14:53:36 Abstract out the _in_use function to take different linked lists.
Con Kolivas 2108cceb 2014-02-15T14:45:58 Break out of linked list loop in remove_in_use in case we've gone over the whole list.
Con Kolivas 492636a8 2014-02-14T21:36:58 Prevent recursive loop in __is_in_use linked list walking.
Con Kolivas c5694ee8 2014-02-14T21:23:42 Add the ability to whitelist previously blacklisted usb devices from the menu.
Con Kolivas cfa0f6bc 2014-02-14T19:52:35 Use a bool in struct cgpu to know when a usb device has been blacklisted, avoiding blacklisting it more than once.
Con Kolivas 5cda70e7 2014-02-14T08:09:17 Update various copyright dates
Con Kolivas 7a435b6e 2014-02-13T23:37:50 Add a mechanism to blacklist a usb device from its cgpu.
Con Kolivas 19856d67 2014-02-13T23:12:27 Add a usb_reset by cgpu function to usbutils.
Con Kolivas 69d67af1 2014-02-12T20:46:44 Add driver for cointerra devices.
Con Kolivas 2614321a 2014-02-08T07:51:06 Read pipe errors that don't clear are worth attempting to reset the usb.
Con Kolivas d883396e 2014-02-08T07:47:34 Revert "Do away with usb resets entirely since we retry on both pipe and io errors now and they're of dubious value." This reverts commit 4cde067658c9f34a6a98ad5385145432c44eb571.
Con Kolivas 91bd04e8 2014-02-01T10:55:10 Do not memcpy in usbutils unless data was transferred.
Con Kolivas d2e6648c 2014-01-29T22:21:55 Add support for AntminerU1 devices with the icarus driver.
Con Kolivas 4cde0676 2014-01-29T20:54:24 Do away with usb resets entirely since we retry on both pipe and io errors now and they're of dubious value.
Con Kolivas 56f9795a 2014-01-29T20:09:14 Retry on usb IO errors instead of faking success.
ckolivas 6ab7b2b3 2014-01-29T10:50:22 Check that we've cleared the pipe error after a clear request, not the err value which is unchanged.
Con Kolivas e2a10dfe 2014-01-25T00:17:45 Do not send a usb reset on a usb read pipe error.
Con Kolivas d551eba0 2014-01-25T00:16:15 Don't replace usb pipe errors with the pipe reset return code.
Kano d9440866 2014-01-18T09:36:51 Modify thread naming to make them easier to identify
Con Kolivas 87f02131 2014-01-11T16:22:30 Check for loss of device in usb read before any other code on the usbdev
Con Kolivas 61bee221 2014-01-08T22:28:00 Fill the appropriate type of usb transfer when we know if it's an interrupt transfer instead of a bulk one.
Con Kolivas ad6afa39 2014-01-08T22:18:02 Use the internal knowledge of the usb epinfo to determine whether we should be doing an interrupt instead of a bulk transfer, and do not send a ZLP if so, and limit read transfer to expected size automatically.
Con Kolivas c644b749 2014-01-05T20:13:02 Provide a way for usb reads to just read the size asked for with a limit bool.
Con Kolivas 0615cc8c 2014-01-03T16:47:51 Don't return an error in usb read if we've managed to get the whole read length we've asked for.
Con Kolivas d66ebfee 2014-01-03T16:46:07 Use correct endpoint order for nanofury devices and read with a short timeout on return loop from send_recv.
Con Kolivas b849a1b9 2014-01-02T22:25:56 Add basic device detection and updated udev rules for nanofury devices.
Con Kolivas 1b7737d8 2013-12-24T08:34:56 Fix BXF being inappropriately dependent on drillbit.
Kano 97a13df4 2013-12-23T06:58:26 Merge remote-tracking branch 'drill/master' into drill
Con Kolivas afe77108 2013-12-21T08:28:23 Change default hashfast timeout to 500ms.
Angus Gratton 85aebc41 2013-12-11T19:29:10 Merge remote-tracking branch 'upstream/master' into merge_385
Con Kolivas daf2c9b9 2013-12-10T06:39:21 Only set LIBUSB_TRANSFER_ADD_ZERO_PACKET for libusb versions we know include support for.
Angus Gratton 5c411228 2013-12-09T15:25:57 Fix compilation clashes with Drillbit & Bitfury driver, allow both to be compiled in at once
Con Kolivas 8b09c083 2013-12-09T13:46:36 Attempt USB device resets on usb read/write errors that will normally cause the device to drop out.
Angus Gratton 73343f38 2013-12-09T11:39:03 Merge remote-tracking branch 'upstream' into merge_upstream Conflicts: usbutils.c
Con Kolivas 138ff949 2013-12-08T12:48:06 Cache the bool value for usb1.1 in _usb_write
Con Kolivas 7ae878aa 2013-12-08T12:44:45 Initialise usb locks within usbutils.c instead of exporting them.
Con Kolivas 509d1a78 2013-12-08T13:21:57 Imitate a transaction translator for all usb1.1 device writes to compensate for variable quality hubs and operating system support.
Con Kolivas b209d9f6 2013-12-08T12:48:06 Cache the bool value for usb1.1 in _usb_write
Con Kolivas d7c5667a 2013-12-08T12:44:45 Initialise usb locks within usbutils.c instead of exporting them.
Con Kolivas 3737d62a 2013-12-08T12:37:25 Rationalise variables passed to usb_bulk_transfer.
Con Kolivas a3ed7abc 2013-12-07T14:56:39 Unlink files opened as semaphores on releasing them.
Angus Gratton 20997344 2013-12-03T18:56:54 Fix bug with drillbit devices not numbering correctly
Con Kolivas 9bcd5ca8 2013-12-02T17:20:02 Having changed C_MAX means we don't calloc enough for usb stats, off by one.
Con Kolivas 0da9c87e 2013-12-01T15:18:16 Deprecate the usb usecps function and just split up transfers equal to the maxpacketsize on usb1.1 devices.
Con Kolivas f3afbe61 2013-12-01T14:19:46 Retry sending after successfully clearing a pipe error.
Con Kolivas 1b18e3cd 2013-12-01T14:10:57 Drop logging of timeout overrun message to verbose level.
Con Kolivas ab7580cc 2013-12-01T00:07:37 Use a much longer callback timeout for USB writes on windows only as a last resort since cancellations work so poorly.
Con Kolivas b68124b0 2013-12-02T17:20:02 Having changed C_MAX means we don't calloc enough for usb stats, off by one.
Con Kolivas 3bc36eb0 2013-12-01T15:18:16 Deprecate the usb usecps function and just split up transfers equal to the maxpacketsize on usb1.1 devices.
Con Kolivas 596e95b0 2013-12-01T14:19:46 Retry sending after successfully clearing a pipe error.
Con Kolivas 9a6ce20e 2013-12-01T14:10:57 Drop logging of timeout overrun message to verbose level.
Con Kolivas 423dd457 2013-12-01T00:07:37 Use a much longer callback timeout for USB writes on windows only as a last resort since cancellations work so poorly.
Angus Gratton e933a560 2013-11-30T22:03:26 Merge remote-tracking branch 'upstream' into merge_383 Conflicts: usbutils.c usbutils.h
Con Kolivas 0aede509 2013-11-30T12:32:34 Revert "Disable USB stats which were not meant to be enabled by default and add extra memory for a memory error when stats are enabled." This reverts commit 693d3916448ddc66f3a109c5e065e99aa8fa9669.
Con Kolivas 6a91027f 2013-11-30T10:14:44 Use sync usb transfers in lowmem mode.
Con Kolivas be1d7a90 2013-11-30T08:52:42 Go back to allowing timeout errors on USB writes to be passed back to the driver without removing the device in case the driver wishes to manage them.
Con Kolivas 7ddb94d6 2013-11-25T23:47:43 A USB control error must be < 0
Con Kolivas d2b7ccbf 2013-11-25T23:13:29 Simplify USB NODEV error checking to success only for writes and control transfers, and success and timeout for reads.
Con Kolivas 999d27ed 2013-11-25T23:05:41 libusb error IO should be fatal as well if it gets through usb read and write.
Con Kolivas 751585c6 2013-11-25T23:01:33 Allow IO errors in usb reads/writes to be ignored up to retry max times.
Con Kolivas 04fab9bf 2013-11-24T09:39:44 Relax the timeouts for the slower usb devices on linux.
Con Kolivas 0e60ca30 2013-11-22T23:21:44 Make usb_detect return the cgpu associated with it to check if it succeeds to decide on whether to increment the device count or not.
Con Kolivas 9ce30b7b 2013-11-22T11:14:21 Zero the read buffer in _usb_read to avoid stale data and only use stack memory instead of using the bulkbuf since it is only used in _usb_read.
Con Kolivas 23aff60d 2013-11-22T10:34:30 Change the processed value not the bufsiz in response to an end of message marker.
Con Kolivas 49ae610b 2013-11-22T10:24:35 Don't lose data beyond the end of message in a usb read.
Con Kolivas 4cb51674 2013-11-22T09:58:30 Only check strlen on end if end exists.
Con Kolivas b8d8ebfa 2013-11-22T09:54:58 Simplify the end of message detection in _usb_read and allow it to return without doing another read if the message is already in the buffer.
Con Kolivas fd2b247a 2013-11-18T10:38:05 There is no need to limit usb write transfers to maxpacketsize and it's harmful for large transfers on slow devices such as wrt routers.
Con Kolivas 693d3916 2013-11-17T23:04:29 Disable USB stats which were not meant to be enabled by default and add extra memory for a memory error when stats are enabled.
Con Kolivas b3b32675 2013-11-17T17:09:29 Set limit and count to integers to not overflow during failed hotplug attempts and then not trying again.
Con Kolivas c29d6014 2013-11-16T14:46:49 Add more information on libusb failure to init telling users to check README file.
Con Kolivas f785ae5d 2013-11-15T17:34:06 Add bxf details to usbutils.
Angus Gratton 998a368f 2013-11-15T09:41:01 Merge remote-tracking branch 'upstream' into new_protocol Conflicts: cgminer.c configure.ac miner.h
Con Kolivas 488b2ba5 2013-11-14T21:25:52 Merge branch 'master' into bxf
Con Kolivas 67c3826b 2013-11-14T10:37:23 Uniquely identify the BF1 and BXF bitfury devices.
Con Kolivas afb710f3 2013-11-14T00:58:21 Use our new zero length packet support directly in windows.
Kano eac185e8 2013-11-11T13:21:41 Klondike support I2C USB layout also - as KLI
Con Kolivas b74af263 2013-11-12T07:40:35 Only limit packetsize on usb out writes.
Kano b99971f4 2013-11-11T13:21:41 Klondike support I2C USB layout also - as KLI
Con Kolivas 8467d448 2013-11-11T07:11:06 Revert "Send a zero length packet at the end of every usb transfer on windows in case libusb internally has batched them into one maxpacket sized." This reverts commit 4e7b7f6f1802df2cd78c84bb93ff64acf51ca075.
Con Kolivas 4e7b7f6f 2013-11-10T17:49:49 Send a zero length packet at the end of every usb transfer on windows in case libusb internally has batched them into one maxpacket sized.
Angus Gratton 278f157e 2013-11-10T09:12:39 Merge remote-tracking branch 'upstream/master' into new_protocol
Con Kolivas 9f74e057 2013-11-09T08:23:23 Use libusb's own zero length packet support unless we have to emulate it on windows since only libusb knows for sure if it's needed.
Con Kolivas 8e5dc21e 2013-11-09T01:46:50 Send zero length packets when terminating a usb write aligned to maxpacketsize.
Con Kolivas 652044d9 2013-11-06T10:01:15 Check length before submitting sync transfers