forked from ckolivas/cgminer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
7341 lines (6818 loc) · 351 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
Version 4.10.0 - 23rd January 2017
- Silence warning.
- Clean up compac driver.
- Allocate appropriate memory size for PSECURITY_DESCRIPTOR
- Remove jansson memory tricks.
- Increase header size for gbt solo.
- Increase header size.
- Fix curl build on mingw
- Windows build fixes.
- Fix avalon4 warnings.
- We can only change diff once per notify so assume successive diffs are stacked
for successive notifies.
- Enable avalon4 building with avalon7.
- Move to system libusb.
- Upgrade to jansson 2.9
- display restart thread errno
- String length sanity checks in config parsing.
- Make pool_no and block height logging more consistent
- Always clean swork when prev_hash changes
- Add nonce mask to api for Avalon7
- Add new options for Avalon7
- Add a device table for Avalon7
- Update AVA7_DEFAULT_MINER_CNT usage
- Add frequency range support 100MHz - 500MHz
- Added roll_work_ntime() to enchance performance
- Revert "Set default ava7 nonce mask to 27 which empiric testing shows stable
and more rapid rise in frequency without significant overshoot."
- Remove useless code in avalon7
- Detect avalon7 modules during ava7 init and only add the device if any modules
exist.
- Unplug avalon7 on failing to re-init AUC to allow a clean hotplug event which
is more reliable.
- Fix warning without ava4/7
- Re-initialise libusb if there are no active devices before the next hotplug
event.
- Reset the tv_end variable before each libusb handle events call.
- Fix Vo display for A741
- Update AVA7_DEFAULT_ASIC_MAX for A741
- Tweak ava7 fan control further.
- Set default ava7 nonce mask to 27 which empiric testing shows stable and more
rapid rise in frequency without significant overshoot.
- Set ava7 starting fan to 1/3 speed between min and max.
- Convert the avalon7 fan control to use a PID-like feedback mechanism for
optimal fan speed and quasi-constant temperature. Change meaning of target
temperature to actual desired temperature, setting it to 90C. Set minimum
fanspeed to 5% as a safety fallback.
- Inherit the diff from the original stratum in submit_nonce2_nonce, fixing
wrong diff submits on avalon6/7.
- Use diff1 and diff rejected to calculate hashrate in avalon7 for a more stable
displayed hashrate.
- Check for nodev errors after usb transfers to not change the err value.
- There is no need for complicated locking in usb_reset; simply use the write
lock and avoid locking risks.
- Update nonce mask from 31 to 29
- Send jobid when it's update
- Flush useless works when new block was found
- Update error polling count
- Fix frequency mode for Avalon7
- Added connection overload detection and API entry
- Fixed some English mistakes
- Fix display mm status when stratum pool is failed
- Update api display
- Reset usb devices if they fail to initialise.
- TIMER_ABSTIME is not available on osx
- Get rid of binary stratum work based on avalon7 define.
- Remove impossible comparisons from avalon7.c
- Style police.
- Don't use the stratum work generator for Avalon7
- Add STRATUM_USER_AGENT macro for utils
- Update README and ASIC-README for Avalon7
- Add Avalon7 support
- Fix warning in AV4 driver
- Update AVA4_DEFAULT_MODULARS
- Update nonce2 start and range
- Add more options for AVA4_FREQ_TEMPADJ_MODE
- Double check data size when use avalon4_auc_xfer
- Update AVA4_MM60_TEMP_FREQADJ
- Fix xfer_err_cnt
- Avoid thread block when use AV4 iic driver
- Update check rules for AUC
- Support AV4 miner detect through iic
- Fix some settings for AvalonMiner 6.0
- advertise segwit support for solo mining
- add support for segwit commitment insertion
- add bip9 support
- Fix work update for hash_work
- Fix various minor once-off memory leaks
- Fix read beyond stack size issue
- Reattach kernel driver to correct IF
- Fix clobbered by ‘longjmp’ or ‘vfork’ warning
- Fix unreachable code
- allow for independent target freq so bad stick doesn't effect group
- +1 freq hex alignment
- tidy up naming to match general conventions
- tidy up some unused vars
- Add in ramp code. Untie compac detect from default icarus fallback detect to
have a cleaner device detect path.
- move over code to fit serial number on screen
- changed a few spaces to tabs
- Added GekkoScience Compac detection and support to the icarus driver.
- Show Current Block Version under pools api
- Show Current Block Height under pools api
- Update avalon4 options
- Update AVA4_DEFAULT_SMART_SPEED to AVA4_DEFAULT_SMARTSPEED_MODE3
- Update avalon4_update process
- Code cleanup
- Minor update
- Detach the duplicate dev when detect in xfer
- Update mm count when scan hash
- Check module if exits when detect
- Update hashmeter for avalon devs
- Fix i_5s usage
- Update smart frequency for AVA4_DEFAULT_SMARTSPEED_MODE3
- Add new smart speed mode (mode 3)
- Update default value
- Add more options for smartspeed
- Don't label threads of devices that are paused as sick
- Set avalon4 to cut off if thread should be paused
- ASIC-README: Avalon6 will come up as AV6
- Update the ASIC-README and help message of Avalon4/4.1/6
- fix cgminer-api compilation on osx
- Support low diffs like those on testnets
- Restart being missed outside of block change
- Set default frequencies for ava4/6 in the correct place if none is specified
- Use a generic zero stats function for drivers that don't implement their own
- The fan control for ava6 overshoots often so use a safer non-linear curve
mechanism relative to the target temperature and remove inappropriate caps to
opt_avalon4_overheat and opt_avalon4_temp_target
- 450 would appear to be the most reliable startup speed for ava6 so revise it
down further
- Avoid double locking when checking if a block exists to prevent a further race
between seeing it and adding it
- AVA6 is more reliable starting up at the slightly slower speed of 470, making
it internally start at 450 before working its way up
- Set the freq array variables when setting default frequency as well
- Set default frequency according to ava type if none is specified on the
command line, choosing 475 as default for ava6
- Use AV6 name for avalon6 in ava4 driver
- Update copyright notices for ava4 driver
- Fix warnings
- Log blockheight when the pool changes to a new block.
- Check for stratum clean message in test_work_current to not give false
positive messages for missed pool notifications of block changes
- Update AVA4_DEFAULT_SPEED_ERROR
- Add new option for Avalon6
- Update frequency process
- Update AVA4_DEFAULT_TEMP_TARGET for Avalon6
- Update voltage decode for Avalon6
- Update temperature target and overheat
- Update target temp settting
- Update fan adjust
- Update Vol api display
- Update avalon4 option
- Display stratum difficulty in pool api
- Fix divide by zero
- Fix nonce counter
- Fix GHS display
- Display total asics for Avalon6
- Update max diff for Avalon4 and Avalon6
- Update temperature check
- Fix typo
- By default we enable automatic frequency
- Minor changes
- Update display
- Update api display
- Fix GHSmm
- Update api for Avalon6
- Display pll infomation for Avalon6
- Update frequency for Avalon6
- Turn on avalon6 nonce check as default
- Update convert voltage
- Update voltage display
- Display more status
- Enable adjust frequency automatically
- Update convert voltage
- Update temperature display for Avalon6
- Add more options for Avalon6
- Update asic count for Avalon6
- Update hashrate counter
- Decode voltage and temperature for Avalon6
- Support error code for Avalon6
- Support 2 miners for Avalon6
- Show ASCI status for Avalon6
- Don't need config voltage for Avalon6
- Update MM60 profile
- Add nonce counter for Avalon6
- Hide MW for Avalon6.0
- Count hw for Avalon6
- Increse stat buffer size
- Fix job_idcmp when copy stratum
- Add Avalon6 support
- Apply immediately the first set_difficulty
- store the next difficulty
- Make pool fallback time configurable and default to 2 minutes instead of 5.
Rework fallback mechanism to check pool status every 5 seconds and not miss a
recovering pool.
- Fix error message for pools such as p2pool that use no nonce1 in their stratum
templates
- Set work delay to 1 for AntS1 and AntS2
- driver-bitmain default tempoverctrl off so it can be disabled
- API add Work Difficulty to pools
- remove some documention references to getwork
- Support multiple modulars frequency setting
- Decode frequency for Avalon nano 2.0
- Decode adc status for Avalon nano 2.0
- Display temperature in api (Avalon nano 2.0
- Display asic match works for Avalon5
- Support adjust frequency by asics
- Display asic freq in status
- Diplay moving average dh for Avalon5
- Fix api display
- Upgrade date/timestamp strings to millisecond accuracy
- Support voltage adjustment automatically by modular
- Support Avalon5
- Increase AVAM_DEFAULT_ADJ_INTERVAL
- Boundary check
- Update AVAM_DEFAULT_VOLTAGE_MIN
- Check the final freq
- Support frequency adjust automatically
- Add simple moving sum of the hardware errors
- Add elapsed info for Avalon miner
- Advise against building blockerupter driver
- Move blockerupter driver to after icarus to not interfere with their detection
if built in
Version 4.9.2 - 12th June 2015
- Only blacklist devices on iManufacturer if they don't have an iProduct
- Simplify the pool work choice switching now that only local work generation is
supported
- Check for absense of stratum notify on stratum pools to see if they're usable
- Remove getwork support
- Remove test for localgen since all work will be
- Deprecate failover only option in anticipation of removing getwork
- Deprecate expiry option and fix it to 10 minutes, replacing all deprecated
config calls in the API with a deprecated message
- Deprecate scan-time which is irrelevant with ASIC speed mining
- Deprecate opt_queue since all mining is now local work generation which is
rapid and it serves no useful purpose to generate work that is potentially
stale, increasing CPU usage to check it before using it
- Change default au3 voltage to 775 to more reliably run at default frequency
- Set correct timeout for AU3 in icarus_detect_one though it won't affect
functioning
- Blacklist LIX device which doesn't exist
- Round up fail time to next highest integer on icarus
- AntS3 - set default work delay
- add pool block quality to api
- AntS3 - redo work send/stats and add a tuning option - not yet tuned
- Ant - ignore useless options in case they are passed
- AntS3 - initial S3 merge basic support
- Ant voltage isn't S1
- API - restore IPv4 address .0 padding and update copyright dates
- ants2 - separate freq from options
- ants2 - make it compile :p
- ants2 - add voltage
- ants2 - remove libusb/udev dependency since it doesn't use USB
- AntS1 ensure correct endian and correct wid
- libsystemd: Notify watchdog
- libsystemd: Notify run state and status line
- Catch SIGABRT signal and exit gracefully
- Add libsystemd configure option (default disabled)
- Document --with-system-jansson configure option
- SP30: Fix logging to use applog over printf calls
- Allow building with system jansson
- Set request ID in validateaddress JSON-RPC request.
- Cope with reconnect being sent a port number as an integer or string
- Added syslog mask to limit amount of output
- regressed with "BAL" little-jalapenos
- Add yet more whitelisting of BMA devices, removing the case insensitive match
for manufacturer
- Fix detection of no mining device configuration.
- Remove LT_INIT from configure which breaks ltmain.sh detection for some
automagic reason
- Add missing hashtable_seed file
- Add missing file
- Speed up shutdown by decreasing usb poll time to 100ms and using no timeout on
exit
- Cope with attempted reuse of strings in input_pool
- Manage failed URL entry at startup more gracefully, adding stratum+tcp://
automatically if http:// isn't specified
- Fix various symbol size change warnings
- Import jansson updates from ckpool
- Check for attempts to copy to/from null in cg_memcpy
- Use cg_memcpy throughtout bitfury driver
- Use cg_memcpy throughout cgminer.c and util.c
- Use alloc helper in miner.h
- Use alloc helpers in bitfury driver
- Use alloc helpers in spondoolies drivers
- Use alloc helpers in bflsc driver
- Align_len in all alloc helper calls
- Use align_len in all alloc helpers
- Use alloc helpers in usbutils
- Use alloc helpers in icarus driver
- Use alloc helpers in avalon4 driver
- Use alloc helpers in api.c
- Use the alloc helpers in util.c
- Convert all users of alloc to use the helpers in cgminer.c
- Add helper functions to various alloc functions that automatically check for
failure
- Fix rare dereference error on pool stratum queue
Version 4.9.1 - 3rd February 2015
- Fix various unused warnings
- Fix avalon4 warnings
- Display notice if pool successfully negotiates stratum resume
- Support auto adjust voltage individually
- Don't keep retrying to connect to a pool that has been removed
- Null the actual pointer used to call discard and free_work and safely handle
being called with a null pointer, giving a verbose warning about the call site
- Fix off by one error when running out of queued IDs in bflsc28_queue_full
- Uninit BET driver when it fails to initialise any boards
- Fix detection of butterfly labs sc 65nm devices with the addition of the 28nm
device imanufacturers trumping their detection
- Remove compilation warnings. Cast overly-specific #def'd values to the
destination type, unsigned int.
- Basic ability to compile and run on FreeBSD 10. Only tested compilation with
avalon, avalon2, bflsc, and icarus; only tested functionality of bflsc and
icarus.
Version 4.9.0 - 16th December 2014
- Minor fix
- Fix MM41 voltage setting
- Fix the default settings of new module
- Count non matching stratum as a hw error on ava4
- Fix ava4 build incompatibilites and missing write config parameters
- Use strcasecmp for device matching in usbutils in case of subtle manufacturer
changes
- Add manufacturer and product definitions for ava4
- Cosmetic ava4 change
- Cosmetic ava4 message fixes
- Add sanity check for NULL data being passed to usb_perform_transfer
- All write errors should be treated as fatal for ava4 devices
- Change initial fan start speed, mins and max for avalon4 to ensure fan starts
spinning but can go lower RPM
- Disable zero length packets on ava4 before trying to init
- Add a cgpu device option to disable zero length packets and enable it for
avalon4
- Display ava4 stats consistent with other devices
- Add ava4 to udev rules file
- Fix build warnings on ava4
- Fix ava4 build
- Add Avalon4 support
- Filter duplicate stratum shares from being submitted upstream
- Do rudimentary detection of duplicate shares per device
Version 4.8.0 - 25th November 2014
- Allow forcing of building driver combinations with --enable-forcecombo
- Put spaces between name and id in avalon2 and icarus
- Relax detection of a failing ava2 to more than 1 minute and perform the test
after polling for results
- Cap maximum diff on ava2 in order to still get shares
- Put space between device name and id to prevent device names with numbers in
them confusing the display
- USB write errors are always fatal so they should be treated as such on ava2
- Issue a usb reset for ava2 that is not returning valid shares and then drop it
if it persists for over a minute
- Process share results without a result value
- Damp out hashrate displayed for antminer USBs
- Add voltage and speed where relevant to antminer USBs
- Don't estimate time on any antminer usb during a timeout
- Return icarus nonce ok only when the nonce size matches the device or more
- Don't discard old workids until we cycle back to them on antusb and look for
more nonces in the buffer
- Adjust ant usb timing for queued work
- Use a cyclical list for the ant queued work
- Mask and limit workid for antusb and dont clear buffer
- Check the nonce on the worked item, not the submitted work
- Skip over unfinished work that we can't free in ant usb
- Use a workid and array if possible for the small ant usb work queue
- Create an array for antworks for antminer usb devices
- On U3 calculate hashrate purely on shares, not timeouts
- Add switches for AU3
- Adjust icarus wait timeout according to device
- Differentiate U3 from U1/2 as a separate driver with different parameters and
adjust timing accordingly
- Skip ANUs detected in rock detect
- Try U3 after trying other icarus options
- Add rudimentary ANU voltage setting support for U3
- Fix ignoring unprefixed v6 address in api allow list
- Fix minor typos in Spondoolies SP10 and SP30 drivers
- Implement a basic rock_flush function to discard the base work we are rolling
work from.
- Task_no for rockminer from the nonce bin should simply be masked
- Change rbox default correction times to 5 in a revised frequency order
- Change default frequency on T1 to 330
- Reinstate last received check and resend in rockminer, being more lenient at 2
seconds to allow for dither errors at 1
- Roll work for the rbox when possible
Version 4.7.1 - 4th November 2014
- Selectively yield on dropping a lock only on single CPU platforms
- Make it impossible to configure in more than one device that is meant to be
standalone. Add more information to configure help, along with comments for new
drivers.
- Add warning against system libusb in configure help
- stratum_rthread sleep only 3s when all the pool have disconnected
- Filter responses that don't have a result
- Implement support for pool ping and json integers of zero in getversion and
ping
- Fix segfault when writing config with hashratio built in
- Save pools in priority order at time of writing config
- Set the correct flag for close on exec for sockets
- Suspend stratum on removing a pool
- Set CLOEXEC on sockets on linux
- Drivers that take a diff should specify a max diff or it is assumed they don't
support one so set max_diff to 1 if unset
- Send hfa generic frame only if voltage was specified on the command line for
that device
- Set hashfast voltage settings only when really needed
- Hashfast voltage support
- Increase max diff on sp30 to 1024
- Reset ipv6 flag to false in every api-allow loop
- undeclared identifier 'IPV6_ADD_MEMBERSHIP' fix for apple
- two back temps spondoolies2
- two back temps spondoolies
- correct suggest_difficulty json rpc call
- Add more usb3 hub identifiers for windows
- Set driver max diff to large value if unset
- Wake gws on get queued
- Implement blacklisting of attempting to match known products from ones without
identifiers
- Fix hfa driver building without libcurl
- Enable building libusb without udev
- Fix off by one calculation error in sp30 leading zeroes
- Send correct diff work to sp30 for hashmeter to be correct
- Do the sleep in spondoolies_queue_full_sp30 after dropping the lock
- Minor tidy in sp30 driver
- Fix sp30 warnings
Version 4.7.0 - 14th October 2014
- Implement generic inet_pton for windows
- Fix warnings
- Fix bulk of remaining style in blockerupter.c
- Tidy style in blockerupter.h
- Tidy bulk of style in blockerupter.c
- Fix missing minimum diff setting for blockerupter
- Fix unused variable warnings
- remove unnecessary sleep; fix potenital div by 0 errs; use min_diff in driver
definition
- Fix coding style
- Make the sp30 hashrate meter based on valid share generation
- Change default max queue back to 1 in line with speed of most current asic
controllers
- Change diff limits to values suitable for sp30
- Add pool number to response from addpool to the API
- Make the restart and quit API commands valid json responses
- Fix number of nos
- Add option to set clock ('--bet-clk X' actual clock is (X+1)*10 )
- compatible with X24 board
- Fix error when using v6 without mask in api-allow
- Support ipv6 multicast
- Set min_diff to 1
- Allow arbitrary clamping of lower device diffs for slow controllers by driver
- Don't set default fan to max on hashratio
- The 2nd read never gets anything on ava2 so remove it entirely and just return
an error if we are out of sync
- Implement support for mining.suggest_difficulty
- Fix client ip address output
- Free addrinfo garbage
- Remove the brackets when using v6 pool address
- Add ipv6 support for api listen
- Avalon Nano: Add support Avalon Nano usb miner
- fix bug in setdiff
- limit minimum diff to 64
- Add BlockErupter Driver
- Avalon2: display currect max temperature on statline
- Remove unused variable
Version 4.6.1 - 20th September 2014
- Throttle bflsc28 devices when they hit the overheat limit
- Add whitelisting of firmware used in final bflsc28 products
- API.java - remove lowercase of all data sent
- Avalon2: Add 3 bytes nonce2 support
- Avalon2: MM needs n2size length <= 4
- Use fan min as fan speed when run with --avalon2-fixed-speed
- Clear the pool submit fail bool after adding shares to the stratum hashtable
to minimise window the share is not in the table
- api-example unlimited socket works
- Add custom strcasestr and use custom gnu type functions in bflsc
- Fix windows build of bflsc driver
- Fix possible deref in bflsc28
Version 4.6.0 - 7th September 2014
- We should not be checking for pool_unworkable in cnx_needed as it is keeping
stratum connections open on unused pools
- Properly handle lack of input when adding pool via menu
- Allow workers without passwords
- minion - increase max chip number
- Avalon2: add more comments on Avalon2 options
- Avalon2: add polling delay option, long coinbase support, LED status on API,
change overheat from 88 to 98
- minion - add a ' before non-zero core error counts
- minion - hidden optional per core nonce stats
- bflsc28 - clock is hex
- bflsc28 - allow setting clock and volt from the API ascset command
- bflsc28 - add chip count to stats
- bflsc28 stats
- Simplehacks to better serve bflsc28
- Only use one hashtable for bflsc28 work queued
- Copy back the buffer after we've stripped the inprocess field on bflsc
- Parse results for BMA based on uid and remove work from the queue when found
- Strip out the inprocess details from bflsc results if it exists
- Create a hashtable of work by uid as it's accepted by BMA
- Add some rudimentary values for BMA sleep times
- Fix various errors in queueing work for bflsc28 and limit job queueing to 10
to fit within a usb frame
- Create preliminary work queueing for bflsc28 using jobs of up to 20 at a time
by rolling work where possible
- Convert all bflsc transfers to the full 512 bytes
- Don't mistake bflsc28 for fpga
- Do initial detection of bflsc28 devices
Version 4.5.0 - 29th July 2014
- Fix windows build for hashratio and ava2
- Demote bad checksum message in cointerra driver but allow message to still be
parsed since it won't allow existing firmwares to work otherwise
- Reorder and document the configure options
- Merge https://github.com/KnCMiner/cgminer into knc
- Change default voltage on ava2 to 0.666V because Satan
- Enable combined building of avalon2 and hashratio
- Fix stratum embedded fpgas to not duplicate work with other devices
- Implement smarter PID type fan control for ava2 allowing more generous
temperatures and far lower fan speeds for optimal power and noise usage. Adjust
default frequency to 450 as per recommendation.
- Fix various warnings in ava2
- Go back to polling design since async will not work for ava2 and fix various
read design errors
- Fix error in 2nd read functions for av2 and hro
- Correct init and read sequence for ava2, and convert from a polling mechanism
to a separate read thread
- Initial commit of ava2 conversion to direct USB
- Display frequency and voltage with ava2 on the statline
- Store fan percentage and display temp and fan percent for ava2
- Set avalon2 frequency and voltage to appropriate defaults if none are
specified on the command line
- Demote some ava2 messages that don't need to be errors and remove unused works
array
- Fix broken fan logic for ava2
- Fix hexdump on 64bit
- rockminer frequency is between 200 and 400 MHz
- fix jansson include path in cgminer-api compile instructions
- Remove requirement for ifndefs for avalon2 from the generic driver work
function
- Fix hashratio device name
- Make submit_nonce2_nonce return whether the share was valid or not
- Reinstate missing necessary init sequence for hashratio
- Handle disconnected hashratio devices
- Add hashratio frequency command line
- Fix stratum updates not being passed to hashratio devices and clean up
- Move to updated avalon2 type driver model for hashratio device
- Initial import and conversion of hashratio driver to direct USB
- Increase the internal buffer for API response, as "stats" command response
can grow greater than 8K
- Detach test pool thread only if we have a blocking startup
Version 4.4.2 - 17th July 2014
- Remove the use of the pthread_tryjoin_np which is currently unimplemented on
many platforms
- Fix processarg parameters loaded from a config file not being saveable
- We only use the jansson in our source tree so no need for special case
handling of older versions
- Upgrade jansson to 2.6
- Only clear sockbuf if it's been allocated
- Fix missing osm-led-mode support in write config
- Deal with nanosecond overflow in both directions on both addition and
subtration of timespecs
- Rename sp10 driver internally from spondoolies to sp10
- minion - add a 2nd (optional - disabled) reset test
- production stats added, reset queue added
- minion - correct led ghs2 choice
- minion - correct ghs2 display
- minion - reset the led counter when doing a chip RSTN full reset
- minion - don't reset the led counter for an SPI reset
- minion - led per chip and use all time average
- minion - report spi error counts and settings in stats
- minion - undeclared fix
- minion - chip power cycle option
- minion - record 0xff error history and reduce screen output
- minion - reset on result or fifo 0xff
- minion - clarify the 0 value of spireset
- minion - make SPI reset more configurable
- minion - make the SPI reset ms sleep a parameter and API settable
- sp10 sensors
- sp30
- minion - led+more api setting
- Avoid blocking all pool testing if one pool fails to ever init
- There is no point storing the hints addrinfo in struct pool
- minion - 'reset' SPI when getting errors
- initialise more pool values in benchmark
- minion - auto adjust freq
- merge upstream frequency changes
- icarus - timing history in its own function
- rbox - add lotsa stats, tidy up a bit more
- Fix an off-by-one.
- icarus - detect stat should be LOG_DEBUG
- icarus - tidy up rbox code, remove statics, and add rocketbox
- minion - do an early reset to clear the chip status
- minion - use descriptive names for the list types
- Avalon2: automatic adjust fan speed, using crc16 on job_id compare, turn on
the led by API, detect twice when start, remember the last stratum message
increase the hashrate, add cutoff option
- fix AntS1 breakages from AntS2 changes
- minion - disable dup nonce check
- minion - add an ioseq number for each ioctl to simplify work ordering
- minion - redo old work expiry based on txrx order
- minion - more work stats, minimise queued work, free flushed queued work
- minion - allow resetting a chip via the API
- minion - correct 'WQue Count' in stats
- minion - delay after reset, reset history also, add dups to api stats
- noncedup - give access to the internal stats
- minion - increase reset to 75%
- minion - dup checking, disable reread by default and extra ioctl debugging
- minion - always check the chip queue before queuing new work
Version 4.4.1 - 21st June 2014
- Move icarus driver to being seen as an asic
- Clear usb reads on each pass through icarus detect to hopefully prevent false
positives for detecting rboxes
- Clean up pool failure and failover code for stratum
Version 4.4.0 - 16th June 2014
- Tidy unused rockminer variables
- Tidy rockminer defines
- Make rockminer driver compatible with other icarus drivers being present
- Import basic rbox driver
- minion - add optional (on) GPIO chip selection
- Clear the pool idle flag in the pool test thread
- CoreFmatch in cointerra should be a uint16
- Display error message if we receive one on share rejects
- Allow zero length strings to be passed to valid_hex
- delete unused roundl definition
Version 4.3.5 - 10th June 2014
- Cointerra driver updates.
- Sleep before retrying in the test pool thread after a pool has died
- Use valid_ascii testing for job_id since it need not be hex only
- Only show slow/down message till pool is flagged idle
- Do some random sanity checking for stratum message parsing
- Keep looking for when a pool comes to life at startup and touch the logwin so
the message is not invisible
- Fix no libcurl build
- Added Drillbit Thumb to udev rules.
- Avoid dereference on getting API stats on partially initialised HFA instances
- A1: add support for updated product variants, small fixes
- Add one more usbutils fix
- Convert uses of usbutils memcpy to cg_memcpy
- Add a sanity checking memcpy function which checks for overflows
- minion - count force use reread
- minion - add a disabled ioctl() test
- minion - add more checking of SPI results for corruption
- minion - optional (disabled) ioctl() debug
- Increase S1 overheat to 75 degrees C
- Add ruby api-example to API-README
- minion - allow core selection at runtime
- API - lcd all-in-one brief summary
Version 4.3.4 - 25th May 2014
- Add support for 2 nonces per block in spond driver
- Increase timeout on reset in cta driver to 5 seconds
- Increase max diff on spondoolies driver slightly to be well below spi comms
limitations
- Use the active contents lock and safe list iteration within the linux usbfs
code
- Add Ruby Api Example
- Automatic detect the small miners
- Update default modules from 3 to 4
- Fix the temp max. we should use currect max temp
- add avalon2-cutoff options
- Enable the cutofftemp to Avalon2. ignore longer coinbase and longer merkles
stratum
- Fix the diff value used on MM firmware
- Mark pool as idle if stratum restart is failed
- Add hacky workaround for double list removal race in libusb
- Make the work given in benchmark mode deterministic on a per-device basis
- Rework the benchmarking code to use a deterministic set of work items with a
known number of diff share nonces at regular spaced intervals
- minion - restrict nonce read result size to ioctl() limit
- minion - must check temp when overheated
- minion - idle chips that hit >100C until back to 80C
- minion - report the chip/reg when aborting due to an invalid ioctl() size
- minion - all freq in Mhz but only convert when used
- minion - remove unused ioctl debug
- minion - command queue is now larger
- minion - check rolled in stale work cleanup
- Work stats should be based on device_diff not work_difficulty since non-shares
haven't been filtered out yet
- Prevent a segfault when writing a config file containing 'rotate' option
- minion - comment out HW debug message
- minion - roll work to reduce CPU
- minion - report init_freq in stats
- api - howoldsec is only used for USB
- minion - allow setting the frequency
- minion - disable iostats by default since it slows down mining
- minion - define frequency value table
- minion - report temp/cores/freq and handle temp formatting
- minion - item is undefined
- Rationalise diffs stored in the work struct and document them to avoid further
confusion
- Add basic API stats for nfu drivers to see how many submits each chip returns
- Add output direction for the EN0 pin on nfu driver
- Support power management optimisations in newer nf* firmware
- Support variable numbers of chips with NFU and BXM drivers
- Identify number of chips in nanofury devices and change name accordingly
- Rename nf1 driver to nfu in anticipation of support for more chips
- Make hashfast reset counter rise on old instances when inheriting the value on
new ones
Version 4.3.3 - 3rd May 2014
- Fix typo
- Work should be freed when aged, fixing a massive memory leak for bxf devices
- miner.php fix single rig summary/config field formatting
- miner.php fix single rig total formatting
Version 4.3.2 - 2nd May 2014
- Fix accounting bug with nrolltime drivers
Version 4.3.1 - 2nd May 2014
- upgrade some int to int64_t to avoid overflows in reporting
- Make reconnection messages more explanatory
- Stratum client.reconnect require matching URL
- Fix memory leak in submit_noffset_nonce
- Clean up any work that may not have been used in the work scheduler
- Avoid unnecessary deref now that it's done within discard_work
- Clean work pointers after one way usage functions
- Avoid unnecessary total_work_inc in generating local work
- Cosmetic fixes
- Fix idle bug, when redirected client can't auth
- Rename spond temp rate to asics total rate
- Build fixes
- Set the unique id only for usb devices with serial strings longer than 4 chars
long
- Use usb serial strings as unique id if devices have them
- Discretely identify the onestring miners as OSM
- Add bxf debugging option and osm led modes
- A1: modularize board selector / add initial CCR support
- A1: cleanup tca9535 logging
- A1: fix and extend PLL parameters
- A1: clean up compile warnings
- A1: use real level in hexdump
- Add identification for onestring miner variants
- Avalon2: Parser the power good signal
- driver-avalon2: this functions used on detect, which don't have thr setup yet
Version 4.3.0 - 18th April 2014
- Put sleep in spond hash instead of queue full function
- Remove unused function for when compiled without curses
- Fix typo
- Add temperature rate, front, rear and device temperature to spond API output
- Limit bxf sleep in bxf_scan to 100ms minimum for strings of many chips
- -Werror=format-security error on driver-bitmain.c
- Fix parameters passed with getblockhash
- Check the block hash with the proper command when looking for orphan chains
- syslog requires a facility ... in more than one place
- Shuffle windows headers included
- Adjust the bxf sleep time according to the number of chips detected
- Fix off by one error in bxf chip count when adjusting device size
- Recalloc correct pointer
- Make instructions associated with winusb error even more explicit
- Add midsing headers to cgminer source in Makefile
- Trivial style changes to mg proto parser
- Trivial style and warning clean ups on spondoolies driver
- Merge spondoolies driver patch
- Call any BXF device with 3-6 chips reported HXF
- Avoid derefrence when calling statline before on hfa device during init
sequence
- Calloc the info structures even on failed hfa reset to prevent later possible
dereference
- Load all hfa devices based on identification alone and defer init sequence
till mining thread init sequence to allow all devices to be recognised rapidly
but each device initialisation not delay others
- Do not do thread shutdown unless thread init succeeded
- Remove unnecessary check for thread_prepare function
- Recognise variations on BXF based on chip value returned in responses
- Provide helper function for recallocing memory
- syslog requires a facility
Version 4.2.3 - 3rd April 2014
- Decay the per device hashrates when only the watchdog is calling the hashmeter
- Fix parsing of config files failing on custom parsing
- Allow an arbitrary number of chips in the BXF driver, showing results from
each chip in the API and identify the hexfury, naming it HXF
- Disable toggling display by default and offer a --widescreen option to have
all the information on an extra wide display.
- Use OPT_WITH_CBARG for all custom parsing functions to allow their values to
be written generically when writing the config file from the menu.
- Provide a ccan variant OPT_WITH_CBARG that assigns the arguments passed as a
string and then performs the callback function on the string.
- Define strings to store special option parsing parameters leaving no
OPT_WITH_ARG missing args
- Correct the writing of special case options to the config file
- Provide support for writing anu freq from menu write option
- Update to diver-avalon2.c
- Generalise a lot more of the command line options simplifying the write config
function and making it write far more values unaided
- Use the general opt_set_charp functions for setting api parameters
- Json escape any strings written to the config file
- Store standard charp options when writing config files
- Add support for all the integer range options when writing the config file
from the menu
- Remove the --device and --remove-disabled options which don't work in a
meaningful way any more
- Make the bxf bits configurable on the command line
- Provide a --btc-sig option to optionally add a custom signature to the solo
mining coinbsae
- Compact gbt solo extra data and store the length, allowing it to be variable,
leaving room for a signature
- miner.php - Kano summary Pool Acc/Rej should be only work submitted
- miner.php add best share and gen formatting for pool summary
- miner.php - remove BGEN/GEN eval() errors from the web log
- miner.php allow optional fields when gen is disabled
- miner.php dont format missing gen fields
- miner.php make Summary a custompage
- miner.php allow uers and system lists of customsummarypages and add more
examples
- Fix getwork share submission
- Cosmetic fix to udev rules
- Put WU on the hashrate status to compact lines further
- miner.php show api/rig errors at the top of a customsummarypage
Version 4.2.2 - 29th March 2014
- Minor correctness fix for unnecessary free
- Clean up various curl build issues
- allow url based config files
- Frequency only needs 3 digits for cointerra statline
- Use the serial number as unique_id for cta display
- Make it possible to enable/disable the status window from switching via the
display menu
- We should not update the tv hashmeter time unless we're updating the hashrates
- Add cointerra devices to udev rules.
- Use hashfast unique id instead of number since the unique id is displayed
- Remove displayed space
- Left align the displayed unique id
- Use the hashfast opname as its unique identifier
- Display BF1 serial number as its unique identifier
- Display a unique identifier instead of a number if the device has one
- Use an alternating status display to return to a compact width of 80
characters, allowing more information to be displayed.
- No need for looking for khash hashrates in summary any more
- Fix two potential minor mem leaks
- Fix memory leaks in setup and generate work for gbt solo.
- Fix off by one malloc size error
- Fix memory leak in update_gbt_solo
- Put sanity check on decay_time to prevent updates with no time
- Add 3 rolling average hashrates to API output for summary and devs.
- Use the extra status screen real estate better, displaying rolling 1/5/15min
average hashrates as well.
- Revamp the ageing crufty hashmeter code to have proper exponential decaying
values and store rolling 1/5/15min hashrates.
- Increment total_work under control lock.
- Trivial variable reuse
- Add support for other usb3 hubs on windows
Version 4.2.1 - 24th March 2014
- Fix various ava2 build issues generically
- Minimise the amount of heap memory allocations/frees when submitting gbt
shares.
- Make varint in gbt submission a stack object.
- Fix big endian problems with gbt submissions.
- Fix 32bit overflow on relative diff shown.
- ants1 - stop results read hard looping
- ants1 - slow down mining if overheat occurs
- miner.php allow gen before (bgen) and after (gen) grouping
- Change default solo mining to failing when no btc address is specified.
- Use upgrade cglock variants in get_gbt_curl
- Provide a cg_uilock to unlock the intermediate variant of cglocks.
- Use the one curl instance for all gbt solo operations, protecting its use with
a bool set under gbt lock.
- Only start block detection with gbt solo if setup succeeded
- One less block detection message
- Toss out the curl handle after each solo poll
- Don't reuse any curl handles for solo mining and break out of the lp thread if
the pool is removed.
- Make sure to only start the lognpoll thread once on gbt solo.
- Don't keep RPC connections open for solo mining since bitcoind doesn't like
having many persistent connections.
- GBT solo pools should be considered localgen pools.
- miner.php - speed up formatting and allow calc on gen fields
- Always show the address we're solo mining to to avoid confusion for when no
address is set.
Version 4.2.0 - 18th March 2014
- Fix missing htobe16 on windows and meaningless >u32 string warning.
- Software ntime roll for all hashfast devices.
- Silence harmless warning.
- Drop a failed restart icarus device to allow it to be rehotplugged if
possible.
- Work with more than one transaction.
- Kill gbt solo pools that don't respond to the gbt request 5 times
sequentially.
- Fix ser_number for no remaining val byte.
- Create a work item and stage it when updating the gbt solo template to allow
new block detection and restart code to work.
- Test block hash as well as block height when solo mining to ensure we haven't
been mining on an orphan branch.
- Fix transaction processing for gbt solo.
- Encode height using integer varint format.
- Make new block detection message not show in gbt solo from test_work_current
- Add block detection via getblockcount polling in gbt solo and update gbt
template every 60 seconds.
- Iterate over transactions twice to malloc only once when copying all the
transaction data.
- Update solo coinbase regularly and submit as gbt work
- Only show merkle hashes for solo mining in debug mode.
- Set correct flag for solo work.
- Generate gbt solo work emulating stratum work construction.
- Set the diff as a double sdiff from gbt solo data.
- Move swork.diff out of the stratum work section to be shared as sdiff.
- Generate a header bin from gbt solo as per the cached stratum one.
- Store strings similar to stratum's when decoding gbt solo
- Avoid allocing and freeing stratum strings that should be fixed length.
- Run parser through detect_stratum after stratum+tcp:// is force added
- Remove unnecessary header length calculation for stratum header binary and
only binary convert the correct length of the header.
- Share more fields between stratum and gbt
- Share coinbase_len variable b/w stratum and gbt and setup more gbt solo
parameters.
- Generate a valid coinbase and set nonce2offset for gbt solo
- Move scriptsig header bin conversion to setup gbt solo
- Create our own custom scriptsig base.
- Add helper functions for creating script signature templates and beging
building template.
- Do gbt solo decoding under gbt lock.
- Add more gbt variable decoding from gbt solo information.
- Store all the transaction data in binary form when using GBT
- When setting up solo mining, check validity of bitcoin address against
bitcoind
- Make pooled GBT mining use merkle bin optimisations slated for solo mining.
- Abstract out the merkle bin calculation for gbt solo
- Implement efficient merkle tree base from solo GBT information.
- miner.php custom formatting and row counter '#'
- Drillbit: Fix for underestimating hash rate from Bitfury devices
- Send per-core hashrates at regular ~5min intervals back to cta devices.
- Calculate the cta per core hashrate at 5 minute intervals.
- Check the bits of the correct core in cta bit count.
- Display the bit count along with the bitmap for each cta core in the API stats
output.
- Store and display the per core hashrate on cta relative to each work restart.
- Decrease the time we wait for unsetting a core on the cta bitmap to correspond
with the lower max diff of 32.
- Set max diff on cointerra devices to 32 which is still only 11 shares per
second but allows for earlier confirmation of per core hashrates.
- Keep track of when the last restart and work updates were triggered and
provide helper functions for knowing the time since then.
- hashfast make api stats field names unique
- Fix gcc longjmp warning in api.c
- Add a per-core hashrate to the cta API stats.
- miner.php support edevs and estats
- API - put edevstatus where it was supposed to be
- Icarus - allow timing mode to work with ANU and not slow it down
- drillbit - remove warnings
- drillbit - minor code tidy up
- Drillbit: Change language around 'void' to warning about limiter disabled
- Drillbit: Fix accidental over-counting of HW errors
- Drillbit: --drillbit-auto parameter for tweakable custom tuning of ASIC speeds
- Drillbit: Output warning if board reports void warranty
- Drillbit: Add Avalon & drillbit-autotune notes to ASIC-README
- Drillbit: Limit work sent out to 8 units in a single pass, was DoSing a full