forked from luke-jr/bfgminer
-
Notifications
You must be signed in to change notification settings - Fork 10
/
NEWS
7415 lines (7039 loc) · 368 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 4.4.0 - July 7, 2014
- lowl-vcom: Added support for auto scanning (-S auto) on Mac OS X
- rockminer: implement --device-protocol-dump for debugging
- README: Update for commandline options
- README: Update configure options
- Bugfix: bfg_gpio_setpin_output: Clear alt-function bits via INP_GPIO macro
- jingtian: Explicitly configure SPI device while opening
- jingtian: Toggle ASIC reset GPIO at startup
- aan: Set defaults as soon as a proc is initialised
- aan: Allow specifying clock as xHEXX for a raw PLL register config
- aan: Include current frequency in RPC status
- aan: Implement --set jtn:clock=MHz
- aan: Logic to calculate PLL configurations for a given frequency
- jingtian: Use SPI enable GPIO to disconnect SPI during chipselect changes
- aan: Set PLL to 850 MHz
- aan: Simplify register buffer
- jingtian: Decode extra temperature bytes in read_reg
- aan: Add a read_reg hook
- aan: Enable configuring nonce diff with (eg) --set jtn:diff=32
- aan: Properly handle nonce_diff
- aan: Implement mining
- DevAPI: Some designs set the main thr tv_poll from secondary thrs, so check it
after the loop
- aan: aan_spi_parse_rx implies spi_clear_buf
- jingtian: Do detection asynchronously across all possible chipselects so they
complete in parallel
- aan: Refactor aan_spi_cmd a bit
- jingtian: Implement device protocol dump
- jingtian: Detection-only code for new driver
- lowl-spi: GPIO access functions
- lowl-spi: Move knc_spi_txrx to linux_spi_txrx
- SGW: Support for proxy-share difficulty preferences
- SSM: Propagate proxy-share difficulty changes to established connections
- SSM: Track stratum connections for each proxy user
- SSM: Track authorised users for each connection
- SSM: Initialise proxyshare difficulty from --set pxy:diff=N
- proxy: Accept --set pxy:diff=N to set preferred proxyshare difficulty
- proxy: Provide a place to store desired proxyshare difficulty on a
per-username basis, and copy it to SSM connections when authorising them
- SSM: Track proxy share difficulties
- Expose target_diff function and add pdiff_to_bdiff macro
- util: double_find_precision function to identify ideal precision for a fp
number
- work2d: Expose WORK2D_MAX_DIVISIONS in header
- add_local_gbt: Avoid adding servers already configured
- Bugfix: Avoid writing automatically configured local GBT servers to the config
file unless they have been manually enabled
- add_local_gbt: Use rpcconnect when configured
- rockminer: Bugfix: must specify a baud rate (maximum of 115200) to get a read
response
- Bugfix: Use atexit() to ensure a final \n is always printed at exit to work
cleanly with new logging design
- Restore compatibility with old versions of libblkmaker
- Bugfix: probe for ZeusMiner before probing for DualMiner
- Wait until coinbase-addr is needed again, before updating it following a block
change (always using getaccountaddress)
- Don't automatically use #getcbaddr for local bitcoind if the user provided
their own
- Bugfix: refresh_bitcoind_address: Check for NULL json (which is not JSON
"null")
- Bugfix: add_pool: If no current pool set, initialise it (otherwise pool
testing may start a longpoll thread which tries to access currentpool
uninitialised)
- devpath_to_devid: *nix: Reject anything that doesn't begin with a /
BFGMiner Version 4.3.0 - June 30, 2014
- Bugfix: zeusminer: Include config.h
- openwrt: Disable libusb via --without-libusb
- Avoid waiting for local bitcoind test if we have other pools defined already
- lowl-pci: Silence warning on big endian
- bitfury: Portability fixes, including big endian compatibility
- Bugfix: bifury: strtoll already implies native endian, no need to flip it
again
- bitforce: Additional sanity checks, including ensuring our final queued count
matches that seen by the device
- bitforce: Go back to ignoring race-triggered sanity check warnings for ZqX
- bitforce: Refactor FLB and queue flush sanity checks
- bitforce: Use binary FLB protocol for Monarch
- bitforce: Add bitforce_read function to deal with binary responses
- bitforce: Support for queue id based jobs
- Make work->device_id unsigned
- bitforce: Support device explicit "Scan Interval" to override hardcoded sleep
times
- bitforce: Allow queued_max to exceed BITFORCE_MAX_QUEUED_MAX iff the firmware
provides an explicit Queue Depth
- bitforce: Fix bitforce_chips_to_plan_for to work beyond 32 chips
- configure: Clean up zeusminer logic
- icarus: Use estimated hashes for hw errors (more accurate hashrate for devices
where hw error values vary significantly from hashes performed)
- zeusminer: Bugfix: calculate work_division based on chips and cores
- Replace swabn with bswap_32mult (matching swap32yes parameters and
performance)
- Bugfix: zeusminer: Correctly encode job header regardless of native endian
- zeusminer: support added for ZeusMiner scrypt ASICs
- icarus: refactoring: commenting ICARUS_INFO members
- icarus: Accept any power of two as a valid work_division
- icarus: option added for Icarus-based drivers to ignore the golden nonce
during probe
- util: is_power_of_two function
- Bugfix: Display proper statline R and HW error percents for values < 1
- openwrt: Provide scrypt option
- Benchmark: Debuglog headers generated
- Bugfix: cpu: Fix scrypt CPU miner
- Bugfix: scrypt: Fix scrypt hash postprocessing for big endian
- Bugfix: scrypt: Correct endian handling in PBKDF2_SHA256_80_128
- scrypt: Add unit test for scrypt_1024_1_1_256_sp
- scrypt: Add unit tests for PBKDF2_SHA256_80_128 and salsa20_8
- Bugfix: Copy ALL the data with swap32to<native>
- Automatically add pool configured from bitcoin.conf for failover only
- Add failover_only pool flag, to avoid using it regardless of strategy
- Accept --default-config option to search and load default configuration files,
even if user is specifying their own
- Use appdata_file_call to find BFGMiner config file(s)
- util: appdata_file_call and appdata_file_find_first functions
- ccan: Update to latest version (which includes floatval option support)
- Bugfix: Adapt quit function to new logging design
- Workaround GCC 4.6 initialisation bugs with BYTES_INIT
- Bugfix: Use int rather than ssize_t to type-match %d expectation
- Minor refactor of text-only mode: avoid wasting bottom line of console, and
save status lines as they are replaced by log items
- Bugfix: Wake up wait_lpcurrent if its conditions for returning may have
changed
- Defer determining --quit-summary default until it is needed, so hotplugged
devices affect it
- Bugfix: In benchmark mode, only remove the new pools after putting them in the
array, since the removal will try to remove it from the array
- Bugfix: Initialise struct pool in add_pool rather than halfway through startup
- URI parameter #getcbaddr to request coinbase address from bitcoind or
compatible servers
- pool_set_uri function
- util: bytes_eq and bytes_assimilate
- Replace struct _cbscript_t with bytes_t for simplicity
- Bugfix: Parse userpass option with strchr rather than strtok to avoid
usernameless passwords getting into the username field and being displayed
- Bugfix: Free old coinbase script before setting a new one
- util: upper_power_of_two_u32 function
- Avoid unnecessarily finding drivers in a loop
- lowl-pci: Never probe via -S *:all
- configure: Succeed even if the libblkmaker submodule is missing (only
--with-system-libblkmaker)
- rockminer: Reset task timeout when queuing work
- rockminer: When we detect a task failure, check if we ought to grab a new work
rather than resend
- rockminer: Add a time limit before resending work even outside of midtask
state
- Bugfix: rockminer: Keep count of requested jobs properly
- make-release: Include ccan LICENSE symlinks as symlinks even in ZIP
- make-release: Ensure ccan licenses get included in source
- Bugfix: make-release: Correctly avoid unused parts of ccan
- make-release: Do builds with the official source release, to test that it
works
- Bugfix: DevAPI: Make for_each_logical_proc work correctly
- Avoid double hashing of shares
- Create work_hash function to abstractly produce work->hash from work->data
regardless of algorithm used
BFGMiner Version 4.2.0 - June 11, 2014
- Upgraded Windows libmicrohttpd from 0.9.35 to 0.9.38_pre33603
- SGW: Workaround BE Cube bugs with new libmicrohttpd by forcing HTTP 1.0
response
- rockminer: Increase hw error count for problems
- rockminer: Autodetect with "R-BOX miner" or "RX-BOX miner" product strings
- rockminer: Support for seeing and setting clock frequency in Manage TUI
- rockminer: Include clock frequency in RPC processor status
- rockminer: Support for setting clock frequency
- rockminer: Workaround lost tasks by resending them
- rockminer: Support for temperature sensors
- rockminer: Debug messages
- Bugfix: rockminer: Initialise rockminer_chip_data
- Bugfix: rockminer: Ensure work actually exists before testing against it
- rockminer: Mine at 270 MHz
- rockminer: Implement mining (at 200 MHz)
- DevAPI: Move device_proc_by_id out of bifury driver, since it is generically
useful
- rockminer: Detection code for new driver
- bfg_socket wrapper to ensure sockets are close-on-exec
- set_cloexec_socket: Explicitly cast SOCKET to HANDLE
BFGMiner Version 4.1.0 - June 6, 2014
- Bugfix: Ensure variables are declared even without ADL support
- RPC: Include a list of config files loaded in "config" reply
- Bugfix: Save a linked list of config files loaded so output makes sense
(previously only the most recent config file was named, and errors were reported
inconsistently)
- README.RPC: Document Coinbase-Sig in config reply
- Bugfix: Safely handle pool status line when no pools are alive
- bitforce: Refactor bitforce_vcom_gets slightly to be more sane
- Bugfix: initiate_stratum: Ensure extranonce2 size is not negative (which could
lead to exploits later as too little memory gets allocated)
- Stratum: extract_sockaddr: Truncate overlong addresses rather than stack
overflow
- Stratum: tlsca parameter to require CA validation of TLS certificate
- Bugfix: Avoid setting tv_idle before testing pool (it will be set if the test
fails)
- restart_stratum: Make use of return_via
- return_via helper function family to assign a variable and goto
- Bugfix: restart_stratum: Release pool_test_lock on failure
- bfsb: Disable all banks before enabling the one we want, to avoid having two
enabled at the same time (eg, when switching from bank 3 to bank 2)
- Interpret present "tls" parameter to require TLS
- uri_get_param_bool2 returning a tristate
- Tests for uri_find_param
- Split uri_find_param out of uri_get_param_bool
- gridseed: Allow specifying an arbitrary number of chips with --set gsd:chips=X
- gridseed: added support for the 80-chip (two blades of 40 chips) G-Blade
Scrypt-only miner
- Bugfix: gridseed: use a signed integer so that returning -1 has defined
behavior
- RPC: Return integer difficulties without decimal places
- Bugfix: Zero pool "Works"
- Bugfix: Set any listening sockets to close-on-exec/non-inheritable to avoid
issues rebinding them on restart
- RPC: Explicitly shutdown communication on client sockets to avoid them being
held open by forked processes
- RPC: Clean up mcast socket with tidyup_socket
- RPC: Move socket tidyup code to its own function
- Bugfix: RPC: Use pthread_exit rather than returning from the RPC thread, to
ensure tidyup gets called
- Bugfix: bitforce: During initialisation, clear each XLink slave exactly once
only
BFGMiner Version 4.0.0 - May 26, 2014
- Update openwrt Makefile for xz source
- Update libblkmaker to 0.4.0
- Workaround Homebrew-induced segfault during device scan
- Allow hotplug with scrypt
- Bugfix: test_domain_funcs: printf precisions must be int, not size_t
- littlefury: Cleanup to make avoiding memory leak easier
- Bugfix: Avoid using an enum type to hold a bitfield
- ruby extension is "rb" not "py"
- README.RPC: Document api-example.rb
- Add Ruby Api Example
- hashfast: Check devices with Product matching "GoldenNonce" so we have a
vendor-neutral way to detect them
- Reduce set_device-not-implemented message to debug log level, since it can
occur for init-only settings
- Use a mutex to block pool_active on a common check per pool at any given time
- Use cURL return code to check if cURL sockets hit CURLE_AGAIN
- Abstract pool_recently_got_work into a dedicated function
- AUTHORS: Dmitry Smirnov contributes BFGMiner packaging to Debian
- README: Talk about more GUIs and mining OSs
- icarus: Minor optimisation (swap byte order in 32-bit always-aligned groups,
and skip pointless memory copy)
- icarus: Initialise ob_bin to avoid leaking other memory to device
- Bugfix: bitfury: Set stat_elapsed_secs early, just in case we jump with goto
- Bugfix: Report actual kernel name in RPC, rather than kernel interface name
- README.scrypt: Document psw kernel
- opencl: Another optimised scrypt kernel ("psw")
- README.scrypt: Document zuikkis kernel
- opencl: Optimised scrypt kernel ("zuikkis")
- Bugfix: Silence harmless warnings
- Bugfix: vcom_set_timeout: Return whether successful
- bitforce: Set name for ASIC devices
- Bugfix: Avoid unnecessary rescans due to wrong devtype
- bitforce: Support 28nm ChannelNN format for ZCX
- Bugfix: bitforce: Don't confuse channels with X-Link
- Bugfix: bitforce: Set VCOM timeout to 1 second for ZGX request, since it
sometimes lacks a newline
- lowl-vcom: vcom_set_timeout function
- bitfury: Eventually (after 30 seconds) give up trying to detect chip
generation and just assume gen1
- bitfury: Use other nonces for gen1 detection so one bad core can't break it
- Bugfix: bitfury: Account for necessary nonce fudging during chipgen detection
- gridseed: Switch from the Queued miner loop to the Scanhash miner loop
Improves performance on Raspberry Pi Fixes inaccurate hashrate estimates Fixes
bug overwriting work inadvertently
- If the current pool lacks its own block change detection, keep the pool used
for that connected
- pool_active_lp_pool function to complement select_longpoll_pool
- Track which pools have active longpoll connections
- Avoid retrying longpoll requests for removed pools (and possibly change block
change notification source for existing ones) if longpoll connection gets
dropped
- util: Pass full json_rpc_call_state to upload_data_cb
- Remove now-unused variable
- nanofury: Update enable/disable/reinit to cleanly handle multichip devices
- bifury: Default max_queued to chips * 5 + 6 so it is back up to the original
16 for bi*fury (which seems to need it sometimes)
- bifury: Default max_queued to chips * 5 for extra breathing room (avoids
occasional issues with Hex*Fury)
- README.ASIC: Document workarounds for OSM/Hex*Fury firmware bugs
- bifury: Measure hashes done by nonces found since we cannot tell what
generation chip is in use
- bifury: Default max_queued to chips * 4
- bifury: chips init setting to workaround buggy hardware which reports wrong
chip count
- bifury: free_after_job setting to workaround buggy hardware which ignores
maxroll
- bfg_strtobool helper function
- bifury: Enable runtime modification of max_queued
- bifury: Migrate to set_device_funcs interface
- Stratum: Accept a "notls" parameter on pool URIs to disable opportunistic TLS
- uri_get_param_bool helper function for pool parameters
- nanofury: Only ramp up osc6_bits on multichip devices
- Bugfix: nanofury: Move the bitfury pointer back to the last element before
starting the ramp up loop
- Bugfix: Use pdiff 1/0x10000 for scrypt benchmarking
- benchmark: Use sane bits (of a very high difficulty to avoid triggering
anti-reorg protections)
- Ignore work difficulty minisculely harder (ie, rounding error) than what
device supports
- Benchmark: Add 2D work support
- SSM: Use a lower share difficulty in scrypt mode
- Rework test_nonce to share common logic for scrypt and SHA256d
- work2d: Accept nonce difficulty with submissions
- configure: Make work2d building abstract from libevent
- work2d: Standardised way to pad extranonce beyond what work2d manages
- Abstract code from stratumsrv_mining_submit into new work2d_submit_nonce
function
- Avoid handling hex encoding in work2d
- Move/rename _ssm_gen_dummy_work to work2d_gen_dummy_work
- SSM: Refactor _ssm_gen_dummy_work to work with struct stratum_work instead of
struct stratumsrv_job
- Move "nonce1" session id from struct pool to struct stratum_work
- Add pool and work_restart_id to struct stratum_work so they can be used
independently of struct pool
- Move n2size from struct pool to struct stratum_work
- autogen.sh: Automate cleaning INSTALL out of libblkmaker so git updates
properly
- Update libblkmaker to 0.4.0
- Replace drv_rolllimit with struct ntime_roll_limits
- util: Unpack and pack utility functions ([u]pk_u{8,16,32}{le,be})
- GBT: Do not allow drivers to roll ntime
- GBT: Use libblkmaker 2D work to service SSM and potentially other 2D work
drivers
- Hide blktemplate_t behind bfg_tmpl_ref to abstract reference counter
- Add pool_has_usable_swork function
- SSM: Split stratum work division into 2D work manager ("work2d")
- bitforce: Avoid crashing when broken devices report more jobs flushed than
they had to flush
- nanofury: Gradually ramp up osc6_bits for NF6 design
- util: memrchr is not portable (GNU extension), so implement our own my_memrchr
- bitfury: Report correct hashrate for gen2 chips
- bitfury: Detect gen2 chips
- Stratum: If difficulty calculates out to 0.999 to 1, round it up to 1 to avoid
something SHA2 hardware cannot handle
- Stratum: If the pool target has changed since the job a work came from, check
any shares against the new target too in case it expects retroactive difficulty
adjustments
- Stratum: Interpret integer difficulty values as pdiff (or Ldiff, for scrypt)
to avoid losing shares on non-compliant servers
- Rework difficulty-to-target functions to error on the safe side, and
consistently work in pdiff or bdiff
- Simplify stratum to convert difficulty to target immediately
- Stratum: Attempt connection with unauthenticated TLS, with failover to raw TCP
- Stratum: Return to curl_easy_{send,recv}
- get_registered_domain: Return full IP for raw IP addresses, so they can at
least redirect to the same IP
- Reject redirection across different registered domain names (can be disabled
by appending #redirect to pool URI)
- util: match_domains function
- util: Add isCalpha, get_registered_domain, and extract_domain functions
- README: Update for gridseed 5-chip orb
- configure: Clean up gridseed logic to only build by default when scrypt is
enabled
- gridseed: Fix warnings
- gridseed: Added support for Scrypt hashing with 5-chip GridSeed devices
- dualminer: Only one debug message needed for all init options
- dualminer: Move opt_dual_mode to dualminer file
- gc3355: move scrypt_only_reset_cmd out of scrypt_only_reset
- dualminer: No need to reconfigure frequency every work
- dualminer: refactor gc3355 code for readability, maintainability and use with
other devices
- dualminer: Abstract dualminer_init_hashrate out of dualminer_init_firstrun
- dualminer: Initialise opt_pll_freq along with opt_sha2_units
- dualminer: Move opt_sha2_units initialisation to new dualminer_set_defaults
function
- dualminer: Remove unnecessary opt_sha2_number
- dualminer: Simplify teardown
- dualminer: No need to parse strings for SHA2 unit counts
- gc3355: Support for appending jobs with task id
- gc3355: increase delays to 20ms
- gc3355: use NULL for end-of-command terminator
- dualminer: comment what various things are for and/or do
- dualminer: Split gc3355_scrypt_prepare_work and gc3355_sha2_prepare_work out
of dualminer_job_prepare
- dualminer: Use cgsleep_ms rather than usleep
- gc3355: Remove unused opt_hubfans variable
- dualminer: rename various things to be clearer
- Use a common enum bfg_gpio_value for both lowl-vcom (cts, dtr, rts) and
mcp2210
- README.RPC: Document quit/restart reply format change
- RPC: Provide a full status section for quit/restart commands
- RPC: Add "Miner" to version response to include software name along with
version
- Bugfix: Dereference udev monitor events when done with them
- opencl: Workaround false warning regarding Mesa version number parsing
- knc: use_dcdc setting that Nov batch users can use to disable DCDC usage
- configure: Include <stddef.h> for _Static_assert check
- opencl: If kernel does not specify an interface in scrypt mode, assume it's
the scrypt interface
- opencl: Replace dated versioning with hash of source code
- opencl: Search all the same kernel paths when setting kernel
- opencl: Accept arbitrary kernel filenames, provided they specify a kernel
interface somewhere in the source file
- Bugfix: Explicitly pass precision and width as int type
- Make pool stability message use nicer English
- Failover pool switching back delay is now configurable.
- Expand extranonce2 size to 64-bit
- README.ASIC: KnCMiner: Suggest --disable-other-drivers and remove
no-optimisation CFLAGS
- configure: libusb is implied by lowl-usb, so no need to list it as an option
separately
- Silence warnings when built without various drivers
- DevAPI: Remove long deprecated serial_detect function family
- Bugfix: Turn spidevc into lowl-spi to fix building the knc driver without the
bitfury driver
- Avoid triggering unnecessary device rescans (such as with pre-lowlevel
drivers)
- Replace --no-client-reconnect with --no-pool-redirect which also disables
X-Stratum header redirects
- Partial: A new --no-client-reconnect command that disables the
'client.reconnect' function.
- ftdi: Rename files to lowl-ftdi.{c,h} to fit with naming convention
- bfx: New driver for BFx2 Bitfury USB stick miners
- ftdi: ft232h_mpsse_readwrite_all function to do both reading and writing
concurrently in MPSSE mode
- ftdi: ft232h_mpsse_set_axbus function
- ftdi: Support for ft232h MPSSE mode (currently only works with
ft232r_write_all)
- ftdi: Split most of ft232r_open into a ftdi_common_open function
- ftdi: Support for --device-protocol-dump
- ftdi: Scan for ft232h-based devices
- ftdi: Avoid neutering lowlevel_device_info when opening it
- ftdi: Accept const data in write functions
- ftdi: Use actual USB packet size for FTDI status removal
- ftdi: Make ftdi lowlevel code independent of x6500 driver
- dualminer: Workaround false compiler warning in gc3355_config_cpm
- Bugfix: --disable-other-drivers should not force libusb to be unused
- Bugfix: README: Alphabetise and categorise build configuration options (and
add missing ones)
- TUI: Use _wlogprint for pool proto to avoid compiler warning
- Bugfix: TUI: Fall back to RPC URI if sockaddr_url hasn't been extracted (such
as benchmark mode)
- Hide work update messages unless explicitly enabled with hidden
--verbose-work-updates flag
- TUI: Redesign pool info line to include share difficulties in multipool modes
and last explicity work update timestamp
- nanofury: Abstract both power gpios into a nanofury_power_enable function
- nanofury: Add NANOFURY_GP_PIN_PWR_EN0 (inverted PWR_EN) - support for power
management (hardware) optimizations
- Bugfix: nanofury: Set cgpu_data for all processors (eg, to avoid crashing in
nanofury_set_ledmode for non-first procs)
- Bugfix: nanofury: Use correct SPI port for baud setting
- proxy: "Report in" clients when their info is looked up by username
- opencl: Replace (and deprecate) --no-opencl-binaries option, with --set
opencl:binary=no
- opencl: Reenable OpenCL kernel binaries for Mesa OpenCL >= 10.1
- gc3355: Replace frequency-setting hex blobs with logic
- README: Update for DualMiner
- make-release: Switch to xz for source releases
- Stratum: If a pool explicitly tells us it doesn't support get_transactions, no
need to wait for a timeout
- api - buffer size off by 1 for joined commands
- miner.php - define a default rigport (that can be changed) and don't require a
port number in the rigs array
- miner.php allow links for rig buttons in tables and allow using the 4th IP
octet if no rig name - default disabled for both
- Remove wrong goto
- Remove the unqueued work reference when we discard work from get queued as'
well.
- Wake the global work scheduler when we remove a work item from the unqueued
work pointer.
- Discard work that is stale in the get_queued() function, returning NULL
instead.
- Bugfix: dualminer: Declare support for both SHA256d and scrypt algorithms
- gc3355: Use lowl-vcom set_serial_dtr function
- lowl-vcom: Implement set_serial_dtr
- gc3355: Use lowl-vcom cts/rts functions
- lowl-vcom: Implement set_serial_rts for Windows
- lowl-vcom: set_serial_rts should return the new rts value, if anything
- Rename icarus-common.h to driver-icarus.h
- icarus: probe_timeout setting to control how long we wait before giving up on
probes
- icarus: Defer initial open until init
- Remove debugging garbage that snuck in
- configure: New --disable-other-drivers options for users who want to build
just select drivers
- Simplify _now_gettimeofday on Windows, working around weird WINE crash
- cpu: Fix and simplify benchmarking on Windows (removes hidden --bench-algo
option)
- Remove old bench_block.h, no longer needed
- Bugfix: cpu: Adapt benchmarking code to new benchmark work generator
- Report precise share difficulties below 1
- Bugfix: lowlevel: Pretend drivers not matching the active algorithm don't
exist
- Bugfix: dualminer: Set min_nonce_diff before getting work
- Bugfix: gc3355: Use correct byte counts for hex2bin
- configure: Fix up dualminer logic
- dualminer: Support for mining both Scrypt and SHA2 using DualMiner GC3355
thumb sticks
- miner: scan for low level devices even if --scrypt is specified by the user
(to detect Scrypt ASICs)
- icarus: output protocol information if the user specifies
--device-protocol-dump
- icarus: Support for driver-specified job command lengths
- icarus: Support for custom driver job start function
- icarus: Support for custom driver initialisation function
- icarus: Call icarus_job_prepare via driver job_prepare key so it can be
overridden
- icarus: generic support for devices that return little-endian nonces
- icarus: allow custom probes
- icarus: expose do_icarus_close
- RPC: Remove separate CPU and GPU counters from devs Msg
- RPC: Optimise find_index_by_cgpu
- Bugfix: RPC: Restore PGA index counting
- Accept decimal values for --shares, and clarify weighed nature of the value
- benchmark: Remove all real pools, and prevent adding them
- benchmark: Fake submission of "shares"
- benchmark: Roll data before nonce only
- Bugfix: configure: Report bitforce:pci instead of bitforce:uio
- bitforce: Workaround broken/old compilers by setting device_fd outside of
initialisation
- AUTHORS: Update email for Kano
- RPC: Add "MHS rolling" key to status mirroring "MHS %ds"
- minorfix: remove extra semicolon
- Drillbit: Revert needless commit 270c1d01f, thanks @luke-jr
- Drillbit: Add upper and lower bounds to "Eight boards have a multiple of 8
ASICs" check
- Drillbit: Clarify use of device_data pointer to store capabilities/protocol
version temporarily
- Drillbit: Keep reading work for as long as the device returns results.
- Drillbit: Be strict about not accepting any boards with newer protocol
versions. Protocol version bumps are non-backwards-compatible.
- Drillbit: Add support for "protocol version 4", non-device-specific
configuration packet format
- README.RPC: Add link to Node.js RPC wrapper
- opencl: Get temperature and fan speed updates with get_stats interface rather
than abusing statline override interface
- Bugfix: Remove devtype variable from driver API
- opencl: Deprecate --auto-{fan,gpu} and --gpu-dyninterval options
- opencl: Infer autoengine mode when the clock setting receives a range
- opencl: Infer autofan mode when the fan setting receives a range
- Bugfix: opencl: Defer initial intensity assignment until init, so opt_scrypt
has a chance to be set
- opencl: Strip leading and trailing spaces from names
- trimmed_strdup helper function
- icarus: Replace hard-coded "Icarus" mentions
- opencl: Deprecate all dedicated commandline options for parameters accessible
via set_device
- opencl: Make current intensity, xintensity, and oclthreads available via RPC
- opencl: Redo Manage TUI detail line to use xintensity when more reasonable
- opencl: Support for setting oclthreads as intensity=xNNN (for NNN xintensity);
also allow setting d<whatever> for an initial dynamic intensity
- opencl: Store oclthreads and only convert to/from intensity numbers when
dealing with external interfaces
- RPC: Deprecate all cpu* and gpu* commands, and remove CPU/GPU counts from
'devs' response
- RPC: pgarestart command to match {cpu,gpu}restart
- RPC: Unify common code under get_pga_cgpu function
- README.RPC: Deprecate gpu{intensity,mem,engine,fan,vddc} now that they can be
accessed via {pga,proc}set
- RPC: Consider CPU and OpenCL devices as "PGAs" to begin migration to a simpler
interface
- RPC: Turn gpu{intensity,mem,engine,fan,vddc} into wrappers around set_device
- opencl: Support configuration using set_device interface
- Bugfix: miner_thread: Don't call cgpu_set_defaults if it has already been
called
- Common add_set_device_option for automatically generated --set-device options
- Bugfix: opencl: Safely handle work->device_data across work copies and cleans
- set_device: Accept underscores for temp_{cutoff,target}
- opencl: Allow specifying a comma separated list for --gpu-threads
- opencl: _SET_INT_LIST2 to set variables not necessarily within
opencl_device_data
- hashfast: Enable setting device-wide clock at probe time using USB_INIT
- Bugfix: hashfast: Use signed type for manipulating raw temperature data, in
case it is below 0 C
- hashbusteravalon: Add udev rule
- klondike: Split up work and submissions among logical processors
- klondike: Make reply_wait_time a settable variable (configured lower for
hashbusteravalon)
- klondike: Explicitly enable slaves as well as the master
- hashbusteravalon: Klondike-based metadriver
- klondike: Pre-initialise klninfo separately from probe
- klondike: Allow setting max_work_count and max_work_time via set_device
- klondike: Variablise max_work_count and old_work_ms
- Move all OpenCL-specific data behind device_data pointers, and relocate
OpenCL-specific code out of miner.c
- opencl: Macro-ise code for list options
- Reduce failure applying set-device rules to debug loglevel
- Add --set as alias for --set-device
- Bugfix: miner.c: Correct ccan include
- Bugfix: Correct ccan-upstream directory include
- Load default config before commandline options, so the latter override the
former (but prioritise defaultconfig pools last)
- configure: Check for sys/termios.h used by ccan/opt
- make-release: Only include specific components of ccan
- Use git submodule for ccan (moving opt_*_floatval into miner.c)
- Probe erupter before icarus, since they are far more common now
- Accept --no-config option to inhibit loading default config file, even without
specifying another config
- Bugfix: RPC: Ensure isjoin always gets initialised
- bitforce: Remove two really-unused variables
- nanofury: Silence false warning from some compilers about uninitialised
variable use
- hashfast: Promote problematic write() replies to warning level
- hashfast: Log errno on write failures
- Extend maximum processor count to 17,576 (3 letters)
- DevAPI: Make processor lettering code more extensible
- Remove shorthand option for undocumented --bench-algo
- Remove long-deprecated and non-functional --enable-cpu option
- Deprecate shorthand options for uncommonly-used --algo, --cpu-threads,
--expiry, --gpu-threads, --intensity, --kernel-path, --kernel, --scan-time,
--vectors, and --worksize
- API-README correct new text format documentation
- API allow multiple commands/replies in one request
- Due to work restarts causing ~all processors to request work at once, it is
always ideal to stage at least mining_threads extra works
- scrypt: raise the maximum GPU intensity for scrypt mining to 31 - benefits
shown for AMD R9 290 models
- Bugfix: bitforce: ZNX/ZWX expect size minus 1
- Bugfix: bitforce: Start building send_queue command at the real end
- Bugfix: bitforce: Defer opening until after devdata is initialised (since it
is now used to track open-ness)
- Document uio/vfio configure options as --without-* since they are enabled by
default when available
- Include list of lowlevels built in configure and --help output
- lowl-pci: Autodetect build-time support for UIO and/or VFIO during configure
- README.ASIC: Document how to use Monarch in a PCI-Express arrangement on Linux
- lowl-pci/vfio: Support pread/pwrite access to bars
- lowl-pci: Support for vfio
- Abstract UIO-specific code from bitforce driver into lowl-pci
- bitforce: Initialise lasttag based on response register
- bitforce: Tie in UIO with lowl-pci
- lowl-pci: New lowlevel driver for raw PCI devices
- util: bfg_slurp_file function to quickly read a file
- bitforce: Support for PCI interface via UIO
- bitforce: Hide vcom interfaces behind new struct bitforce_lowl_interface
- bitforce: Let the lowlevel interface deal only with the actual device
cgpu_info
- bitforce: Abstract most of VCOM layer away from driver code
- bitforce: Avoid checking fd by adding is_open flag
- bitforce: Replace BF{open,close} with more abstract bitforce_vcom_{open,close}
- bitforce: Abstract fd access mostly down to BFgets/BFwrite
- bitforce: Support for 28nm WX single-stage bulkqueue command
- bitforce: Use enum for style (FPGA vs SC)
- bitforce: Remove never-used and buggy "work queue" mode
- Round temperature to an integer in thermal cutoff warning
- Bugfix: icarus: Initialise read_count and other timing-related variables
- Change default log interval to 20 seconds
- hashfast: Bump default thermal cutoff temperature to 100 C
- Bugfix: DevAPI: Ensure temp-cutoff and temp-target are always supported
settings
- Bugfix: Initialise cutoff and target temperatures in allocate_cgpu if not
initialised by the driver
- Include temperature in thermal cutoff warning
- Avoid automatic rescans when hotplug is disabled
- nanofury: New "ledmode" RPC setting, to control LED behaviour
- nanofury: Support for changing baud rate
- nanofury: Detect number of chips, so multiple can be used
- bitfury: When detecting chips, oscillate slower and tolerate clocks outside of
a predefined range
- Default --quit-summary to devs if there are more than 24 processors
- Control printing of quit device summary with --quit-summary option
- bitfury: Migrate all drivers to set_device_funcs interface
- drv_set_defaults: Take devpath and serial params so matching by those can work
- avalon: Replace avalon-options with set_device_funcs
- klondike: Replace klondike-options with set_device_funcs
- Replace temp-cutoff and temp-target parameters with set-device options
- README.FPGA: Update documentation for Icarus driver
- icarus: Replace icarus-timing with set_device_funcs (including wrapper for
single icarus-timing case)
- icarus: Replace icarus-options with set_device_funcs (including wrapper for
single icarus-options case)
- drv_set_defaults2 function to work with set_device_funcs
- icarus: Clarify user_set flags with an enum
- icarus: Clarify reopen modes with an enum
- Accept parameter to set_device "help" as a request for help on a specific
setting
- set_device_funcs support for returning messages on success
- RPC: Support for alternate message strings
- bitfurce: Use new set_device_funcs interface
- Refactor set_device interface to use option arrays
- configure: Turn _Static_assert into a noop if the compiler lacks support
- Store when the last getwork was retrieved and display it in the API summary.
- bitforce: Consistently use fd -1 when device is not open
- hashfast: Support for voltage in RPC stats
- hashfast: Support for voltage displayed in ManageTUI
- hashfast: Support for temperature
- Trigger automatic rescans if an expected probe fails (assuming the device just
needs more time to initialise)
- Schedule rescan after a 1 second delay, should it be requested twice
- hotplug: Wait 100ms before rescanning, so plugging in a hub can be handled at
once and drivers have time to finish initialisation
- Linux hotplug: Ignore EAGAIN and EINTR from epoll_wait so debugging works
- Common hotplug_trigger function to use regardless of platform-specific
implementation
- Autoscan for new devices on Linux using libudev
- Autoscan for new devices on Windows when DBT_DEVNODES_CHANGED message is
broadcast
- Replace suffix_string with a wrapper around format_unit3
- Skip lowlevel-based scans in scrypt mode
- README.GPU: Document new opencl autodetect behaviour
- opencl: Enable by default in scrypt mode
BFGMiner Version 3.10.1 - May 26, 2014
- Upgraded Windows libraries:
- - libcurl from 7.34.0 to 7.37.0 (and SSL support enabled)
- - libjansson from 2.4 to 2.6
- - libmicrohttpd from 0.9.30 to 0.9.35 (now Win64 also)
- - libusb from libusbx 1.0.17 to 1.0.18
- DevAPI: for_each_{managed,logical}_proc helper macros
- Update libblkmaker to 0.3.3
- make-release: Copy submodules from local system
- make-release: Automatically determine DLL dependencies to include
- Bugfix: littlefury: Avoid memory leak for already-claimed devices
- Bugfix: drillbit: Avoid 9-byte memory leak for already-claimed devices
- Bugfix: lowl-ftdi: ft232r_close: Free device handle
- Bugfix: bitfury: Avoid memory leaks when detect fails
- Bugfix: klondike: Correct case of dname
- Bugfix: hashfast: Set LIFE_INIT2 so a dead engine doesn't hold up the stats
line
- Bugfix: bitforce: Restore device name loading for FPGA Singles
- Bugfix: Add config.h include to files missing it
- Bugfix: swap32to?e: Ensure conditionals always have the same type
- Bugfix: Protect prev_cancelstate variables under console lock
- opencl: Silence warning about duplicate const qualifier
- hashbuster: Avoid signed char problems in return status check
- Bugfix: bfg_claim_any: Use a mutex to avoid races around device claims
- SSM: Silence JSON parse error message for HTTP POST and TLS attempts
- bifury: Defer precision loss until after checking osc6_bits value
- opencl: bfg_clBuildProgram function to share common error handling (logging)
code
- opencl: Avoid printing empty build logs
- Bugfix: opencl: Free allocated memory when done with it
- Bugfix: Stratum: Use an error buffer on struct pool rather than the stack, so
it remains valid for the lifetime of the connection
- Bugfix: Reset tv_idle on pools after test failure
- Bugfix: Ignore last work time if pool is known to be down
- pick_unit: Avoid infinite loop when passed inf float
- Bugfix: bitfury: Correct comment about how much of the nonce range chips
process
- Bugfix: Initialise getq (and stgd_lock) earlier so it is ready in case startup
interactive pool-add tries to stage work
- bitfury: Wait for two low frequency measurements before acting on a freq drop
(in case of a single misread)
- Bugfix: SSM: decref parsed JSON when done with it
- knc: Replace numeric constants with KNC_CORES_PER_DIE, KNC_DIE_PER_CHIP, and
KNC_CORES_PER_CHIP defines
- Bugfix: knc: Actually skip over extra processors rather than infinite loop
- Bugfix: Use rlim_t type for old_soft_limit so comparison with RLIM_INFINITY is
correct on all platforms
- Update alloca logic to work on more platforms
- start-bfgminer.sh: Shell script to (re)start bfgminer in a background screen
session
- Bugfix: Handle disabled CPU support properly in various places
- Bugfix: README.ASIC: KnCMiner: Use supported Angstrom feeds only
- Bugfix: pool_active: Skip testing explicitly when we have a recent answer
- RPC: Use struct timeval for mcast bind timer
- Bugfix: Restore 2-minutes-past-last-work wait before terminating unused
stratum connections
- Partial: Bugfix: Turn spidevc into lowl-spi to fix building the knc driver
without the bitfury driver
- SSM: Silence JSON parse error message for HTTP attempts
- Bugfix: Use UTF-8 for micro prefix internally (and in logging)
- Consistently allocate space used for formatting numbers
- util: utf8_len and utf8_strlen functions to quickly measure a character or
string
- Bugfix: README: Add missing driver build configuration options
- Bugfix: renumber_cgpu: No need to copy dev_repr over itself (and trying to is
undefined)
- Move OpenCL kernel FAQ to README.GPU and clarify it a bit
- Bugfix: Log work updates for all active pools in multipool mode
- test_work_current: Cleanup
- Bugfix: Differentiate pool_actively_desired from pool_actively_in_use for
cnx_needed
- Abstract pool_actively_in_use to handle multipool checking for multiple uses
- Bugfix: antminer: Fix typo
- Bugfix: renumber_cgpu: Rebuild repr strings to match new information
- Bugfix: Skip final pool_active check in balancing modes (where pools switch
around often)
- Bugfix: Adjust quota GCD only after completely adding the pool, otherwise it
will be ignored by the adjustment
- Bugfix: opencl: Can only BFI_INT patch if using OpenCL binaries
- SGW: Support for scrypt
- README: Document VCOM low_latency flag and latency_timer sysfs attribute,
which can help run more VCOM-based devices on low-end USB hosts
- Add USB faqs.
- Bugfix: Stratum: Wait a bit for a response before assuming the pool is hiding
block contents
- README: FAQ about Raspberry Pi issues
- Check for when errno is set on windows as well as the windows variant for
errors.
- Partial: Handle interruptions to various select calls in util.c
- Bugfix: configure: Only fail due to not having libusb, if the user really
needs or wants libusb
- Bugfix: Update help display to replace (U)tility with (I)ncome
- Bugfix: Deduplicate % symbols in help display
- Bugfix: Correct documentation for --shares option
- cpu/scrypt: Fix last_nonce to be host endian also
- Bugfix: cpu: Correct results found by scrypt algorithm
- Bugfix: lowl-vcom: _get_osfhandle failure returns INVALID_HANDLE_VALUE, not
NULL
- Bugfix: lowl-vcom: Invalid fd checks should be for -1, not 0
- Bugfix: SSM: Actually acquire and release extranonce1s
- Bugfix: C reserves identifiers beginning with an underscore and uppercase
letter or another underscore
- Skip trying to submit shares in benchmark mode
- Rework benchmark mode
- Bugfix: configure: Only pull in lowl-usb for lowl-vcom if libusb is available
- Bugfix: hashfast: Ensure size of hex data passed to applog is of type int
- README.ASIC: Update "SGW" virtual device identifier to current "PXY"
- Bugfix: klondike: Reenable hw error reporting on nonces found for unknown work
- Bugfix: Expand deprecated work->subid field to int width, needed by klondike
driver for tracking work
- Bugfix: erupter: Sapphire detected as Emerald and Emerald not detected
- configure: Remove duplicate sys/file.h check
- Bugfix: httpsrv: Add missing includes for stdarg, stddef, stdio, and stdlib
- hashbusterusb: Initialise send packets fully to avoid leaking uninitialised
data to devices
- Bugfix: Correct typo in --help ("AlgoritHms")
- Bugfix: twinfury: Avoid crashing when next_work is not populated here
- Bugfix: hashbusterusb: Close device after failures
- Bugfix: hashbuster: Close device after failures
- README: List --quota in options
- README.ASIC: Update documentation for Avalon
- Bugfix: Leave thr->*work alone when disabling non-minerloop_async devices
- udev rules: Set flag so ModemManager ignores devices
- bifury: Thermal overheat causes restart losing the clock, so resend it while
temperature is over 80 C
- bitforce: Explicitly assign indexes for bitforce_proto enum
- Bugfix: RPC: MSG_PGASETOK does not have a string param
- littlefury: Close device if there are any communication problems
- littlefury: Abstract out littlefury_set_power
- Bugfix: hashfast: Add missing serial_claim
- Bugfix: drillbit: Add missing serial_claim
- Bugfix: bifury: Add missing serial_claim
- Bugfix: littlefury: Add missing serial_claim
- Bugfix: Allocate all new devices completely, before trying to activate any
(since the first processor may control the secondary ones)
- Since scrypt miners tend to work at actual share difficulty, use that for
diff1 counting
- Bugfix: diff1 measurements should be increased by nonce difficulty, not share
difficulty
- drillbit: strtol into a long int so negative responses properly get an error
- Rename *nonces variables to *_diff1 to reflect their nature better
- Refactor diff1 records to properly weigh non-diff1 work
- AUTHORS: Add Nico Oelgart
- Fixed multiple XSS injection vectors
- drillbit: Expand allowed external clock range to 0-65535
BFGMiner Version 3.10.0 - January 15, 2014
- Downgrade official Windows build compiler to GCC 4.7.3.
- Bugfix: Stratum: Accept JSON Number type for port number
- Bugfix: proxy: Set start timer when creating new virtual devices
- antminer: Add support for the Identify function - flashes LED 10 times
- drillbit: Expand allowed external clock range to 0-255
- drillbit: Forbid setting external clock usage if not supported by device
- Check for DBC_TEMP capability before trying to read temperature
- Bugfix: drillbit: Reduce work message to correct size
- README: Update documentation for new udev rules and "video" group
- Bugfix: opencl/adl: Set iSpeedType for get-fanspeed requests, and ensure we
don't change do something weird with the fan when initially setting user-defined
speed flag.
- Bugfix: drillbit: Initialise rv variable
- Bugfix: Simplify adding "http://" prefix to avoid strncat overflow (length
excludes null byte)
- hashfast: Debuglog work flushing
- hashfast: Implement OP_NONCE search flag
- hashfast: Log seq numbers for nonces found
- hashfast: Count hashes done by nonces found, rather than no-pending-work
(which could be triggered by flushes)
- hashfast: Just keep a queue of the 32 most recent work items per core
- hashfast: Convert to minerloop_queue driver model
- hashfast: Gracefully complain if we are given an unknown chip or core address
- udev rule for hashfast devices
- hashfast: New driver using UMS protocol
- CRC-8-CCITT implementation
- AUTHORS: Add Lingchao Xu and move nwoolls up to antminer driver (and mention
TwinFury driver for Andreas)
- knc: Workaround false compiler warning about "uninitialised" vars
- Bugfix: drillbit: Access fd after potentially reopening
- Remove Christmas colouring
- drillbit: Add udev rule
- drillbit: Correct configure logic to check for generic bitfury code (needed to
decode nonces)
- drillbit: Implement some basic problem recovery
- drillbit: Support identify command
- drillbit: Read/write access to clock and voltage configuration from RPC and
ManageTUI
- drillbit: Store board configuration
- drillbit: Read temperature sensor
- drillbit: Check nonces against prev work
- drillbit: Implement mining
- drillbit: Only detection code
- antminer: Initial support for the Bitmain AntMiner U1 ASIC Includes support
for identifying the U1 separately from Icarus and Block Erupter Also includes
overclocking via --set-device antminer:clock=xHEX
- Extend horizontal lines to full screen width
- Log devid for USB string request failures
- Bugfix: segmentation fault if the terminal window is too narrow for the Help
and Quit items
- Accept "address" spelled out in --coinbase-addr option
- Bugfix: document the need to package zlib1.dll in the Windows build
instructions
- Bugfix: Stratum: Re-read pool sock var after suspend+restart
- Silence false uninitialised var use warning and calculate dev_runtime only
once
- Bugfix: HID API not properly detected on Mac OS X
- Adjust device list size as necessary when accessing options
- Avoid erasing the screen when statusy is not changing
- Abstract common set_statusy code out of change_logwinsize and check_winsizes
- TUI: Support pgup/pgdown for scrolling device list by page
- Bugfix: icarus: quirk_reopen is an int
- Bugfix: Do not allocate spi_port on the Stack, even to initialize -
EXC_BAD_ACCESS on OS X
- get_statline3: Simplify statistics gathering
- Bugfix: twinfury: Use serial number formatted over USB, so it works with
--scan
- twinfury: Only debuglog temperature debugging data when --device-protocol-dump
is enabled
- Bugfix: twinfury: Populate temperature info on both processors
- Option --weighed-stats to display A and R values weighed by difficulty
- README.GPU: Document always-disabled-by-default for OpenCL driver
- AUTHORS: Add Nate Woolls
- Extend menu to full width of window
- Abstract out spaces-to-eol to bfg_wspctoeol function
- Elaborate on spi_port+stack problem in comments
- Bugfix: Do not allocate spi_port on the Stack - EXC_BAD_ACCESS on OS X
- Bugfix: don't attempt to probe Bluetooth devices when scanning hardware
- x6500: Allow overriding the maximum frequency used by the dynclock logic Can
now use e.g. --set-device x6500:maxclock=210 Prevents spending time on
frequencies that only produce HW errors
- HACKING: Clearly document that dname must be lowercase and alphabetic
- bifury: Tolerate corruption in submit message, remapping shares to the first
processor if chip id is unrecognised
- bifury: Tolerate corruption in hwerror message
- bifury: Tolerate corruption in job message, and only count hashes done when
completing a known job
- Use a lowercase driver name to fix --scan pattern matching Otherwise the
following doesn't work: -S noauto -S twinfury:auto
BFGMiner Version 3.9.0 - December 25, 2013
- Update official Win32 build compiler and library:
- - Upgrade GCC from 4.8.1 to 4.8.2
- - Upgrade libcurl from 7.28.1 to 7.34.0
- Update official Win64 build compiler and library:
- - Upgrade GCC from 4.7.3 to 4.8.2
- - Upgrade mingw64-runtime from 2.0.8 to 3.0.0
- Green-on-red title colours for Christmas release
- write_config: Include http-port and stratum-port options
- Interpret F1 as a request for Help
- Bugfix: SSM: Free old _ssm_notify before replacing it
- Bugfix: SSM: Clean _ssm_cur_job_work as needed to avoid memory leaks
- Support matching --scan with lowlevel devid
- cgpu_match: Unit test for USB device path matching
- Bugfix: cgpu_match: Handle digits in dname (x6500)
- cgpu_match: More unit tests (dname with digit)
- cgpu_match: More unit tests (dname and case insensitivity)
- Display "NO DEVICES FOUND" line in place of device list, when there are none
- bitfury: Use drv_set_defaults to enable setting baud before probe
- bitfury: Split out SPI port configuration option ("baud") to its own function
- drv_set_defaults wrapper function around cgpu_set_defaults for use with
options that may need to be set during probe
- bitfury: Set poll interval to start iteration before responses are processed
- modminer: Check identification begins with "ModMiner" to avoid false detection
- Bugfix: hashbusterusb: Correct return value of hashbusterusb_vrm_unlock
- Support for installing a udev rules file for Linux
- twinfury: Remove unused variable to silence warning
- cgpu_request_control should be a noop when called from the main thread
- Bugfix: Handle errors creating a vcom devid more gracefully
- Bugfix: _wlog: Allocate enough space for complete copy of log line
- bfsb: Remove unused clock_gettime
- Bugfix: bfsb: Remove useless slot_on which was never properly initialised
- Bugfix: When QueryDosDevice fails, skip trying to parse its (undefined)
results
- hashbusterusb: Voltage should be in volts (not millivolts) for RPC
- hashbusterusb: Provide access to VRM stuff from RPC
- hashbusterusb: Use cgpu_request_control interface to safely access device from
outside main thread
- hashbusterusb: Include Voltage in RPC stats
- Bugfix: hashbusterusb: Ensure unlock code is always allocated, even if null
- hashbusterusb: Abstract code into hashbusterusb_vrm_lock
- hashbusterusb: Abstract code into hashbusterusb_vrm_unlock
- hashbusterusb: Abstract code into hashbusterusb_set_voltage
- Bugfix: hashbusterusb: Check for voltage change error correctly
- Abstract mutex_request code from X6500 driver into generic device API
interface
- hashbusterusb: Use standard identification behaviour
- hashbusterusb: Abstract hashbusterusb_set_colour function
- hashbusterusb: Get voltage with temperature
- hashbusterusb: Clean up unused variable warnings
- hashbusterusb: Use bitfury_wlogprint_status for osc6_bits displaying in Manage
TUI
- Bugfix: hashbusterusb: Remove ignored prompt for VRM lock