forked from nwoolls/bfgminer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
6119 lines (5770 loc) · 303 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.5.5 - December 9, 2013
- bfgminer-rpc: Catch error when server host fails to resolve to an IP
- RPC: Remove unnecessary delay from RPC server startup
- Call WSAStartup for our own needs independently of libcurl etc
- Bugfix: lowl-usb: Include winsock2.h to make sure it is before windows.h
- Bugfix: Draw statuswin in line order to ensure overflow is cutoff properly
- Fixed one byte stack overflow in mcast recvfrom.
- Specifically handle mining.get_transactions failures so they get logged at the
lower debug loglevel
BFGMiner Version 3.5.4 - December 2, 2013
- New / updated instructions for building bfgminer on Windows
- configure: Adjust header-path discovery to work sanely with spaces and
backslashes in paths
- Bugfix: configure: More fixing BSD sed syntax for curses header search
- bfg_strerror: Trim C whitespace off the right of FormatMessage output, since
Windows can add \r\n
- Demote commonish errors to debug loglevel
- bfgtls: Implement destructor to free memory when threads exit
- README: Document --disable-hashbuster configure option
- Bugfix: nanofury: Check if mcp2210_device exists before trying to power it off
- Bugfix: lowl-vcom: Check for error getting root hub path
- openwrt: Update package description
- Bugfix: README: Document --without-libevent
BFGMiner Version 3.5.3 - November 27, 2013
- FTDI scan: Use intptr_t to avoid warning about different size type cast
- Bugfix: proxy: Add missing unistd.h include
- configure: Explicitly check for sleep
- Bugfix: Set LIBUSB_LIBS for non-pkgconf non-header-subdir libusb installations
- input_pool: Accept a null password
- Bugfix: Move const data into the scope it needs to be in
- Bugfix: Install README.ASIC if *any* ASIC driver is compiled
- line 2913 added urlencode
- Bugfix: RPC: Release apisock on error in tidyup
- Workaround libcurl bug to properly support HTTP proxies for stratum
- README.OpenWrt: Change example repository to "latest", and document
alternatives
- Bugfix: Initialise dynamic osc6_bits variables
- README: Fixed a few typos here and there and improved wording (Thanks
miningpenguin!)
- README*: Grammatical cleanups
- Bugfix: opencl: Dynamic mode should disable threads for this device, not just
N after the first
- Bugfix: Make curses_input return NULL on a blank line, as most callers expect
- Duplicate (hidden) --userpass option before --pool-priority so it can be used
in config files
- Upgrade required uthash version to 1.9.4 for LL_CONCAT
- README: Update to reflect state of autodetection in 3.5
- README: Bitstreams no longer included with BFGMiner source
- README: Remove incomplete and unnecessary list of ASIC/FPGA devices
- Bugfix: erupter: Prioritise Emerald after Sapphire
BFGMiner Version 3.5.2 - November 12, 2013
- README.scrypt: Update to reflect current status of code (unmaintained); remove
Con's litecoin donation address (leaving his bitcoin one) since it is unknown if
he still accepts donations with litecoin
- Bugfix: minerloop_async: Check the correct _mt_disable_called flag
- bitforce: Allow ZCX response to override Manufacturer string
- Bugfix: RPC: Restore null termination on responses
- Bugfix: configure: We need DLOPEN_FLAGS for lowlevel hid too
- Add additional debug information to help track work through BFGMiner
- README: Update hidapi dependency for HashBuster
- Bugfix: bigpic: Convert device serial and nonces to host endian
- Bugfix: modminer: Ensure devices that fail probe are closed properly
- Bugfix: bitforce: Ensure devices that fail probe are closed properly
- Bugfix: littlefury: Ensure devices that fail probe are closed properly
- Bugfix: bigpic: Ensure devices that fail probe are closed properly
- nanofury: Attempt to be more resilient to problems
BFGMiner Version 3.5.1 - November 7, 2013
- Bugfix: make-release: Add README.GPU document
- Demote USB string fetch failure to LOG_DEBUG since it is rather common
- Bugfix: RPC: devscan shouldn't be available to read-only access
- Bugfix: bigpic: Ignore the bitfury chip's counter as best we can
- Bugfix: bigpic: Accept other delimiters in Bitfury BF1 product string in
autodetection
- Bugfix: Fix VCOM/fpgautils build check
- Bugfix: Only include VCOM code when VCOM/fpgautils support is being built
- Bugfix: Reimplement scan-serial "all" keyword
- Bugfix: bitforce detect: Close device after ZGX failure
- Bugfix: Define lowl_usb even if libusb support is omitted, since VCOM and HID
drivers check against it for warnings
BFGMiner Version 3.5.0 - November 6, 2013
- bigpic: Probe sooner than most drivers, but still after icarus/erupter
- cpu/opencl: Fix probe priorities to be last
- Bugfix: RPC: Correct per-device Work Utility to be per-minute instead of
per-second
- Bugfix: Fix Windows VCOM enumeration to work with new lowlevel code
- Bugfix: nanofury: Use maybe_strdup in case strings may be missing
- Bugfix: bitfury: Fix processor disable/enable for all bitfury-based devices
- hashbuster: Get temperature when available
- Bugfix: hashbuster: Use maybe_strdup where there might not be a string
- hid: Treat null-length strings as missing entirely
- hashbuster: Enable dynamic osc6_bits
- hashbuster: New driver
- Split a hid lowlevel out of mcp2210
- ztex: Convert to use lowlevel usb enumerator
- A quick flag to allow drivers to convey the desire to rescan devices (from
lowlevel up)
- Lowlevel USB enumerator for libusb
- dname for lowlevel drivers
- Bugfix: lowlevel: Avoid null pointer dereference on devices that are missing
USB strings
- lowlevel: Add a userpointer to lowl_found_devinfo_func_t and use it for
serial_autodetect
- Rework VCOM autodetection to go through lowlevel interface, avoiding repeat
USB string fetching
- lowlevel: Keep track of the claimed devid and debuglog every found device
- ft232r: devinfo_scan: Don't skip claimed USB devices
- ft232r: Be more tolerant of USB open failure or missing strings
- RPC: Build most of CONFIG "Device Code" by iterating over registered driver
list
- drv_detect_all: Use priority-sorted list of registered drivers
- Build hash tables to find drivers by dname or name
- Build a linked list of registered drivers
- BFG_REGISTER_DRIVER macro to commonly pre-define device_drv structures
- Move have_libusb checks out of drv_detect_all
- Replace opt_nogpu with simple function that adds opencl:noauto to scan-serial
list
- opencl: Remove ancient gpu_threads variable, not really needed anymore
- Bugfix: Stop waiting for pool testing as soon as one is active
- bitfury: Clean up by making private functions static, and naming public ones
with [lib]bitfury_ prefix
- bitfury: Remove old (unused) driver code
- bitfury_gpio: Convert to using current bitfury driver code
- Bugfix: littlefury: Upgrade to use current bitfury driver (old one didn't work
with littlefury anymore anyway)
- Bugfix: test_work_current: Make hexstr buffer large enough for blkhashstr
later on (issuing old work msg)
- README: Document --enable-knc configure option
- README: Document --disable-nanofury configure option
- Windows autodetect: clear detectone meta info
- Check for Windows DDK headers, and where they are (and build without them if
unavailable)
- Windows SetupAPI-based detection for USB VCOM devices (tested with CP210x and
CDC)
- ucs2tochar{,_dup} functions to convert USB string descriptors to char* format
- bfg_strerror: Support for Windows system errors
- Introduce applogfail* macros
- Bugfix: scrypt: Add missing include stdbool.h
- Bugfix: Explicitly cast uses of be32toh to uint32_t
- Bugfix: Add missing includes of config.h, stdbool.h, and stdint.h
- lowlevel: Convey device manufacturer up to nanofury cgpus
- nanofury: Store device HID path for RPC
- lowlevel: Promote path to a normal element for devices to simplify things a
bit
- nanofury: Claim mcp2210/hid devices
- mcp2210: Implement claim on HID paths
- fpgautils: Use string identifiers for internal hardware claims
- ztex: Keep interface claimed as a lock
- Bugfix: mcp2210: Check for NULL hid device strings before trying to convert
them to ASCII
- FTDI autodetect: Enable populating USB product and serial number
- Bugfix: FTDI autodetect: Add missing parameter values and remove unused buffer
- Bugfix: bigpic: Don't active poll event without a poll function
BFGMiner Version 3.4.0 - October 26, 2013
- Bugfix: knc: Use separate DEV_RECOVER_DRV deven when doing automatic core
disable/re-enable, so user-initiated disables are left alone
- Document existing enum dev_enable usage
- Bugfix: knc: Only try to re-enable cores after we've actually asserted them as
disabled, otherwise we won't actually assert the enable either
- knc: Automatically disable and re-enable problematic cores
- AUTHORS: Add Dmitry Sorokin
- bitfury: Disable dynamic osc6_bits when manually setting a specific value
- bitfury_do_io: Make use of timer_elapsed
- bitfury: Only use dynamic osc6_bits with boards that support it explicitly
(BFSB and Metabank for now)
- bitfury: More debugging info for dynamic osc6_bits
- Bugfix: bitfury: Fix tv_stat to persist
- bitfury: Remove useless debugging
- bitfury: Simplify dynamic osc6_bits logic such that the range is defined in
one place
- bitfury: Remove unused skip_stat
- Bugfix: bitfury: Stick to tracking best_done per-chip, and never call
zero_stats (which is for users, not drivers)
- Bugfix: bitfury: Use proc_repr rather than incorrectly calculated chip_id
- Bugfix: bitfury: struct bitfury_device is already chip-specific
- bitfury: dynamic osc_6 bits
- bitfury: Improve frequency calculation - fixes occasional miscalculations as
well as makes it safer with multiple devices
- bitfury: Added frequency calculation
- tm_i2c: Corrected copyright
- Allow --set-device opt=val without a device specification to attempt setting
it on every device
- Bugfix: knc: Maintain queue_full for all cores, so they continue to queue work
even if the first is disabled
- bitfury: Allow setting osc6_bits up to 60
- Bugfix: Set status to LIFE_DEAD2 when killing threads at shut off, to avoid
calling driver code
- Skip "testing stability" message at startup
- Try switching pools if for some reason we end up with only idle pools and have
ended up current_pool set to an idle one.
- Check a pool is stable for >5 mins before switching back to it.
- ManageTUI: Slash key performs processor selection by search
- nanofury: Populate dev_product and dev_serial
- mcp2210: Implement mcp2210_close
- Bugfix: mcp2210: hid_write needs a report id, especially on Windows
- mcp2210: Workaround some Windows snprintf not handling wide strings correctly
by simply copying character-per-character (only works for ASCII data)
- Bugfix: chroot: Check that chdir succeeds
- AUTHORS: Add pontus
- knc: Expose Voltage and DCDC Current to TUI Manage device
- knc: Expose Voltage and DCDC Current to RPC status
- knc: Store volt/current on knccore
- knc: Read voltage/current from DCDCs
- Bugfix: knc: Fix temperature readout of half-celcius
- Bugfix: Only define have_libusb if building with libusb support
- littlefury: Remove unused code
- bitfury: RPC procset: Ignore extra data (like newline) after numbers
- Add --set-device option to allow setting default procset commands
- README: Document hidapi dependency for NanoFury sticks
- AUTHORS: Include Vladimir Strinski for NanoFury code
- mcp2210: Set GPIO output mode atomically with their output values
- nanofury: Power off device when shutting down
- make-release: Include libhidapi-0.dll
- mcp2210: Port to Windows
- configure: Find hidapi.h for mcp2210 using pkg-config
- bitfury: Provide read/write access to osc6_bits from the Manage TUI
- nanofury: Reduce oscillator bits to 50 to stay within USB specs
- bitfury: If multiple integers differ after 4 tries, just go with the first so
we can start mining
- nanofury: Implement actual mining code
- nanofury: Turn off device after checkport
- nanofury: New driver; detect device
- mcp2210: Implement protocol required for NanoFury USB sticks
- mcp2210: Skeleton low-level driver for MCP2210 USB to SPI Master bridge
- ft232r: Use lowlevel interface for ft232r_open
- Abstract ft232r scan+probe interface into new generic lowlevel driver
interface
- configure: Error if knc driver is requested, but linux/i2c-dev.h is missing or
not from i2c-tools
- knc: Attempt to express core enable/disable to controller
- knc: Put knc_device on every processor device_data
- Refactor device disable/enable logic so that drv.thread_{disable,enable}
actually get called
- Bugfix: knc: Check that device actually has work queued, before trying to find
the most recent one
- knc: Read temperature sensors
- DevAPI: minerloop_queue: Run watchdog in device thread
- knc: Pass queue flush to device when its most recent job produces stale shares
- knc: Issue flush command at init
- Bugfix: knc: Perform le32toh on unknown-work nonces
- knc: Use independent device_id for works to enforce 15-bit size
- Bugfix: spi_emit_nop: Correct counter logic
- knc: Implement mining
- knc: Use FPGA i2c to identify present ASICs
- knc: Basic detection of boards on expected i2c buses
- DevAPI: generic_detect: Just use an enum for flags
- Use list of drivers/algos/options generated by configure in --help info
- miner.php correct sort gen field names largest to smallest
- api ... the code related to device elapsed
- api add device elapsed since hotplug devices Elapsed is less than cgminer Elapsed
- RPC: Include more info in per-device/processor status
- API add 'MHS %ds' to 'summary'
- Icarus remove unneeded opt_debug tests due to applog being a macro
- We should only yield once in cg_wunlock
- Provide a function to downgrade a cglock from a write lock to an intermediate
variant.
- Reset quotas on load balance for all pools at the same time to avoid running
out during selection and unintentionally dropping to fallback.
- Break out of select pool from a common point for appropriate debug messages
and to avoid further tests.
- Find the greatest common denominator in quotas and use the smallest number of
consecutive work items per pool in quota load balance mode to smooth hashrate
across pools with large quotas. Give excess quota to priority pool 0 instead of
pool 0.
- Add subdir-objects to automake options.
- Use the --failover-only flag to have special meaning in combination with
load-balance mode to distribute any unused quota back to pool 0 to maintain
ratios amongst other pools.
- Display quota and allow it to be modified via the pool menu.
- More README about quotas.
- Document quotas and new load-balance strategy.
- Add API commands and modify output to support pool quota displaying and
changing.
- Change message in status when using a balanced pool strategy to notify if
there's a stratum pool as well.
- Add quota support to configuration files.
- Rotate pools on all failures to set a pool in select_pool.
- Use quotas for load-balance pool strategy.
- Provide a mechanism for setting a pool quota to be used by load-balance.
- Change --socks-proxy option to default to SOCKS5
- Cope with trailing slashes in stratum urls.
- Make extract_sockaddr set variables passed to it rather than pool struct
members.
- miner.php sort the mcast rigs so they are always in the same relative order
- miner.php allow sending the muticast message multiple times
- miner.php mcast ignore duplicate replies
- miner.php coding warning
- miner.php disable 'gen' by default
- miner.php allow formula generation of new fields
- miner.php add doctype
- miner.php remove incorrect echo
- miner.php optional error if not enough mcast rigs are found
- take_queued_work_bymidstate should use a write lock.
- API mcast add a description option with miner.php
- Skip dissecting opt->names in parse_config if it doesn't exist.
- ICA optional limit timing with short=N or long=N
- logging - applogsiz() for large messages
- Provide a funcion that looks up queued work by midstate and then removes it
from the device hash database.
- Wait until all pools are done testing before giving up, regardless of how long
they take to fail
- AUTHORS: Add Ricardo Iván Vieitez Parra and Paul Wouters
- Bugfix: Check that setgid succeeds
- When using --chroot, chdir to the new root
- Bugfix: Add missing drivers to --help list
- Bugfix: Zero stats: cgpu->diff_stale
- fpgautils: serial_close: Explicitly release advisory lock before closing, in
case fd has been inherited by a process forked by system()
- Use serial_close to pair with every serial_open
- Workaround bug in Plibc by resetting locale to "C" at startup
- Bugfix: bitfury: Check for necessity of linux/i2c.h so build succeeds with
i2c-tools's userspace linux/i2c-dev.h
- bitforce: Workaround bugs in current firmware for the Chili
- Bugfix: DevAPI: Reduce race-collision delay to 1ms so thread_shutdown actually
gets called before threads are killed forcefully
- Bugfix: configure: Use AC_SYS_LARGEFILE to ensure nonce/share log files can
safely grow bigger than 2 GB
- Bugfix: Correct argument type for --submit-threads option
- littlefury: Workaround Xcode bug initialising fields in anonymous unions
- Bugfix: write_config: Make intensity list writing more readable, and avoid
extraneous argument in dynamic intensity case
- DevAPI: Trigger mt_disable_start after init, if a device is disabled before
minerloop starts
- icarus: Skip sending new work if entering DEV_RECOVER* modes
- icarus: When disabling, close device fd and stop sending new work
- RPC: Use get_api_extra_device_status for full-device status, for devices with
only a single processor
BFGMiner Version 3.3.0 - October 11, 2013
- openwrt: Optional libevent support
- RPC: Add missing drivers to Device Code
- bigpic_process_results: Cleanup
- RPC: Use procs count for device summaries, rather than iterating over linked
list (which may span multiple devices)
- Bugfix: Use bfg_waddstr for cg_[mv]wprintw so special characters get
interpreted properly
- Bugfix: bitfury: Clear force_reinit flag after reinit
- Bugfix: Use base unit for zero, and only if all values are zero
- RPC: Always build pga* and proc* methods
- Bugfix: icarus: Check for valid fd before all usage
- Bugfix: Stratum initiate: Clear json var after freeing it, to avoid a
potential double-free if retry fails before new JSON is parsed
- Bugfix: Correct --log-file error message
- Cleanly fall back to other micro- prefix symbols if locale doesn't support the
preferred one(s)
- Bugfix: bfg_waddstr: Missing break after selecting degrees symbol
- Silence warning about (never really) uninitalised variable use in notifystatus
- RPC: Complete split between devs/pga* and proc* methods
- RPC: Internal restructuring to support device-wide view
- RPC: Remove devdetail method, and rework newer devdetails to use its code
- configure: Advise running ldconfig when detected and probably necessary
- configure: Simplify final information summary
- Bugfix: configure: Disable httpsrv/libevent if not available
- README: Mention free GPU mining dependencies
- Write config: Avoid writing default temperature settings
- bitforce: Set default cutoff temperature to 85C for SC-class devices
- When shutting down, don't wait for mining threads any longer after the 1
second sleep
- bitfury: Silence warning about (never possible) uninitialised variable use
- bigpic: Handle write failures
- json_rpc_call_completed: Silence incorrect type cast warning
- icarus: Silence warning about (never really) uninitalised variable use in
icarus_scanhash
- fpgautils: Check for fgets error
- Silence warning about (never really) uninitalised variable use in
multi_format_unit
- ft232r: Silence warning about (never really) uninitalised variable use
- Silence unused result warnings for notifier_{read,wake}
- Log a warning if --cmd-* returns a non-zero exit code
- configure: Update bigpic driver dependency on bitfury code
- metabank: Initialise --temp-cutoff to 50C
- README.ASIC: Document special care needed for some bitfury-based miners
- Bugfix: bitfury: Correct results from RPC pgaset
- bitfury: Move Slot and fasync RPC info to details instead of status
- bitfury: Include chip fasync in RPC status
- bfsb: Split up processors among a separate device per board
- Bugfix: bitfury: Copy rxbufs to stack in case we need to do SPI communication
in the meantime
- bfsb: Merge bfsb_detect_chips into bfsb_autodetect (unchanged)
- bfsb/metabank: Allow pgaset to change osc6_bits and SPI baud rate
- bitfury: Fix code indentation
- bitfury: bitfury_init_oldbuf: Optimise during runtime
- metabank: Remove unused variables
- bitfury: Send a work with lots of nonces to help cold-started bitfurys fill a
static buffer
- Bugfix: configure: Show --enable-bfsb/metabank in help, since they are
disabled by default
- metabank: Reduce i2c banking to only when necessary
- bfsb: Only build spi_bfsb_select_bank if bfsb driver is being compiled
- bitfury: Reorganize polling to hit chips sequentially, so SPI traffic can be
minimised
- bitfury: spi_emit_data: Return address read data will be located at after txrx
- bitfury: After 8 bad nonces in a sample period, reinit immediately rather than
waiting for the remaining up-to-0x38
- bitfury: Reinitialise chips if their active nonce stops changing
- bitfury: Recalibrate immediately when we know we need it
- bitfury: Reset chips if more than 8 hw errors are found in a 0x40 result
sample period
- bitfury: If previous nonce mismatch persists, try recalibrating oldbuf
- bfsb: Shutdown chip when disabling
- bfsb: Expose Clock Bits and Slot to RPC
- configure: Simplify dynclock necessity detection
- configure: Tie libudev usage to fpgautils
- configure: Simplify fpgautils necessity detection
- DevAPI: add_cgpu_slave for more elegant multi-device threads
- Use procs count for device summaries, rather than iterating over linked list
(which may span multiple devices)
- metabank: Split up processors among a separate device per board
- metabank: Merge metabank_detect_chips into metabank_autodetect (unchanged)
- Removed temperature output from metabank_api_extra_device_status().
- Modified code to store temperature at cgpu->temp for metabank devices.
- bitfury: Added get_api_extra_device_status for 'devs' request in metabank
driver: Slot, Clock Bits, Temperature, Voltage.
- minerloop_async: Run watchdog code within actual device thread
- bitfury: Remove unused libbitfury_readHashData
- Bugfix: DevAPI: Don't call job_process_results when there was no previous job
- bigpic: Convert to async minerloop
- bitfury: Port to Windows
- bigpic: Use bitfury_fudge_nonce
- Use common bitfury_decnonce for all bitfury-based devices
- Rename bf1 driver to bigpic, as the same device has other brands too
- bf1: Clean up log messages
- bf1: Reduce loglevel of debug messages
- Bugfix: bf1: Add missing header to Makefile.am, and fix .dname/.name
- Bugfix: bf1: Fix warnings
- BF1 driver modified to work under Windows -> packing of structs isn't working
with Windows
- Corrected hash rate estimation for BF1. Only 756 out of 1024 nonces are
scanned.
- Cleaning up the bf1 driver code
- BF1 driver working
- Bitfury BF1 source files added
- bfsb: modified to use LukeJr:'s new code
- configure: Reorder output
- configure: Allow to build *fury drivers only
- bitfury: Turn commented debug stuff into #ifdef BITFURY_SENDHASHDATA_DEBUG
- bitfury: Implement queue_full to ensure all processors have a work ready
before scanwork
- bfsb: set api speed to 625khz
- initial support for bitfurystrikesback boards
- bitfury: LINE_LEN instead of 2048
- bitfury: 4Mhz SPI by default
- bitfury: double SPI polling
- bitfury: +Strange Counter -printf Counter
- bitfury: tuning of parameters; fixed cycles calculation
- bitfury: Move clock increase from common code to metabank driver init
- bitfury: Add driver-bitfury.h for shared function declarations
- bitfury: Do debug logging of read data before rotation
- bitfury: Decode nonce array sooner to make debugging easier
- bitfury: Check that the previous nonce still matches, to detect response
corruption
- bitfury: Workaround corruption by looking for matches rather than changes
- bitfury: Rewrite using async minerloop (currently only setup on metabank
driver)
- bitfury: Fix memory issues
- littlefury: Turn off chips when exiting
- littlefury: Adapt to 16-bit payload size (protocol change)
- Bugfix: littlefury: Fix bitfury_do_packet
- bitfury: Report bad nonces properly
- bitfury: Unify common nonce fudging code
- Bugfix: bitfury: Chips only scan 0xbd000000 nonces per work
- bitfury: Fix logging to use applog
- bitfury: Split driver into bitfury_gpio (bare GPIO) and metabank (i2c banked
GPIO)
- littlefury: Use bitfury driver scanwork
- bitfury: Eliminate more static variables
- bitfury: Treat each chip as its own processor
- bitfury: Resolve devices[chip] only once per chip
- bitfury: Move second_run logic back to libbitfury
- bitfury: Loop over chips once during scanwork
- bitfury: Abstract hashes_done2 which keeps track of time deltas per thr on its
own
- littlefury: Need to set tv_morework
- bitfury: Abstract out payload_to_atrvec
- littlefury: Log read return value when unexpected
- bitfury: Eliminate non-const global variables
- littlefury: Safeguard on job switching
- Bugfix: littlefury: Keep reading until error, EOF, or buffer filled
- littlefury: Log devproto of incomplete reads
- Enable littlefury detection
- Bugfix: configure: Enable bitfury by default properly
- bitfury: Require explicit -S bitfury:auto to probe GPIO-based SPI
- bitfury: Move i2c slot handling to metabank-specific driver code
- littlefury: Initial driver for BitCentury's USB miner
- bitfury: Split actual chip detection into simple function
- Bugfix: bitfury: Fix driver "name" to be correct length
- bitfury: Abstract SPI interface
- Bugfix: bitfury: Fix more warnings
- Bugfix: bitfury: Fix warnings
- bitfury: Intercept and use applog for perror calls
- Bugfix: bitfury: Handle SPI init failure cleanly
- bitfury: major intermediate update
- bitfury: added chip series detection; multiple chip mining
- Bitfury ASIC initial support
- DynClk: Improve commented documentation
- Replace Utility with (expected) Income calculated by actual shares submitted
in 100% PPS value
- format_unit3: BTC formatting with 2 decimal place digits
- format_unit3: Support for nano- and pico- sizes
- format_unit3: Use an enum for float-precision parameter
- format_unit2: Support milli- and micro- unit prefixes
- opencl: Disable by default if other devices are found; to enable, use -S
opencl:auto
- write_config: Save request-diff option
- Stratum: Clear unused extranonce2 space
- Don't even show 'Attempting to restart' for devices that don't support it
- Workaround bug in PDCurses wresize
- Bugfix: Include config.h in sha2.c first
- make-release: Include libevent-2-0-5.dll in Windows packages
- README: Document dependency on libevent
- README: Document new --chroot-dir and --setuid options
- Bugfix: Use correct configure define for chroot
- Remove --disable-chroot build option: always compile --chroot-dir if supported
- Bugfix: Use correct configure define for pwd.h
- Improvements on code
- Update miner.c
- Added basic chroot support, added option to configure.ac.
- Updated miner.c
- Added basic chroot support
- Replace u-hashrate with nonce-based hashrate adjusted for rejects/stales
- SSM: Windows port
- SSM: Allow configuring stratum port via --stratum-port option and RPC
setconfig
- SSM: Implement mining.hashes_done extension
- Proxy: Catch invalid usernames and error
- SSM: Report hashes done based on share submissions
- SSM: Include current time in job ids to avoid false hardware errors due to job
id reuse
- SSM: If no notify is currently set, try to set it before refusing a subscribe
- SSM: Prune old jobs after expiry
- SSM: Use pool data read lock when subdividing notify
- SSM: Gracefully fail when upstream stratum notify cannot be subdivided
- SSM: Gracefully fail when upstream pool is not stratum (by closing subscribed
clients, and refusing to subscribe new ones)
- SSM: Properly fail cleanly when maximum clients are connected
- SSM: Clean up stratumsrv_job when pruning it
- SSM: Avoid responding to notifications, and give an error for unknown methods
- SSM: Propagate work updates to clients
- Mostly functional stratum proxy driver
- Stratum: Split actual work generation away from the current pool data
- Bugfix: Stratum: Dereference pool swork coinbase buffer inside data lock
- SGW: Split proxy code out from driver-getwork into driver-proxy
- Bugfix: miner.php: Check $dototal[$name] is set before comparing its value
- Bugfix: RPC: Use bad_nonces in Hardware% instead of generic hw_errors
- Bugfix: RPC: Handle LIFE_DEAD2 case
- Make failure to open sharelog or noncelog abort startup
- Nonce logging option --noncelog to simply store every nonce and its info
- Abstract --sharelog option parsing
BFGMiner Version 3.2.1 - September 19, 2013
- Only show long-poll message in pool summary if it's not using stratum.
- README.ASIC: Clarify syntax of --scan-serial usage for USB Erupters
- Bugfix: RPC: Defer allocation of apisock until after we check for --api-listen
- make-release: Only try to include libmicrohttpd if bfgminer.exe depends on it
- Bugfix: make-release: Include libplibc-1.dll if available
- SGW: For Windows builds, include winsock2.h instead of POSIX networking
headers
- configure: Display getwork proxy server support in summary
- Bugfix: SGW: Pass actual cgpu_info to prune_worklog_thread instead of silently
casting one from getwork_client
- Bugfix: Get total_staged with lock for TS stat, before getting console lock
- Bugfix: bitforce: Correct fanmode RPC help
- bitforce: Hide fan control when disabled in firmware
- Bugfix: bitforce: Correct fanspeed TUI setting
- Bugfix: logging: Allow up to 4 KB for log lines
- Bugfix: icarus: Ensure last2_work exists before trying to check nonces fit it
- README.OpenWrt: Include serialusb drivers
- README: Include OpenWrt serialusb driver package names
- Bugfix: Initialise notifier (as invalid) for no-thread devices (SGW)
- Bugfix: Free temporary kernel path copy when writing config file
- Bugfix: Put kernel path on the (main) stack after initialisation from
commandline/config, to avoid appending an argv or jansson string
- Bugfix: Always allow startup with curses enabled (since the user can use
Manage devices to add new ones, and display Ctrl-C for text-only quit help
- Bugfix: Ignore/reject libmicrohttpd before 0.9.5, which introduced symbols we
need
- README: Elaborate on format of BW
- Bugfix: Try to initialise libusb later, so any mutexes applog might need are
initialised
- Bugfix: Implicitly initialise timer_set_now when it is first called
- util: Eliminate unsafe const-removing casts
- configure: Cleanup CFLAGS/LDFLAGS display
- Show RT_LIBS in ./configure output.
BFGMiner Version 3.2.0 - August 29, 2013
- cpu: sse2_64: Rename sha256_init to sha256_init_sse2 to avoid conflict with
new sha2.c
- httpsrv: Some older versions of libmicrohttpd need stdint.h included first
- make-release: Include libmicrohttpd-10.dll if it exists
- Fixes column alignment in decimal fields. Workaround for printf rounding up
when formatting decimals into limited width.
- New hidden --unittest option. No longer runs unit tests at startup by default,
for faster startup. Added unit test for width printing of decimal numbers.
- Bugfix: configure: More fixing BSD sed syntax for curses header search
- Bugfix: configure: More fixing BSD sed syntax for libusb header search
- README: Update solo mining docs
- erupter: Continue searching a job until the end, even if an earlier result is
found
- icarus: Do hwerror-triggered reopen before sending the next job the first
time, to avoid having to resend it later
- icarus: Avoid sending a new job if the nonce found was for one before the
current job anyway
- icarus: Double-buffer work to solve nonces found before work change takes
effect
- icarus: Abstract nonce processing
- Bugfix: icarus: Avoid trying to submit 0 on comms error
- icarus: Skip unnecessary nonce memcpy
- icarus: Make state->last_work a pointer and store it on the heap
- miner.php fix missing global
- Bugfix: erupter: After identify, skip starting work if next scanhash is
already decided to be a "first run" (eg, device errors)
- Bugfix: erupter: Fix identify following hw error
- Bugfix: icarus: Don't try to send work if device open failed
- Debug log when zeroing stats
- Upgrade libblkmaker to 0.3.2
- Bugfix: GBT: Advertise coinbasevalue capability
- Bugfix: Always compile add_serial now that it's somewhat generic
- icarus: Avoid sending a new job if the nonce found was for one before the
current job anyway
- icarus: Double-buffer work to solve nonces found before work change takes
effect
- icarus: Abstract nonce processing
- Bugfix: icarus: Avoid trying to submit 0 on comms error
- icarus: Skip unnecessary nonce memcpy
- icarus: Make state->last_work a pointer and store it on the heap
- README.RPC: Remove usbstats mention
- README: Add FAQ regarding cgminer messing up drivers
- README.RPC: Fix miner name
- README.RPC: Correct to mention other supported devices for pgaidentify
- api.c fix mcast debug message bug
- README.RPC: break all lines at most 80 characters
- Update the API Multicast documentation
- miner.php implement API Multicast handling to automatically find your local
net miners
- Bugfix: RPC: Fix log format types in io_flush
- Set RT_LIBS correctly from autoconf detection
- Explicitly check for clock_nanosleep and only use it when available
- Further integrate cgsleep API into BFGMiner's timer system, so clock_nanosleep
is only used on platforms with CLOCK_MONOTONIC
- Convert cgtimer_t to struct timeval
- Bugfix: Fix BSD sed syntax for curses header search
- Bugfix: configure: Really fix BSD sed syntax for libusb header search
- README.RPC: Mention multicast detection
- README: Include --mcast-* options in usage
- Use ccan's standard char* set/show functions for --api-mcast-{addr,code}
- Bugfix: RPC: Use the same mcast code in reply, and log it correctly
- API mcast only reply to remote IP's that are allowed access
- Initial API Multicast response v0.1 to find cgminer APIs
- Check for cnx_needed on each loop through wait_lp_current.
- Return positive for cnx_needed when no_work is true.
- Add no_work bool to set when we are in an underrun situation
- Reorder support names alphabetically.
- We don't want to continue into the hash_pop function if the getq is frozen.
- Carve out the unused portions of sha2 implementation.
- Import Aaron D. Gifford's fast sha256 implementation.
- Use cloned work when finding avalon results since another thread can discard
the work item while it's in use.
- Provide a variant of find_work_bymidstate that returns a clone of the found
work.
- Use timespecs on windows as cgtimer_t to capitalise on the higher resolution
clock changes.
- Abstract out the conversion of system time to an lldiv_t in decimicroseconds.
- Use our own gettimeofday implementation on windows for it to be consistent
across ming builds and higher resolution.
- Provide cgtimer_sub helper functions.
- Provide cgtimer_to_ms helper functions.
- Rename cgsleep_prepare_r as cgtimer_time to get time in cgtimer_t format and
call cgsleep_prepare_r as a macro for cgtimer_time
- TimeBeginPeriod and TimeEndPeriod do not add significant overhead when run the
entire time for cgminer so avoid trying to maintain balanced numbers of them for
specific time calls to simplify code.
- Replace all references to the old n*sleep functions with the equivalent
cgsleep_*s replacements.
- timeGetTime uses huge resources on windows so revert to using timevals for its
implementation of cgtimer_t
- Quotient/remainder error in ms division.
- Provide cgtimer_to_timeval helper functions.
- Provide a timeval_to_cgtime helper function to reuse values.
- Simplify cgsleep code for windows by using a typedef for cgtimer_t that
resolves to clock resolution, using that internally.
- On windows use the higher accuracy timegettime function to really get 1ms
clock and timer accuracy.
- Fix missed endtimeperiod in overrun timer on windows.
- Make cgsleep_us_r take an int64_t for us.
- Make the cgsleep functions build on windows.
- Set high resolution timing on windows within the cgsleep functions.
- Provide reentrant versions of cgsleep functions to allow start time to be set
separately from the beginning of the actual sleep, allowing scheduling delays to
be counted in the sleep.
- Make the nmsleep and nusleep functions use the new cgsleep functions internally
till functions are migrated to the new cgsleep API.
- Add a ms_to_timespec helper function, and create a cgsleep_ms function that
uses absolute timers with clock_nanosleep to avoid overruns.
- Add rt lib linkage to enable use of clock_nanosleep functions with older
glibc.
- Add a timeraddspec helper function.
- Provide a us_to_timespec helper function.
- Provide a us_to_timeval helper function.
- Add helper functions to convert timespec to timeval and vice versa.
- Bugfix: SGW: Discard work from log only by expiry, so post-startup hardware
errors are truly only hardware errors
- bitforce: Make voltages available to RPC
- bitforce: Save voltages as array of longs internally
- Bugfix: Clear device bad nonces when zeroing stats
- cpu & opencl: Defer RUNONCE to actual autodetection, so they can be added once
after startup
- Bugfix: Avoid crash activating [M]anage devices with no currently defined
devices
- TUI: Support for adding new devices using the plus key from [M]anage devices
- Bugfix: Use add_serial function for scan_serial, so that "all" keyword works
correctly
- SGW: Add support for new X-Hashes-Done header to allow devices to more
accurately report their work
- SGW: Add X-Mining-Identifier header to inform devices what they are
represented by in BFGMiner
- SGW: Use JSON for 401 response; add Server HTTP header
- AUTHORS: Add contributor Josh Lehan
- Changed comparison constants to allow for floating-point rounding
- Install README.ASIC for Block Erupter related drivers as well as Avalon
- make-release: Windows users don't need README.Debian
- README.OpenWrt: Import from BFGMiner downloads
- Silence Windows warning about send data signedness
- Fix block info
- API/miner.php add some % fields
- Don't yield on grabbing the read lock variant of cglocks.
- util.c expand quit to show file/func/line
- We should be using a cg_wlock initially in generating stratum work before
downgrading the lock.
- Add the ability to downgrade a write variant of the cglocks.
- Yield after releasing a lock in case we are on a device with limited CPU
resources.
- Fix --scrypt being required before scrypt intensities on command line or not
working at all via config files.
- Limit intensity range according to whether scrypt is in use or not.
- Do not allow benchmark mode to be used with scrypt.
- miner.php format Best Share
- README.ASIC block erupter USB brief
- Check for negative wait time in socket_full.
- Adjust socket wait timeout in recv_line according to how long we've already
waited to avoid a 60 second wait dropping to 1 second due to a blocked socket.
- force type checking on curses
- logging - size check sprintf
- Only use length-counted variants of format_unit and percentf
- Implement snprintf-like versions of format_unit and percentf
- miner - size check all sprintf
- size check get_datestamp/get_timestamp and remove unused cgpu->init
- make all statline overflow safe
- Convert the decay_time function into one that truly creates an exponentially
decaying average over opt_log_interval.
- GPU fan rpm display 9999 when it overflows
- Change mode on python file.
- Only update hashmeter if we have done hashes or haven't updated longer than
the log interval, fixing a us/ms error.
- README.ASIC: Document usage with Block Erupter Blades
- README: Add mention of libmicrohttpd to dependencies
- SGW: Include hash1 in work
- SGW: Include application/json Content-Type header
- Fix build without libmicrohttpd
- Allow startup to proceed with no devices, as long as RPC or HTTP are listening
- SGW: Refuse to issue new work to disabled devices
- SGW: Respond with stale rejection if share is known to be immediately stale
- Expose HTTP getwork username in Manage TUI and devdetails RPC
- Add --cmd-idle notification command for REST/WAIT conditions
- bfgminer-rpc: Accept unlimited size replies
- api-example.py: Accept unlimited size replies
- RPC: Rewrite io_data to cleanly handle unlimited sized responses
- Configure options to build --without-libmicrohttpd support
- RPC: setconfig can now change http-port (enabling or disabling the http
service included)
- Embedded HTTP server to handle getwork-based mining devices
- inc_hw_errors2 function can handle a bad nonce without a known work
- Split up scan_serial function to enable internally adding ad-hoc cgpu
- Helper functions bfg_json_obj_string and share __json_array_string
- bytes_t: Add bytes_shift and bytes_nullterminate
- Fix configure help for --without-sensors
- README: Document --with-system-libblkmaker
- Bugfix: Use BSD-friendly sed syntax for libusb header search
- Bugfix: Handle bitstreams properly
- Bugfix: Skip search for addwstr since it breaks --with-curses=preference
- Bugfix: configure: Find correct curses include path without *-config
- README.FPGA: Further clarify ZTEX setup
- Display a friendly error directing to README.FPGA when bitstream cannot be
loaded
- Remove bitstreams from BFGMiner distribution entirely, and include pointers
where to find them in README.FPGA
- ztex: Use load_bitstream_bytes for .bin files
- fpgautils: load_bitstream_bytes support for Intel HEX format (.ihx) files
- Add missing 16-bit byteswap macros
- fpgautils: load_bitstream_bytes function to load a bitstream into a bytes_t
- bytes_t functions: bytes_init, bytes_append, bytes_reset
- Look for bitstreams in /usr/share/bitstreams
- Disable Unicode support by default (use --unicode to enable)
- make-release: Skip stripping debug info from Windows EXEs, for now
- Bugfix: Ensure work variable is assigned before checking its thr_id
- Bugfix: notifier_init (Windows): setsockopt needs an int for SO_REUSEADDR
- Bugfix: Avoid turning totals red just because a processor is idle
- Enable notifications for sick/dead with --cmd-sick and --cmd-dead options that
execute commands when the event occurs
- RPC: Add cpu enable/disable/restart
- windows-build: Update to use libpdcursesw.dll
- Ensure socket error messages are used for socket errors on Windows
- fpgautils: Attempt to use Linux advisory locks on serial devices
- Bugfix: README: --temp-cutoff sets the maximum temperature before cutoff, not
temperature that triggers cutoff
- Bugfix: Avoid incrementing dev_thermal_cutoff_count when just updating
timestamp on status
- Detect curses support for wide characters during configure
- configure: Check for more variants of curses library names
- Bugfix: ztex: Avoid trying to format non-libusb error with libusb error name
- Bugfix: Avoid trying to assign const use_unicode variable with --no-unicode
option
- Remove long-unused opt_time variable
- RPC: Avoid exposing Coinbase-Sig when it isn't supported
- Bugfix: Fix build with libblkmaker < 0.2
- Attempt stratum mining.suggest_target before mining.subscribe, if
--request-diff is used
- Retry stratum if initiation fails for any reason after we have sent something
(assuming there is more older variants we can try)
- Bugfix: Restore delay for authorization on stratum mining.get_transactions
- Bugfix: Fix TUI-only build
- bitforce: Extend pgaset _cmd to variable-length commands
- Bugfix: Use red for total processor count
- bitforce: Undocumented _cmd1 pgaset for experimenting with firmware
- Bugfix: curses: use_default_colors() when possible
- Bugfix: Calculate scrolling range with new cursor lines
- Bugfix: Ensure use_unicode and have_unicode_degrees constants are defined for
curses-less builds
- Bugfix: Replace block_timeval with (time_t) block_time
- README: Update for --no-unicode option
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