libztex.c


Log

Author Commit Date CI Message
Denis Ahrens ccee686a 2012-12-22T01:12:00 ztex: precheck the secondary solutions to avoid hw errors the ztex bitstreams gives back the latest checked nonce and its hash7 value and two possible solutions. every 250ms the latest nonce is checked and compared with hash7 to count hw errors and adapt the MHz value. one change is to use the solutions even if the latest nonce is not correct. the original java ztex code also does it this way. since the second solution is often not correct we have alot of hw errors. now we always check the second solution before we submit it to the cgminer main code. the java code also ignores all hw errors 500ms after a sendHash. we now do the same. this can possibly yield in a higher MHz rate. but the chance is so low nobody will ever notice in practice.
Denis Ahrens f553c50b 2012-12-22T01:22:42 ztex: if we had only errors in one round we do not count the errors to detect a totally non working fpga we only do that if the last round had some valid nonces. if we would count the errors the automatic megahertz adaption would drop and never recover.
Denis Ahrens 01d7b261 2012-12-14T15:05:34 libztex: fixed a typo
Denis Ahrens 29ff1074 2012-12-21T04:52:13 libztex: check returnvalue of libusb_claim_interface() and release the interface in case of early exit
Denis Ahrens e2c8a1d0 2012-12-10T09:49:44 libztex: avoid the use of libusb_error_name() libusb_error_name() is only available in libusb-1.0.9 and newer
Denis Ahrens 0559d0bb 2012-12-09T23:56:36 libztex: in case the selectFpga() failed set the selected fpga to unknown after libztex_selectFpga() failed we can not be sure which fpga is now selected. can be the old one or maybe even the new one. so set the selected fpga variable to unknown so that the next call must set it again.
Denis Ahrens f5a57596 2012-12-09T12:06:42 libztex: use a function for the twice called firmware reset code
Denis Ahrens 9b1d0c9d 2012-12-09T11:39:56 libztex: removed an unused struct member (ztex->valid)
Con Kolivas b53fa540 2012-12-08T12:38:58 Merge pull request #347 from denis2342/ztex Ztex: more whitespace and style fixes
Denis Ahrens dba00728 2012-12-08T13:09:24 ztex: more style and whitespace fixes
Con Kolivas c1b0143d 2012-12-08T03:58:44 Merge pull request #346 from denis2342/ztex libztex: silenced another warning
Denis Ahrens 44c0f72a 2012-12-08T12:55:26 libztex: silenced another warning
Con Kolivas 77ef4c21 2012-12-08T21:19:22 Include the correct config header in libztex and include it before other includes.
Denis Ahrens b7753e33 2012-12-07T14:11:31 libztex: fixed some warnings and removed some whitespaces
Denis Ahrens 69a688f5 2012-12-07T05:02:26 libztex: silenced some warnings
Denis Ahrens b48b2cc8 2012-12-06T14:06:30 libztex: Read bitstream file in 2kb blocks with simpler and faster code optimized libztex_configureFpgaLS() like it was done some commits ago to libztex_configureFpgaHS()
Denis Ahrens 1203f1f6 2012-12-04T05:34:52 libztex: Add firmware download support for ZTEX 1.15d and 1.15x The correct firmware file is automatically determined based on the ZTEX descriptor in the dummy firmware.
Peter Stuge f9673928 2012-12-04T11:30:04 libztex: Factor out local version of libusb_get_string_descriptor_ascii()
Denis Ahrens 90b3e6ad 2012-12-04T05:09:23 libztex: Make log messages say bitstream when refering to bitstreams
Denis Ahrens d9479b2c 2012-12-03T08:55:00 libztex: Don't return error when a bitstream was already configured The high speed and low speed configureFpga functions should not return an error when no bitstream needs to be downloaded. These codepaths are not executed for now, because all calls to configureFpga set the force parameter to true. Future commits may change that, allowing cgminer to start mining immediately if each hardware has already been correctly configured with firmware and bitstream(s).
Denis Ahrens b70edef9 2012-12-03T08:53:22 libztex: Read bitstream file in 64kb blocks with simpler and faster code
Denis Ahrens a5b28450 2012-12-02T00:05:20 libztex: Verify that the mining firmware is not a dummy firmware
Denis Ahrens 843e9120 2012-12-01T08:41:25 libztex: Match mining firmware ZTEX descriptor against the dummy firmware The first 8 bytes are matched, which ensures that the mining firmware actually fits the hardware, assuming that the correct dummy firmware is present in the device.
Denis Ahrens 8d7ad828 2012-12-01T03:29:58 libztex: Start download sequence only after reading in the new firmware The download sequence starts with a reset command, which tells the board that a new firmware is about to be downloaded. The board gets unhappy if no new firmware is actually sent, so only send the reset command AFTER the new firmware has actually been successfully read.
Peter Stuge 584dc5ac 2012-11-30T03:21:12 libztex: Download mining firmware to all devices with dummy firmware When one or more ZTEX devices with dummy firmware are found on startup, the correct firmware is downloaded to each device, and then USB devices are rescanned until all devices have reattached with the mining firmware. This allows to discover and configure all ZTEX devices and start mining directly, without first running the ZTEX Java software to download a firmware to the device.
Denis Ahrens b28dbc2e 2012-11-26T02:38:20 ztex: Harmonize low-speed FPGA configuration code with high-speed code
Denis Ahrens 4629553a 2012-11-26T02:34:27 ztex: Display FPGA clock frequency with only one decimal
Peter Stuge 1c204dc9 2012-11-25T03:51:46 libztex: Silence warning: comparison between signed and unsigned
Peter Stuge 972ddf74 2012-11-23T03:42:47 libztex: Work around ZTEX USB firmware bug exposed by the FreeBSD libusb The ZTEX USB firmware doesn't correctly support GET_DESCRIPTOR requests for string descriptors, specifically the device always returns the full string descriptor, even if the request wLength is shorter. The FreeBSD implementation of libusb_get_string_descriptor_ascii() first requests 4 (four) bytes to validate the start of the string descriptor, and since the device sends back too many bytes the USB host controller signals an error to FreeBSD which returns the error to us. In order to avoid this mess the libusb_get_string_descriptor_ascii() call is replaced with the way libusb-1.0 works; which makes only a single request to read the entire string descriptor.
Con Kolivas dc7fc13e 2012-11-18T22:23:03 Convert libztex to nmsleep where possible.
Con Kolivas 346d09c3 2012-09-24T14:37:23 Reorder libztex header include order to fix missing struct definition.
Con Kolivas 9e76aed6 2012-08-18T23:21:24 Initialise cnt in libztex.c
Con Kolivas 9065c63f 2012-08-17T16:42:14 Repeating on timeout in ztex could make the code never return.
Con Kolivas 0954a229 2012-08-16T22:30:06 Offset libusb reads/writes by length written as well in ztex.
Con Kolivas e796284c 2012-08-16T22:26:19 Cope with timeouts and partial reads in ztex code.
Con Kolivas a916be0b 2012-08-17T16:42:14 Repeating on timeout in ztex could make the code never return.
Con Kolivas 56775141 2012-08-16T22:30:06 Offset libusb reads/writes by length written as well in ztex.
Con Kolivas 280539bf 2012-08-16T22:26:19 Cope with timeouts and partial reads in ztex code.
Luke Dashjr d3fa59d7 2012-06-05T02:17:09 Abstract generally useful FPGA code into fpgautils.c
nelisky ed60e33a 2012-05-04T08:33:13 Some tweaks to reporting and logging. - Adding fpga number to the ztex string representation - Removing usb details from the ztex string representation - First frequency set no longer reports a bogus old freq
nelisky 0080aea4 2012-05-03T13:24:59 Trying harder to get 1.15y working
nelisky 57a72d51 2012-05-02T07:26:52 Blind implementation of multi-fpga board 1.15y.
nelisky 719b0c7c 2012-04-30T09:29:36 HS bitstream configuration
nelisky 316ebc3b 2012-04-25T03:52:52 Code style cleanup
nelisky 6bb3c40d 2012-04-25T01:57:15 Annotating frequency changes with the changed from value
nelisky 5f5e1063 2012-04-22T08:14:54 Firmware 15d4 support Not yet using suspend and while we have fpga counting implemented it isn't being used yet, thus only the groundwork for quad board support is done, not actually working yet.
Con Kolivas b97e6aa5 2012-04-22T10:57:23 Presumably we should return false when the capability is missing in libztex_checkCapability.
Con Kolivas bd46119c 2012-04-21T14:02:22 Style police on libztex.c.
nelisky 9ba2e217 2012-04-18T01:54:51 Some cleanup
nelisky c280dd0d 2012-04-17T01:51:53 Moving space indentation to tabs For consistency with cgminer sources
nelisky f9d4d92b 2012-04-17T01:25:55 Some cleanup
nelisky 3067a414 2012-04-13T01:37:26 leak fix
nelisky 57a2764e 2012-04-02T21:51:01 Small tweaks to freq reporting
nelisky a960087c 2012-03-21T20:41:03 Ztex device removal segfault fixed
nelisky 3197ca54 2012-03-18T22:35:10 Better cleanup and error handling
nelisky 95d17e98 2012-03-16T19:17:24 NULLing handle on destroy
nelisky c5897683 2012-03-14T21:32:57 changing the bitstream read and push strategy. It seems that thread heap space is neither large nor consistent across OSs. Specifically on windows I couldn't get a large enough buffer for the whole bitstream in one go, so I'm reading incrementally now
nelisky dc6e2f4e 2012-03-13T16:19:55 Reading actual bitfilename
nelisky 5bbce4c4 2012-03-12T00:55:38 nonce check and error driven freq scaling Following BTCMiner's algorithm.
nelisky 0902f21a 2012-03-11T16:58:50 add license headers and some cleanup
nelisky 99a188f9 2012-03-11T00:49:25 initial commit with some support for ztex 1.15x board. This version is just a rough draft, but it does alredy mine. Conflicts: cgminer.c configure.ac