forked from needbmw/bfgminer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
5265 lines (4945 loc) · 260 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
BFGMiner Version 3.1.4 - August 2, 2013
- Windows: Rebuild pdcurses with UTF-8 and wide character support
- Bugfix: Avoid using wide curses symbols/macros when USE_UNICODE is not defined
- Unicode: Use line drawing in TUI Help
- Use bfg_waddstr even with Unicode disabled, since it's needed for red
highlight
- Colour bad conditions in red
- Unicode: Cross-tee intersecting lines
- Unicode: Use WACS_VLINE for vertical lines
- Unicode: If degrees symbol is available, add it to temperatures
- Unicode: bfg_waddstr wrapper to handle non-ASCII characters, currently used
only by logging and statlines
- Unicode: Use WACS_HLINE for horizontal lines
- Add framework for using Unicode in TUI (can be disabled with --no-unicode)
- Avoid using potentially locale-dependent ctype functions in locale-independent
contexts
- Refactor temperature in TUI statlines to share code nicer
- Bugfix: avalon: Fix applog formatting
- Bugfix: Align totals columns in per-processor view
- Bugfix: Fix curses-less build
- configure: Workaround buggy autoconf versions
- Bugfix: erupter: Include headers in order necessary for Windows
- Bugfix: Reimplement get_intrange using strtol instead of sscanf (which is
broken on Windows)
- Bugfix: get_intrange: Check for extra garbage at the end, only after we know
we have an end-position
- Bugfix: Fix Enter key in TUI on Windows
- erupter: Split identify-handling logic into handle_identify function
- Bugfix: erupter: Ensure identify is handled during no-once or firstrun
- erupter: After identify, check if a work restart is needed immediately
- erupter: Implement identify function by pausing hashing for 3 seconds
- Bugfix: icarus: Remember firstrun state in case it gets changed for the next
run
- icarus: Move actual dynclock updates to icarus_job_start
- icarus: Split out icarus_job_prepare, and rename icarus_job_start
- Bugfix: ZeroStats: Reset column widths to 1
- miner.php: Include max temperature in device totals line
- Bugfix: Stratum Fix debug logging of initial mining.subscribe command
- Bugfix: Call pool_set_opaque from work_decode, so block content hiding/
providing messages work for getwork/GBT
- Split block contents hiding/providing notices out from stratum code
- Add test suite for get_intrange
- Bugfix: Check for error conditions in get_intrange to not have weird --device
behaviour when bad values are provided
- Bugfix: erupter: Take advantage of detectone_meta_info to handle Emerald
autodetection
- TUI Help describing the various status fields (contributed by midnightmagic)
- Bugfix: ManageTUI: Allow 'I' key to be used by devices not supporting identify
- Bugfix: Prefer Sapphire over Emerald for -S erupter:*
- Bugfix: Clear total_bad_nonces when zeroing statistics
- Bugfix: modminer: Since we are not searching iManuf string for needles, only
look for "ModMiner"
- Bugfix: sysfs autodetect: Recurse into tty/ subdirectory (necessary for
CDC/ACM ttys)
- sysfs autodetect: Split tty* directory search into new _sysfs_find_tty
function
- modminer: Reduce default clock to 190 MHz
- README: Update driver info to include Erupter driver
- README: FAQ about scrypt and difficulty
- Include count of working devices/processors in totals statline
- Format totals statline the same way as individual device/processor statlines
- Rearrange TUI a bit, including menu at the top (+1 log line) and hashrate
total closer to device summaries
- Bugfix: setup_stratum_curl: Need to release stratum lock on connection failure
too
- Bugfix: Avoid unnecessary locks inside curses_print_status, which is called
with the console lock held
- Bugfix: setup_stratum_curl: Hold stratum lock until connection completes, to
avoid potential races
- Bugfix: stratum_works: If stratum is already active, it works (avoid trying to
initialise it again)
- Replace hashrate_to_bufstr/ti_hashrate_bufstr with format_unit/
multi_format_unit_array
- New multi_format_unit_array to fill multiple buffers instead of building a
delimited string
- multi_format_unit: Skip recounting length of fixed-length strings
- Shrink status line to fit in 80 columns
- Add network bandwidth rate to TUI
- New multi_format_unit variadic macro to handle formatting multiple numbers at
once
- format_unit: Option to choose 3-digit integer display vs 5-character floating-
point display
- Optimization: format_unit: Handle number first, to avoid having to restore
suffix later
- Generalise hashrate_pick_unit/hashrate_to_bufstr into pick_unit/format_unit
- Extend hashrate_pick_unit/hashrate_to_bufstr to handle sub-kilo units
- Split total_bytes_xfer to total_bytes_rcvd and total_bytes_sent
- Bugfix: _decode_udev_enc_dup: Allocate enough space for full string
- Bugfix: Never use waddstr for logwin, since it would bypass special newline
handling
- Bugfix: bitforce: Set kname on chip processors
- bitforce: Include voltages in Manage device TUI
- Defer newlines going to curses logwin, to avoid a useless blank line at the
bottom of the window
- Ensure printing to logwin always goes through _wlog
- Remove blank line above log window
- bitforce: Identify parallel queue protocol distinctly from mere bulk queue
- ManageTUI: Include kernel name, when available
- Stratum: Roll ntime as we generate work
- Stratum: Make swork.ntime native-endian
- Stratum: Treat ntime as uint32_t (as it should be), still always big endian
- Debuglog ManageTUI actions/responses
- ManageTUI: Add generic Identify support
- Bugfix: Move serial_detect* and open_bitstream to DevAPI code so CPU/OpenCL
can build properly without fpgautils
- Short-circuit logging sooner in quiet mode
- Write to both stderr and console within same console lock "session"
- Bugfix: Also hold the console lock when writing to stderr
- Use common console locking function for stdout in logging.c
- Move console lock and unlock functions (which also handle thread cancelstate)
to miner.h
- Bugfix: bitforce: Only try to clear queues of SC devices, since FPGA MR boards
interpret ZQX/ZOX differently
- Timer-based gettimeofday substitute for systems with poor time-of-day clocks
(Windows)
- Use clock_gettime(CLOCK_MONOTONIC) for timers when available
- Use QueryPerformanceCounter for timers on Windows
- Generic refactoring for timer_set_now
- Replace all remaining uses of gettimeofday for timers, with timer_set_now (aka
cgtime)
- Don't mix timers with timestamps (visual only)
- Always use struct timeval for timers, and don't mix timers with timestamps
(functional only)
- get_datestamp: Change timeval parameter to time_t, and implement
get_now_datestamp for common "current time" use case
- Use get_datestamp for (non-microsecond) log timestamps
- Bugfix: ztex: Allocate final processor names on the heap, so they survive when
the stack for ztex_prepare is gone
- Bugfix: ztex: Copy serial number to device "name" before cloning it for other
processors
- Bugfix: x6500: Use cgpu->temp directly since there is only one sensor per
processor
- Bugfix: Actually show the highest temperature, not just calculate it
- x6500: Allow changing clock speed from TUI Manage device
- x6500: Port pgaset clock from modminer driver at
66d2a3ab072fcdbc3c7ed41a97f265afa917bbee
- modminer: Allow changing clock speed from TUI Manage device
- bitforce: Flush job and result queues at startup to avoid unnecessary warnings
- x6500: Reduce default clock to 190 MHz
- Bugfix: fpgautils: Close libusb handle after copying USB strings
- use BSD sed syntax to generate iospeed_local.h
BFGMiner Version 3.1.3 - July 11, 2013
- Bugfix: Reset staged_full flag when discarding (stale) popped work, or
increasing the queue minimum
- Bugfix: Only trigger staged work underrun if a mining thread was actually
waiting for it (and do so sooner, before it has the work made)
- bytes_cpy: avoid malloc and memcpy when size is zero
- fix infinite loop in bytes_cpy when size is zero
- Bugfix: Generate iospeeds_local.h based on termios.h defines, and only try to
use POSIX standard if that fails
BFGMiner Version 3.1.2 - July 8, 2013
- When not compiling with optimizations, initialize unused nonce2 space to avoid
warnings from memory checking tools
- TUI Manage devices: Support PgUp/PgDn keys to skip over processors within the
same device
- Bugfix: bitforce: Prefer 2nd temperature if higher than 1st
- When displaying device summary statlines, use the highest temperature reported
by any processor
- Stratum: Fix nonce2 sizes greater than 4 and (on big-endian) smaller than 4
- bitforce: Manage TUI: Display both temperatures (if two), and enable changing
fan speed
- opencl: Add fan speed to Manage device TUI now that it's been removed from
statline
- DevAPI: Remove old statline APIs entirely, and add new override_statline_temp
(used by modminer/x6500 for upload %)
- README: Update statlines
- TUI: Replace DevAPI statline_before with a predefined temperature column to
free up statline space
- Refactor and simplify bin2hex to speed up and avoid unnecessary heap use
- stratum: Refactor work generation to do hex2bin conversions once, rather than
every single header generated
- Implement bytes_t for generic binary data storage (including smart realloc-
based resize)
- Bugfix: fpgautils: Only try to change baud rate when requested
- x6500: Provide manuf/product/serial to cgpu interface
- ztex: Provide manuf/product/serial to cgpu interface
- erupter: Use baud 115200 by default
- List valid baud rates once in iospeeds.h and standardize conversions
- TUI: Display device manufacturer/product/serial in Manage device screen, when
available
- DevAPI: Store manufacturer/product/serial for each device
- fpgautils: detectone_meta_info to provide metainformation (manufacturer,
product, serial) on devices to detectone functions
- Bugfix: fpgautils: Close product string file from sysfs (autodetect)
- erupter: New icarus-based driver to handle autodetection of Block Erupter
devices
- Add --log-file option which redirects stderr to a file, but valid anywhere in
the commandline or config file
- Detect staged work underruns and increase queue to avoid them
- Rewrite hex2bin to perform much faster (reduces minirig CPU usage by more than
half!)
- README: Add condensed list of dependencies
- Enable "maintainer mode" by default
- Bugfix: opencl: TUI manage: "Change settings" must not be compiled in with
no-ADL builds
- Bugfix: Detect whether the linker accepts -zorigin before attempting to use it
- opencl: ADL: ADL_Adapter_ID_Get fails with newer drivers, so tolerate its
failure best we can
- opencl: Don't try to use BFI_INT patching with APP-SDK newer than 1084
(Catalyst 13.1), since it doesn't work
- fpgautils: Elaborate that bitstream open failures are probably due to missing
bitstream package
- fpgautils: s/firmware/bitstream/
- Bugfix: Cleanup handling of complete device/driver failure
- Deprecate -C (enable CPU) and -G (disable GPU) options, now that -S
drv:[no]auto can be used for the same purposes
- Bugfix: Since at least one of unix (or __APPLE__) or WIN32 is required by
util.h, make sure unix is defined if WIN32 is not
- Bugfix: Set ELF rpath for bundled libblkmaker to use $ORIGIN so it can be run
from other directories
- Bugfix: Cleanup needs to happen before printing the final quit message, or it
gets lost in TUI mode
- Bugfix: fpgautils: Initialize my_dev_t instances with null bytes, to ensure
random unused data cannot influence hash keys
- opencl: ManageTUI: Clear log cleanly for changing settings
- Remove "GPU management" TUI entirely
- opencl: Use new "Manage device" interface to do everything "GPU management"
used to be used for
- DevAPI: Add interface for drivers to define custom "Manage device" options
- DevAPI: New function called to display additional processor information for
"Manage devices"
- TUI: Add enable/disable commands to device management
- TUI: Implement beginnings of generic device management interface
- Bugfix: avalon: Fix LIFE_INIT2 setting
- Add LIFE_INIT2 status (safe to call functions, but not mining yet) for devices
that want to report initialization status in their statline
- Bugfix: modminer: Only program once for --force-dev-init
- Bugfix: x6500: Only program once for --force-dev-init
- fpgautils: Workaround and document Xcode clang bug
- Bugfix: avalon: Correctly claim serial port
- Bugfix: -S all: Mac OS X needs to probe /dev/cu.*, not just /dev/cu.usb*
- cpu & opencl: Refuse to detect more than once
- cpu & opencl: Respect scan-serial auto/noauto instructions
- ft232r & libztex: Skip probe of claimed devices
- fpgautils: Check for devices being claimed before calling detectone from autodetectors
- x6500 & ztex: Claim USB devices
- fpgautils: Implement bfg_claim_usb for claiming devices by USB bus number and
address
- fpgautils: Replace serial_claim with bfg_claim_serial using a more cleanly
extensible interface and implementation
- fpgautils: serial_claim: Include a bus enum in hash key
- Add serial port claiming logic to avalon, bitforce, and modminer drivers
- RPC: "devscan" command to probe for new devices
- New (internal) scan_serial function to probe for new devices at runtime
- Split out per-cgpu temperature configuration code to load_temp_config_cgpu
- DevAPI: Modify add_cgpu to use temporary devices_new array, so detection can
be done without touching live variables
- Move more cgpu initialization to allocate_cgpu
- Move devtype default assignment to allocate_cgpu
- Move cgpu startup routine to new start_cgpu function
- Move cgpu_info allocation to new allocate_cgpu function
- Move *.drv_detect calls to a new drv_detect_all function
- DevAPI: add_cgpu: There is no need to hold mutexes while creating devices
- Bugfix: cpu: Update device "kernel name" with auto-selected algorithm
- usbtest: Improve portability to at least 2.7 and 3.2
- usbtest: Avoid messing up the display by escaping weird bytes via repr()
- usbtest: Skip last 2 optional parameters, since we use the defaults and they
are not in older versions of pyserial
- Bugfix: bitforce: ZOX limits results to 16 results per call, so repeat ZOX
until there are fewer
- Bugfix: Initialization for bfgtls needs to be done in each thread
- Bugfix: stratum: Be patient with stratum lines that come in slower than we can
process them
- Use bfg_strerror in locations previously just logging raw error numbers
- Bugfix: stratum: Log WSAGetLastError() for error number on recv failures on
Windows
- Use bfg_strerror where it is already needed (for thread-safety)
- New thread-safe bfg_strerror function to portably stringify error codes
- Bugfix: bitforce_queue: Initialize buf2 so errors don't cause the work queue
to flush
- TUI: Display percentage invalid of found nonces with hw errors
- Bugfix: modminer & x6500: Increment *->diff1 for all bad nonces
- percentf2 that takes t as precalculated total
- Keep track of bad nonces independently from generic hw errors
- inc_hw_errors: Resolve cgpu outside of mutex
- Use inc_hw_errors function at every site which increases hw_errors
BFGMiner Version 3.1.1 - June 22, 2013
- stratum: Deliver exact socket-error within the debug error message
- Don't install docs for (compile-time) disabled functionality
- Bugfix: Handle make dependencies on subdirectory files properly
- Bugfix: Use EXTRA_*_DEPENDENCIES for Cygwin workaround, to fix program make
dependencies
- Support new overclocking speeds for avalon: 325, 350 and 375
- Bugfix: logging: Since we are inlining snprintf, stdio.h is needed
- Bugfix: serial_autodetect_ftdi: Debuglog FTDI COM port mappings returned, fix
type of FT_HANDLE
- Bugfix: Allow starting non-libusb devices if libusb_init fails
- Bugfix: Add missing newline to libusb_init failure message
- Bugfix: opencl: Remove unnecessary casts from rot() macro, which created type
issues
- Bugfix: Remove unused variables
- Suspend stratum connections when we know they've failed and don't try to recv
data from them once the socket no longer exists.
- applog/quit fix GPU errors created
- logging remove extra added <LF>
- remove varargs from logging/quit/in general as much as possible
- compile unix code on Mac OS X fixes not finding the config file in $HOME
- Create a pool_localgen bool function for testing when a pool can generate work
locally.
- Use mining start time for device MH/U calculations
- Bugfix: Save start time for stats to correct "Elapsed" key on "stats" RPC
request
- modminer: tidy up free in device detect function
- bitforce: RPC pgaset fanmode 9 for auto fan control
- Bugfix: usbtest: Correct obvious typos
- Initial import of usbtest.py script
- Include microseconds in log output with new --log-microseconds option
- bitforce: Workaround chip ids not necessarily being in order by choosing
processor count based on expected chip ids rather than parallelization
- serial_autodetect_ftdi: Debuglog FTDI COM port mappings returned
- Bugfix: On stratum disconnect, clear stratum_active and stratum_notify
atomically along with sock
- Windows: Use backtrace.dll to print usable backtraces to stderr on crash
- Bugfix: bitforce: parallelized: Properly handle parallelized protocol with
only 1 chip
- Bugfix: bitforce: XLINK: Increment boardno when moving on to the next board
- bitforce: XLINK: Update to use actual length,xlinkid header order
- Bugfix: bitforce: XLINK: Avoid trying to send 0 bytes after each write
- Bugfix: opencl: Build fpgautils even if OpenCL is the only driver, now that it
uses it for kernel-finding
- Bugfix: Do not try to call get_stats or get_statline* if device is still
initializing
- Bugfix: opencl: Add missing include for fpgautils.h (needed for
open_bitstream)
BFGMiner Version 3.1.0 - June 13, 2013
- Bugfix: openwrt: Expect fixed bitstream path for input
- Improve Makefile organization and fix "make install"
- icarus: Upgrade work division autodetection probe to be faster and also detect
8 core
- Calculate rejection percentage based on weighed shares, not absolute counts
- Count weighed discarded (stale) shares per cgpu
- Bugfix: Cleanly count discarded (stale) shares without overlapping
devices/sshare locks within clear_stratum_shares
- configure: Enable Avalon support by default now that it behaves reasonably
- avalon: Since detection is not really implemented, only probe devices when the
driver is specified to -S by name (eg, "avalon:/dev/ttyUSB0")
- Bugfix: bitforce_queue: Never try to reinitialize a slave processor
- Bugfix: bitforce_queue: Use work_list_del everywhere we remove from work_list
to ensure work gets freed properly when done
- Reduce HW error logging to debug level, so it doesn't clutter the TUI log by
default
- DevAPI: When a device has more than 26 processors, represent them as aa-zz
- bitforce: bitforce: Fix TUI display of slave processors on parallelized boards
- bitforce: Only display temperature in TUI for the first chip on parallelized
boards
- Bugfix: bitforce: Set temperature for all processors on the board
- Bugfix: bitforce_queue: Initialize proc->device_data to board data for
parallelized chip processors
- Bugfix: bitforce_queue: Defer nonce count check until after thiswork has been
identified (or handled as NULL)
- avalon: avalon_clear_readbuf can simply wait for a single read timeout on
Windows to avoid select
- avalon: Simplify avalon_get_result by using avalon_gets
- avalon: Go back to good old serial timeouts for gets, since select() is for
sockets (only, on Windows)
- Updated api.c to return the hashrate with 3 decimal places
- Change hashrate display to never display 3 fractional digits, because it looks
a bit ugly
- bitforce: Credit hashrate to the correct chip on parallelized devices
- Re-set work thr_id on share submissions, to ensure the result gets credited to
the correct device in case of shared job queues (as in BitForce long boards)
- bitforce: Turn parallelization into separate logical processors for more
details on each, including working with XLink
- bitforce_queue: Implement job sanity checks using new "ZqX" for devices using
parallelization
- bitforce_queue: Minimal support for parallelization
- Add --device-protocol-dump option to debuglog low-level bitforce protocol
details
- When shutting down, set work restart flag (and trigger notifier) to help
mining threads escape to their main minerloop (and check for shutdown)
- Document and check for uthash version 1.9.2+
- Bugfix: Don't report failure for graceful mining thread shutdown
- Name devices in mining thread failures
- Warn about killing mining threads
- Bugfix: Wake up mining threads when asking them to shutdown
- Disable pthread cancel within curses locking
- Shorten the avalon statline to fit in the curses interface and show the lowest
speed fan cooling the asic devices.
- Change switch_compact function name to switch_logsize to be used for other
changes.
- Only adjust cursor positions with curses locked.
- devs display - fix GPU duplicate bug
- basic copyright statement in API.java
- Change the --device parameter parsing and configuration to accept ranges and
comma separated values.
- Modify scrypt kernel message.
- Check for pool_disabled in wait_lp_current
- Check for pool enabled in cnx_needed.
- Add README.ASIC to debian packaging and make-release
- Document avalon options in ASIC-README
- Create README.ASIC with basic summary of supported ASIC devices.
- Do avalon driver detection last as it will try to claim any similar device and
they are not reliably detected.
- Set the fanspeed to the nominal chosen for GPUs.
- Clamp initial GPU fanspeed to within user specified range.
- Avalon fan factor is already multiplied into the info values.
- Get rid of zeros which corrupt display.
- Logic fail on minimum fanspeed reporting.
- Provide a workaround for fan0 sensor not being used on avalon and pad fan RPM
with zeros.
- Add ambient temp and lowest fan RPM information to avalon statline.
- Display max temperature and fanspeed data for avalon.
- Set devices to disabled after they exit the hashing loops to prevent the
watchdog thread from trying to act on them.
- Scanhash functions perform driver shutdown so don't repeat it.
- Change the opencl shutdown sequence.
- Send the shutdown message to threads and do the thread shutdown functions
before more forcefully sending pthread_cancel to threads.
- Icarus report data direction with comms errors
- Execute driver shutdown sequence during kill_work.
- Provide an nusleep equivalent function to nmsleep.
- Set avalon_info to device data void struct.
- Make submit_nonce return a bool for whether it's a valid share or not.
- Do a non-blocking read of anything in the avalon buffer after opening the
device.
- Assign the avalon info data to the device_data in cgpu_info.
- Rename cgpu_data to use new device_data
- miner.h remove unused device_file and add device_data
- Must unlock curses as well in logwin_update.
- icarus report usb write error information
- Make mining threads report out during work submission.
- submit_work_async is no longer used directly by driver code.
- Create a logwin_update function which mandatorily updates the logwin and use
it when input is expected to prevent display refresh delays.
- All stratum calls to recv_line are serialised from the one place so there is
no need to use locking around recv().
- Only allow the mining thread to be cancelled when it is not within driver
code, making for cleaner shutdown and allowing us to pthread_join the miner
threads on kill_work().
- Implement pthread_testcancel replacement for BIONIC
- Attribute whatever stats we can get on untracked stratum shares based on
current pool diff.
- Downgrade OpenCL headers to 1.0, which work fine for our purposes and are more
compatible
- icarus: If work_division autodetect fails, just use the old default of 2
- avalonhost-raminst script to help with installing to RAM on Avalon-host
routers
- Attempt to probe /dev/cu.usb* for fallback "-S all"
- openwrt: Download uthash dependency
- Bugfix: openwrt: Always build with libsensors support disabled
- configure: Check for uthash headers
- Bugfix: ztex: Only destroy libztex device after the last handle to it has been
released
- ztex: Remove libztex slave device interface, simply passing fpgaNum to
selectFpga
- Bugfix: cpu: Fix yasm and sse2 detection
- cpu: Check for SSE2 support independently from yasm
- Bugfix: cpu: Make sure to link libsse2cpuminer.a before x86_32/libx8632.a
- Bugfix: cpu: Only build libsse2cpuminer iff yasm is available and targetting
x86_32
- Bugfix: Free work only after deleting it from list
- Remove embedded uthash.h and utlist.h from Makefile
- windows-build.txt: Update for system uthash
- Remove embedded uthash (and add dependency on system uthash)
- Replace elist.h with utlist.h
- Bugfix: Fix build with CPU mining and *without* yasm
- cpu: Be explicit about size of sha256_init address
- cpu: Add --algo fastauto (new default) to detect a usable algorithm without
taking over a minute
- cpu: Default to --algo auto
- cpu: Support all platform-applicable assembly algorithms, even if used CFLAGS
don't support them
- Ubuntu: Updated changelog, added scrypt support.
- cpu: Set fixed symbol names for stuff shared with assembly
- cpu: Create Mach-O asm binaries on Darwin-based systems
- Bugfix: cpu: Use COFF yasm binfmt on Cygwin
- Bugfix: cpu: Get correct nonce from data, where the CPU sub-drivers leave it
- Remove redundant "Reject ratio" in exit-time summary
- Apply "R+S(%)" formatting to long-form statistics
- Group stale shares in with rejects (but still distinctly counted) and make the
percentage be (reject+stale)/total
- Include rejected shares as a percentage
- Move Utility and Best Share to status line
- Remove LW from status line, since it is basically useless
- ztex: Clean up a lot of ugly casting
- Bugfix: Correctly avoid SIGPIPE on Mac
- Make set_work_target a function to set a specified char as target for use
elsewhere.
- Minor typo.
- Support more shares to be returned for scrypt mining.
- Set all stratum sockets to nonblocking to avoid trying to use MSG_DONTWAIT on
windows.
- Only use MSG_NOSIGNAL for !win32 since it doesn't exist on windows.
- Use MSG_NOSIGNAL on stratum send()
- Set TCP_NODELAY for !linux for raw sockets.
- Use TCP_NODELAY with raw sockets if !opt_delaynet
- Recheck select succeeds on EWOULDBLOCK for stratum.
- Don't use TCP_NODELAY if opt_delaynet is enabled with stratum.
- Fix warnings in avalon driver.
- correct applog typing
- Simplify the many lines passed as API data in the avalon driver now that the
API does not need persistent storage for the name.
- Duplicate the name string always in api_add_data_full to not need persistent
storage for names passed to it.
- Add extra matching work count data in API for Avalon with 4 modules.
- Clean up summary slightly better on exit.
- opencl: Disable using binary kernels on Apple by default
- Use sock_blocks in api.c
- Fix build and distdir.
- compile on win32
- Update README.scrypt with improved hashrates for 7970.
- Use copy_time helper throughout miner.c
- Provide wrappers for commonly used timer routines with API stats.
- Use flip32 function instead of open coding it in gen_stratum_work.
- Move util.c exports to util.h
- Replace gettimeofday usage with cgtime
- Adopt gettimeofday wrapper from cgminer (cgtime) that is always called with tz
set to NULL and increases the resolution on windows.
- Add high resolution to nmsleep wrapper on windows.
- Bugfix: Export stats_lock for deviceapi
- Set default ocl work size for scrypt to 256.
- fliter out the wrong result from adjust fan code
- Set last device valid work on adding device.
- Make scrypt submission use the submit_nonce code, with nonces matching
endianness.
- Increment hardware error count from the one site.
- compile avalon driver on win32 and win64
- build out of source dir
- Rename scrypt regenhash function for consistency.
- Add Mac FAQ.
- Further driver FAQs.
- Check for work restart after disable in the hash queued work loop since it may
be a long time before we re-enable a device.
- Unconditionally test for many wrong results on avalon and reset to avoid
passing a corrupt avalon result to temperature code.
- Only reset an avalon device with no results when there are no results
consecutively.
- More FAQs.
- Avoid applog in recalloc_sock.
- Avoid applog under cg_wlock.
- Put spacing around locking code for clarity.
- Avoid applog under pool_lock.
- Avoid more recursive locks.
- Avoid applog while ch_lock is held.
- Avoid recursive locks in fill_queue.
- Variable is already initialised in global scope.
- More GPU FAQs.
- More README faqs.
- Yet more README faqs.
- Add more FAQs to README.
- Wrap result wrong tests in avalon scanhash in unlikely() and only consider a
hash count of zero wrong if a restart wasn't issued.
- avalon: if result_wrong >= get_work_count jump out the read loop
- Fix warning on 32bit.
- fix the fan control on max temp2/3
- for some reason network down. one simple bfgminer command: "bfgminer -o
127.0.0.1:8888 -O fa:ke --avalon-options 115200:32:10:50:256" can idle the
avalon for safe power and protect chip
- if hash_count == 0; reinit avalon, fix the 0MHS bug use the max value of temp1
and temp2 for fan control
- Reinstate the matching_work_count per subdevice on avalon based on the work
subid.
- Rationalise and simplify the share diff and block solve detection to a common
site.
- subid field for devices that do not yet support the distinct device/processor
interface
- Make the avalon array size a macro.
- Use replacement of work items in the avalon buffer as needed instead of
flushing them.
- Reinstate wrong work count to reset avalon regardless and display number of
wrong results.
- select() on serial usb in avalon does not work properly with zero timeout.
- Use no timeout on further reads in avalon_gets
- Do sequential reads in avalon_get_reset to cope with partial reads.
- Show read discrepancy in avalon_get_reset.
- Reuse avalon_get_work_count variable.
- Check for AVA_GETS_RESTART when deciding if avalon has messed up.
- Make the detection of all wrong results on avalon much more conservative to
avoid false positives on work restarts.
- Show error codes on select and read fail in avalon.
- If we get a restart message in avalon_gets still check if there's a receive
message to parse first without a timeout before returning AVA_GETS_RESTART.
- avalon_gets is always called from the one call site so inline it.
- The read_count is unused by the avalon get result code and no longer required
for avalon reset so simplify code removing it.
- Use a separate avalon_get_reset function for resetting avalon instead of using
avalon_get_result.
- The current hash count returned by avalon scanhash is just an obfuscated
utility counter so make it explicit.
- Check for a restart before a timeout in message parsing code in avalon.
- We should check for a restart message before checking for a timeout in avalon
scanhash.
- Store the subid for the work item in avalon.
- Fix record_temp_fan function in avalon driver.
- Remove inappropriate memset of struct avalon result which was corrupting fan
values.
- Only do_avalon_close once on multiple errors.
- Reset the result_wrong count on block change in avalon scanhash to prevent
false positives for all nonces failed.
- Small timeouts on select() instead of instant timeout increase reliability of
socket reads and writes.
- Rotate the avalon work array and free work on AVA_SEND_BUFFER_EMPTY as well.
- Only get extra work in fill_queue if we don't have any unqueued work in the
list.
- Don't get any work if our queue is already full in avalon_fill.
- Free avalon->works in the event we call avalon_prepare on failure to
initialise.
- Fix warnings.
- Create an array of 4 lots of work for avalon and cycle through them.
- Remove unused per unit matching work count for avalon.
- Rename the confusing avalon_info pointer.
- Simplify avalon scanhash code using the new find_queued_work_bymidstate
function.
- Members of cgpu_info for avalon are not meant to be in the union.
- Use correct struct device_drv for avalon_drv.
- Check enough work is queued before queueing more in avalon_fill.
- Actually put the work in the avalon queue.
- Rename avalon_api to avalon_drv.
- First draft of port of avalon driver to new cgminer queued infrastructure.
- Minor README updates.
- README.GPU: Properly warn about overclocking damage
- Add example 7970 tuning for scrypt in readme.
- Update driver recommendations.
- Add extensive GPU FAQs for the flood of new Scrypt miners.
- Bugfix: Expect bitstreams and kernels to be in the srcdir, not build dir
- cpu: Prefer sse4_64 algorithm if supported
- cpu: sse2_32: Force bare symbols for cross-asm/C symbols
- Compile CPU mining for win32 and win64
- configure: Check for pthread in -lwinpthread
- Use has_pth flag instead of trying to mess with pthread internals
- configure: Explicitly check for nanosleep
- configure: Include "no" response in BFG_PTHREAD_FLAG_CHECK
- miner.h missing extern
- Update links and recommended SDKs.
- Bugfix: README.GPU: Fix some typos
- Update README to match changes to display.
- Remove increasingly irrelevant discarded work from status lines.
- Remove increasingly irrelevant GW value from status.
- README.GPU: Correct terminology
- Update README about intensity.
- Bugfix: Restore always autodetecting stratum as non-scrypt
- icarus: Replace default of 2 work_division/fpga_count with autodetection of 1,
2, or 4
- Update scrypt readme with newer information and to match changes in code.
- Set default GPU threads to 1 for scrypt.
- Connect backup stratum pools if the primary pool cannot deliver work.
- Use a new algorithm for choosing a thread concurrency when none or no shader
value is specified for scrypt.
- Do not round up the bufsize to the maximum allocable with scrypt.
- Remove the rounding-up of the scrypt padbuffer which was not effectual and
counter-productive on devices with lots of ram, limiting thread concurrencies
and intensities.
- Make pool adding while running asynchronous, using the pool test thread
functionality.
- Only curl easy cleanup a stratum curl if it exists.
- Add intermediate variants of cglocks that can be up or downgraded to read or
write locks and use them for stratum work generation.
- Move the stratum data to be protected under a new cg_lock data_lock.
- Convert the ch_lock to cg_lock.
- Convert the control_lock to a cg_lock.
- Remove unused qd_lock.
- Implement cg_lock write biased rwlocks.
- Don't start testing any pools with the watchpool thread if any of the test
threads are still active.
- Set sockd to false should curl setup fail on stratum.
- Reopen the socket whenever we're retrying stratum.
- Set pool died on failed testing to allow idle flag and time to be set.
- Remove unused pthread_t typedefs from struct pool.
- Perform pool_resus on all pools that are found alive with the test pool
threads.
- Use pool_unworkable in select_balanced as well.
- Differentiate pool_unusable from pool_unworkable.
- Keep a connection open on higher priority stratum pools to fail back to them.
- Set the wrong bool in pool_active
- Only bypass unusable pools if they're not the selected ones.
- Find the first usable pool in preference to the current pool in select_pool
for work.
- Add a pool_unusable function which checks if a pool is stratum but not active
to use within switch_pools.
- API no longer ignore send() status
- API make the main socket non-static
- Start the stratum thread only if we successfully init and authorise it,
otherwise unset the init flag.
- Make the initialisation of the stratum thread more robust allowing the
watchpool thread safe access to it after the stratum thread is started.
- Shorten the time before keepalive probes are sent out and how frequently
they're sent with stratum curls.
- Display select return value on select fail in stratum thread.
- Clear the socket of anything in the receive buffer if we're going to retry
connecting.
- Perform pool resus on pools that were not set as the initial pool at startup.
- Allow pools to be resuscitated on first startup by the watchpool thread.
- Check all pools simultaneously at startup switching to the first alive one to
speed up startup.
- Close any sockets opened if we fail to initiate stratum but have opened the
socket.
- API use control_lock when switching pools
- Clear last pool work on switching pools if the current pool supports local
work generation or we are in failover only mode.
- make rw locks: mining_thr_lock and devices_lock
- work queues - remove new but unnecessary functions
- functions for handling work queues
- find_work() to find work in devices work queue
- Add a get_queued function for devices to use to retrieve work items from the
queued hashtable.
- Add the choice of hash loop to the device driver, defaulting to hash_sole_work
if none is specified.
- Add a driver specific flush_work for queued devices that may have work items
already queued to abort working on them on the device and discard them.
- Flush queued work on a restart from the hash database and discard the work
structs.
- Create a central point for removal of work items completed by queued device
drivers.
- Create a fill_queue function that creates hashtables of as many work items as
is required by the device driver till it flags the queue full.
- Create the hash queued work variant for use with devices that are fast enough
to require a queue.
- Make sure to do full avalon_init if the device_fd is invalid.
- Document extra zero byte in avalon_reset.
- Microoptimise likely paths in avalon_gets.
- Make sure to set timeout to 100ms instead of 1ms in avalon read loop for
select.
- Make sure to get time of first response in avalon read loop.
- Use select for a reliable timeout in avalon read and don't read 1 byte at a
time, optimising read loop.
- We should break on the loop on a work restart in avalon, and only consider all
errors if we actually have gotten some results.
- Avalon init on comms error as well.
- Reinit avalon device in case of FPGA controller mess up.
- Increase reliability of avalon startup by only opening and resetting the
device once, looking for the id sequence offset by one byte as well, and still
ignoring if it's wrong, assuming it is an avalon.
- Nest avalon_decode functions to avoid doing unnecessary lookups once we have
found the nonce.
- Use htole32 wrapper for nonce encoding in avalon.
- Remove unused rev8 function from avalon driver.
- Remove const qualifier from driver structs
- rename device_api -> device_drv and all related api -> drv
- rename get_proc_by_id() to get_devices()
- Wrap access to devices array under a mutex
- Provide wrappers for grabbing of thr value under the mining_thr_lock.
- mutex all access to mining_thr
- Split thr_info array into control_thr and mining_thr pointers so more mining
threads can be added later
- Update the hashmeter at most 5 times per second.
- Speed up watchdog interval and therefore display updates to 2 seconds.
- Add README.GPU to EXTRA_DIST.
- Split out the GPU specific information from the README into a README.GPU file.
- Update docs and reorder README to show executive summary near top.
- Add more FAQs about crossfire.
- Convert error getting device IDs in ocl code to info log level only since
multiple platforms may be installed and the error is harmless there.
- Unnecessary extra array in ocl code.
- Cope with the highest opencl platform not having usable devices.
- Update kernel file names signifying changes.
- Use constants from the array of __constants throughout the diablo kernel.
- Create a __constant array for use within diablo kernel.
- Use global constant arrays for all other constants used in scrypt kernel.
- Use global __constants for sha functions in scrypt kernel.
- Use constants for endian swap macros.
- Revise scrypt kernel copyright notice.
- Separate out additions in scrypt kernel.
- Reuse some Vals[] variables that can be assigned to constants earlier in the
poclbm kernel, making for fewer ops.
- Put all constants used in poclbm kernel into __const memory array to speed up
concurrent reads on the wavefront.
- opencl: Support for reading temperature from free software radeon drivers via
libsensors
BFGMiner Version 3.0.3 - June 13, 2013
- make-release: Include all submodules, recursively
- Remove API.java example (no copyright license)
- Minimally fix "make install" to ignore bitstream sources
- Add submodule for ZtexBTCMiner (aka ztex_ufm1_*)
- Add submodule for X6000_ztex_comm4 (aka x6500-overclocker-0402)
- ztex: Use standard file header/comment formatting, and update license to GPLv3
- bitforce: Allow a longer timeout (1250ms) for ZCX (Device Information)
commands
- Bugfix: pdcurses doesn't like changing logwin size without clearing it also,
so do that in display options
- -S all: Start QueryDosDevices probe with 256-byte buffer
- Use common code to ensure the prefix of -S *:all remains in all
implementations of it (/dev glob was removing prefixes)
- bitforce_queue: Ensure comma following nonce count is there, to error cleanly
- bitforce: Report queue send failures, and count as hw errors
- Bugfix: bitforce_queue: Don't try to send ready-to-queue work to device, when
there is no ready-to-queue work
- Bugfix: bitforce: Clear want_to_send_queue flag when flushing queue, since we
can't send an empty queue
- bitforce: Include new total queued count in flush debugging
- Bugfix: bitforce_queue: Implement a minimum wait time of 10ms
- README: Document serial device format for Mac OS X
- Bugfix: cairnsmore1: Enable building with libudev autodetection even if only
icarus drivers are enabled
- Bugfix: sysfs autodetect: Continue searching even after finding one tty (fixes
multiple ttys per device, such as some Cairnsmore1s)
- Bugfix: ztex: Avoid destroying libztex device in case other processors are
still in use (fixes crash when 1.15y becomes unavailable)
- Update windows-build.txt
- ccan: Add missing copyright comment headers
- Remove obsolete mknsis.sh
- Add missing copyright sections to files that may need them
- Standard copyright format (including year) for adl_functions.h
- Bugfix: When disabling device, ensure its prev_work (if any) gets freed
properly
- Check stratum socket exists and is writable before even considering whether
the sessionid is the same or not
- Bugfix: Check that the stratum_share struct for a failed submission is still
in the submission hashtable before trying to delete it
- README: Add missing documentation for CPU algorithms cryptopp_asm32, sse2_32,
and altivec_4way
- Bugfix: icarus: Check work restart before timeout
- Bugfix: icarus: Debuglog the correct read timeout (and omit from work restart
since there's no trivial way to get it)
- README: Update links
- Bugfix: cpu: Fix warning on Win64
- Bugfix: avalon: Strict formatting
- Bugfix: Cleanup trivial warnings
- Bugfix: bitforce: Seek to end of nonce counter to find nonces, in case there
are more than 9
- Bugfix: Build hexdump.c into the project normally like everything else
- Bugfix: Really fix device entries in saved config file
- Update the write config to properly record device entries and remove disabled
option.
- avalon: Really fix applog formatting
- va_copy is meant to be matched by a va_end in log_generic.
- Further fix distdir for hexdump.c
- Fulltest is true if value is <= target.
- Fix warning with no curses built in.
- Bugfix: configure: Check NEED_FPGAUTILS correctly
- configure: Better grammar for --enable-cpumining help
- Bugfix: Check for SSE 4.1 support before building sse4_64 asm CPU miner (uses
MOVNTDQA instruction)
- Bugfix: elist: Use uintptr_t for member offset
- Bugfix: opencl/adl: Fix format string
- Bugfix: opencl: Correct usage of formatted prints
- Increase fd limits as much as possible at startup
- Bugfix: bitforce: bulk queue: Cleanly retry for high temperature recovery
- Fixed deps for raring, which has newer libudev1.
- bitforce: debuglog actual result data
- Bugfix: Missing 'else' can result in null pointer dereference in race
- Minor grammo in avalon driver.
- Make avalon temperature reading LOG_INFO level.
- Fix the problem of seting up termio of ttyUSB0 for icarus. the CSIZE is the
mask of CS2/4/8
- bufsize is an unsigned integer, make it so for debug.
- Bugfix: bitforce: Include get_api_stats in BQUEUE mode
- Bugfix: Always compile support for commandline --temp-target and
--temp-cutoff, and write them in the config for all devices
- Bugfix: Ensure cURL timers get set correctly in submission thread
- Bugfix: modminer: Remove unused parameter to sprintf
- Bugfix: modminer: Use correct format for bytes left in bitstream upload
message
- Bugfix: Access strategy name string directly instead of accidentally
- Add printf-format syntax checks to more functions that should use it
- AUTHORS: Add more contributors
- Support configure flag --with-system-libblkmaker to allow building without the
bundled copy
- Bugfix: Use HTTP/1.1 compatible product token for User-Agent header
BFGMiner Version 3.0.2 - April 28, 2013
- Receive failures in recv_line should unconditionally fail.
- Use sock_blocks function for stratum send and receive.
- Avoid applog under stratum_lock in __stratum_send.
- Create an OS specific sock_blocks function.
- There should be no error response code with return value 0 in recv_line.
- Check for errors on stratum recv for any recv return value less than 1 and
only parse the response if it's positive.
- Avoid applog under stratum_lock in recv_line.
BFGMiner Version 3.0.1 - April 24, 2013
- Bugfix: configure: Move actual roundl macro back to miner.h after math.h
should be included
- Bugfix: configure: Use dummy pointer to correctly detect roundl when conftest
main is missing argc parameter
- Bugfix: configure: Use variable argument to roundl to prevent compilers from
optimizing it out entirely
- Remove bitstreams from Windows binary distributions (README directs users to
download source and copy them)
- make-release: Remove autom4te.cache from distributed source
- Bugfix: Omit --no-opencl-binaries option from build if OpenCL is not being
compiled
- Bugfix: Check that all pools have URIs set before starting
- Bugfix: bitforce: Make noncebuf large enough for max qresults +1 (for OK line)
- opencl: Ability to avoid using binary kernels with new --no-opencl-binaries
option
- README: Include jansson PKG_CONFIG_PATH in example for Mac
- Include trailing \0 with coinbase sigs if there's room
- Differentiate socket closed from socket error in recv_line.
- Add new best share info to verbose logging.
- Add notice for when network diff is changed.
- convert sleep(const) to nmsleep()
- Rename longpoll threads according to what pool they're associated with
- miner.php report 'Last Valid Work' as time before request
- API V1.25 - add 'Last Valid Work' time for each device
- add 'count' to customsummarypage 'calc'
- Bugfix: ztex: Initialize fw_buf pointer to NULL so a free before allocation is
safe
- Cleanup when stratum curl fails to initialise.
- LTC text typo
- Recreate cURL for new stratum connections, and clear stratum_notify on
suspending them
- clear_stratum_shares: Rename diff_stale variable to diff_cleared
- MMQ it's a bitstream
- Update a pool's last work time when the work is popped as well as staged.
- Extend stratum connections another minute (total 2 minutes) after the last
work item was staged, and maintain last_work_time for non-stratum pools.
- Fix --benchmark generating valid work for cgminer.
- Bugfix: Correct pdbuilder result directory
- Omit add_serial_all code when serial support is not wanted
- Use configure to detect presence of roundl to avoid redefining an actual
function (possibly inline)
- Bugfix: roundl: Add needed parenthesis to perform ?: before +
- Bugfix: ft232r: Defer allocating structure until after USB endpoint is
successfully opened, so it won't leak in case of failure
- Bugfix: ztex: Free bitstream in memory when done with it
- Bugfix: Safely handle all-space cURL debug messages, should they ever happen
- Silence warnings about poor format usage for quit()
- Apply noreturn and printf-format attributes to quit() function definition
- Bugfix: set_serial_rts get flags to manipulate them correctly
- Bugfix: Missing return for /dev globbing
- Bugfix: Free unused work when retrying failed lp request
- Display processor name with thread disabled/re-enabled messages
- Move best share to top summary line, and add network difficulty to block line
- opencl: Default to phatk kernel for Mesa platform
- opencl: Default to single thread with Mesa OpenCL
- opencl: Check for Mesa OpenCL and avoid using binary kernels with it
- bitforce: Never increase bulkqueue poll wait time during queue underruns
- bitforce: Start off polling bulk queue every 100ms
- bitforce: Log device queue size after getting bulk results
- bitforce: Ensure bulkqueue polling occurs at least once a second
- opencl: Include OpenCL platform in kernel binary filenames
- bitforce: Use bulk queue mode for all SC devices
- Bugfix: bitforce: When reinitializing, free all known works to avoid
decrementing reset queued counter
- bitforce: Handle timeout during ZOX as cleanly as possible
- Bugfix: bitforce: Make reinitialization more complete and safe
- Bugfix: bitforce: Close opened fd if reinit fails
- Bugfix: bitforce: Retry ZGX until device is NOT busy
- bitforce: Log when zero queued results are received
BFGMiner Version 3.0.0 - April 5, 2013
- Update libblkmaker to 0.3.0
- debian: Include new api-example.py in docs
- added example for Python using the RPC API
- added SPEC file for SUSE distributions
- Bugfix: bitforce: Free initialization data to avoid trivial one-time memory
leak
- Support for local submission of found blocks (GBT only)
- bitforce: RPC pgaset fanmode 0-5 for manual fan control
- bitforce: More debugging information
- Bugfix: modminer: Since RPC always includes the temperature, we don't need to
add it specially
- bitforce: Expose dual temperature sensors to RPC
- bitforce: Support for up to 2 temperature sensors per processor
- Bugfix: bitforce: BFP_QUEUE: Attempt to recover from extra queue results, or
the next job finishing early
- bitforce: Always send a new job ASAP after flushing the queue
- bitforce: Implement "Queue Job Pack" (ZWX) and use it for XLINK devices to
avoid USB latency issues
- bitforce: Ignore INPROCESS added to ZOX response
- Implement minerloop_queue for devices that process work items too fast to keep
track of which one they're currently working on
- bitforce: Split ZOX command into its own function
- Bugfix: DevAPI: Free work when preparing it fails
- DevAPI: Abstract get_and_prepare_work for minerloops
- DevAPI: Move select() logic from minerloop_async to do_notifier_select
- Clarify stratum mining.set_difficulty debug log message
- No longer call configure from autogen.sh
- Bugfix: bitforce: Ensure result_busy_polled gets set for queue mode to avoid
unnecessary 10ms wait times
- Bugfix: bitforce: Use common code for end of job_get_results, so queue results
don't short-circuit timing code
- Bugfix: bitforce: Ensure "OK" doesn't remain in queued results buffer
- Bugfix: bitforce: next_line needs to increment beyond the newline character
- Update README for x970 memdiff values.
- Do not scan other gpu platforms if one is specified.
- Update README for sync objects on windows.
- Add information for setting gpu max alloc and sync parameters for windows with
scrypt.
- Whitelist AMD APP SDK 2.8 for diablo kernel.
- Show pool number in switch message
- Clear just the socket buffer when we don't care what is left in a stratum
socket.
- Clear the stratum socket whenever we are closing it since the buffer is going
to be reused.
- Do not continue work from a stratum pool where the connection has been
interrupted.
- Close any existing stratum socket if we are attempting to restart stratum so
the pool knows the connection has gone.
- Show mechanism of stratum interruption if select times out.
- Make stratum connection interrupted message higher priority to be visible at
normal logging levels.
- API add 'Network Difficulty' to 'coin'