OLD: BFGMiner 3.10.0: modular ASIC+FPGA, GBT+Strtm, RPC, Mac/Lnx/W64, AntU1, DRB

(1/660) > >>

Luke-Jr:
This thread is archived, please click here for the new thread


Announcing BFGMiner 3.10, the modular ASIC/FPGA miner written in C. BFGMiner features dynamic clocking, monitoring, and remote interface capabilities.

"St. Barbara's Faithfully Glorified Mining Initiative Naturally Exceeding Rivals", or just basically a freaking good miner.

This code is provided entirely free of charge by the programmer, so donations would be greatly appreciated.
Please consider donating: 1QATWksNFGeUJCWBrN4g6hGM178Lovm7Wh
If you are donating for a specific bugfix/feature request, please post the Issue number and it will be flagged as "funded".

If you find a bug or have a suggestion, please check to see if it's already been reported and, if not, report it.
Help can also be obtained (or provided) by joining the support mailing list or IRC: chat.freenode.net #eligius
READ THE README INCLUDED IN THE ARCHIVE BEFORE ASKING QUESTIONS.
Also, please note that this thread is for discussion of BFGMiner, its features and bugs - if you feel the need to troll or talk off-topic, start another forum thread (and PM me with it if you want my attention).

If you want to help develop BFGMiner, the best way to get in touch with me is on IRC.
We also have a development mailing list, mainly used to pre-announce upcoming releases for third-party packagers.

If you would like to be notified of new versions, please join the announcement mailing list.

For miners using ModMiner, X6500, or ZTEX devices, you will need to download bitstreams for BFGMiner 3+ to work with your device. Download links and instructions are included in the README.FPGA file.

Latest release: 3.10.0 (announcement & changes)Arch: pacman -S bfgminerGentoo: emerge bfgminer (consider accepting ~arch and/or adding the bitcoin overlay to get the latest version)Homebrew (Mac OS X): brew tap nwoolls/cryptocoin && brew install bfgminerMac OS X: compile from source using Homebrew, or try MacMinerOpenWrt: opkg repository for 12.09 "Attitude Adjustment" (sig + PGP key)Ubuntu: PPA maintained by "unit3"Win32: zip (sig + PGP key)Win64: zip (sig + PGP key)Source code: git | tbz2 | zipStable release: 3.5.7OpenWrt: opkg repository for 12.09 "Attitude Adjustment" (sig + PGP key)Win32: zip (sig + PGP key)Win64: zip (sig + PGP key)Source code: git | tbz2 | zip
Archive of all official release source & binaries

Features:A variety of device drivers for Bitcoin (SHA256d):Avalon ASIC mining rigsBi•FuryBig Picture Mining Bitfury-based USB miners (BF1, RedFury, BlueFury)BitCentury LittleFury USB minersBitfountain Block Erupter blades and USB miners (Emerald and Sapphire)Bitmain AntMiner U1Butterfly Labs's BitForce SC (ASIC) product lineButterfly Labs's FPGA BitForce Singles and MiniRigsThe Chili miner assemblyCointaminationDrillbit Thumb and EightEnterpoint's Cairnsmore1 FPGA mining boardFPGA Mining X6500HashBuster nano and micro boardsHashFast Baby JetIntron/C-scape BitFury-based mining device (distributed through megabigpower.com and BFSB)Klondike boardsKnCMiner mining devicesMetabank BitFury-based mining deviceNanoFury NF1 USB stickQi Hardware's Icarus and Lancelot FPGA mining boardsBTCFPGA's ModMiner Quad FPGA-based mining deviceTwinfury USB stick minerZtex's 1.15x and 1.15y FPGA boardsOpenCL GPUs, such as AMD RadeonsKernels: Diablo, DiaKGCN, Phatk and poclbmBFI_INT patching for Catalyst versions before 13.2Vector supportDynamic intensity that keeps desktop interactive under load and maximises throughput when desktop idleIntegrated overclocking and fan control (including automatic adjustment, if configured; AMD Catalyst drivers only)ADL device reordering by PCI bus IDSupport for mining with free Mesa/LLVM OpenCLGCN (79x0) supportCPU (not enabled by default nor included in Windows build)Coming soon:Bitmain AntMiner S1Butterfly Labs's Monarch bitcoin mining cardCointerra TerraMiner ASIC minersEligius Mining PattyGamamax GamaStack boardsTechnoB⃦it HEX mining boardsany other device provided for development (PM me)Support for getblocktemplate decentralized mining protocol (no proxy needed!)Builtin stratum and getwork proxy serverScrypt support for both CPU and OpenCL (GPU) please note that this is for research; I do not personally support LitecoinVery low overhead free C code for Linux and Windows with very low CPU usageLong poll support - will use longpoll from any pool if primary pool does not support itepoll support for interrupting FPGA waiting when new work is available without timeout-loopingSelf detection of new blocks with a mini-database for slow/failing longpoll scenarios, maximum work efficiency and minimum rejectsHeavily threaded code hands out work retrieval and work submission to separate threads to not hinder devices workingCaching of submissions during transient network outagesPreemptive fetching of work prior to completion of current workLocal generation of more valid work (rollntime) whenever possible, as supported on a per-work item basisPrevention of stale work submission on new block (submitold also supported)Automatically detects failing pools and disables themMulti-device support (all or discrete selection)Summarised and discrete device data statistics of requests, accepts, rejects, hw errors, efficiency and utilityWatchdog thread to restart idle threads but not crash machine if they don't respondSummary displayed when quittingSupports multiple pools with multiple intelligent failover mechanismsOn the fly menu based management of most settingsTrickling of extra work to backup pools if primary pool is responding but slowOn the fly enabling/disable/restarting of devicesDevice temperature monitoring (for devices that support it)Reuses persistent connections when possibleRPC +/- JSON interface for remote controlAbility to cope with slow routersX-Reject-Reason supportLots of other stuff I can't remember. See options.
Sample output:
Code:

bfgminer version 3.10.0 - Started: [2013-08-20 02:03:56] - [  0 days 00:35:05]
 [M]anage devices [P]ool management [S]ettings [D]isplay options  [H]elp [Q]uit
 Connected to mining.eligi.us diff 32 with stratum as user 1QATWksNFGeUJCWBrN4g6hGM178Lovm7Wh
 Block: ...a83dc890 #249720  Diff:31.3M (223.8Th/s)  Started: [01:22:11]
 ST:10  F:0  NB:5  AS:0  BW:[341/153 B/s]  E:89.27  I: 6.58mBTC/hr  BS:89.7k
 7/36   77.0°C │ 90.13/91.42/92.50Gh/s │ A:2171 R:7+0(.49%) HW:430/.62%
───────────────┼───────────────────────┼────────────────────────────────────────
 BFL 0: 65.9°C │ 877.7/871.2/940.5Mh/s │ A:  20 R:0+0(none) HW:  0/none
 BFL 1: 68.0°C │ 30.58/29.63/30.37Gh/s │ A: 733 R:3+0(.64%) HW:  8/.05%
 BFL 2: 78.0°C │ 56.98/58.81/59.58Gh/s │ A:1379 R:4+0(.44%) HW:195/.68%
 MMQ 0: 50.0°C │ 799.8/785.1/537.3Mh/s │ A:  15 R:0+0(none) HW: 21/5.7%
 XBS 0: 48.2°C │ 398.0/400.3/ 8.18Mh/s │ A:   4 R:0+0(none) HW: 51/ 25%
 ZTX 0:        │ 198.5/197.6/196.7Mh/s │ A:   3 R:0+0(none) HW: 27/none
 ZTX 1:        │ 849.0/836.6/992.4Mh/s │ A:  20 R:0+0(none) HW:129/.70%
───────────────┴───────────────────────┴────────────────────────────────────────
 [2013-08-02 02:38:58.462496] Accepted 0321a601 BFL 2p pool 0 Diff 81/32
 [2013-08-02 02:38:59.007820] Accepted 00c348b2 BFL 2d pool 0 Diff 335/32
 [2013-08-02 02:38:59.133534] Accepted 05b3443a BFL 2n pool 0 Diff 44/32
 [2013-08-02 02:38:59.785127] Accepted 07563198 ZTX 1a pool 0 Diff 34/32
---
Pool menu:
Code:

0: Enabled  Strtm Priority 0: stratum+tcp://stratum.mining.eligius.st:3334  User:1QATWksNFGeUJCWBrN4g6hGM178Lovm7Wh
1: Disabled GWork Priority 1: http://127.0.0.1:9332  User:x

Current pool management strategy: Load Balance
[A]dd pool [R]emove pool [D]isable pool [E]nable pool
[C]hange management strategy [S]witch pool [I]nformation
Or press any other key to continue


Device management menu:
Code:

Select processor to manage using up/down arrow keys
 MMQ 0d: 41.0°C │ 194.0/190.9/32.98Mh/s │ A:   4 R:0+0(none) HW: 0/none
  ModMiner LJRalpha  from BTCFPGA
Serial: 19191F145358077D4FAADA7AF5000004
Clock speed: 194

[D]isable [C]lock speed
Or press Enter when done
Code:

Select processor to manage using up/down arrow keys
 OCL 0 : 77.0C | 272.2/272.2/265.7Mh/s | A:2992 R:13+0(.43%) HW:0/none
I:10  F: 69% (2655 RPM)  E: 765 MHz  M: 1000 MHz  V: 1.088V  A: 99%  P: 0%
Last initialised: [2013-07-08 05:33:26]
Thread 0: 90.9 Mh/s Enabled ALIVE
Thread 1: 90.6 Mh/s Enabled ALIVE
Thread 2: 90.8 Mh/s Enabled ALIVE

[D]isable [I]ntensity [R]estart GPU [C]hange settings
Or press Enter when done

Change GPU settings menu:
Code:

Temp: 72.0 C
Fan Speed: 50% (4489 RPM)
Engine Clock: 950 MHz
Memory Clock: 825 Mhz
Vddc: 1.175 V
Activity: 99%
Powertune: 20%
Fan autotune is enabled (0-85)
GPU engine clock autotune is enabled (880-950)
Change [A]utomatic [E]ngine [F]an [M]emory [V]oltage [P]owertune
Or press any other key to continue


Settings menu:
Code:

[L]ongpoll: On
[Q]ueue: 0
[S]cantime: 60
[E]xpiry: 120
[R]etries: -1
[W]rite config file
[B]FGMiner restart
Select an option or any other key to return


Display menu:
Code:

[N]ormal [C]lear [S]ilent mode (disable all output)
[D]ebug:off
[P]er-device:off
[Q]uiet:off
[V]erbose:off
[R]PC debug:off
[W]orkTime details:off
su[M]mary detail level:devices
[L]og interval:5
[Z]ero statistics
Select an option or any other key to return


On exiting:
Code:

Summary of runtime statistics:

Started at [2011-07-19 14:40:09]
Runtime: 2 hrs : 31 mins : 18 secs
Average hashrate: 1680.1 Megahash/s
Solved blocks: 0
Best share difficulty: 49
Share submissions: 3489
Accepted shares: 3489
Rejected shares: 0 + 9 stale (0.00%)
Accepted difficulty shares: 32
Rejected difficulty shares: 0
Hardware errors: 3
Efficiency (accepted shares * difficulty / 2 KB): 0.05
Utility (accepted shares / min): 34.26/min

Unable to get work from server occasions: 16
Work items generated locally: 330
Submitting work remotely delay occasions: 33
New blocks detected on network: 10

Pool: http://getwork.mining.eligius.st:8337
 Share submissions: 3426
 Accepted shares: 3426
 Rejected shares: 0 + 0 stale (0.00%)
 Accepted difficulty shares: 31
 Rejected difficulty shares: 0
 Efficiency (accepted * difficulty / 2 KB): 0.08
 Unable to get work from server occasions: 0
 Submitting work remotely delay occasions: 0

Summary of per device statistics:

 ICA 0:       | 375.9/376.0/349.5Mh/s | A: 487 R:4+0(none) HW:  0/none
 MMQ 0: 46.0C | 629.9/632.0/526.8Mh/s | A: 734 R:0+0(none) HW:196/none
 XBS 0: 46.9C | 392.0/397.8/398.3Mh/s | A: 555 R:0+0(none) HW: 57/none
 ZTX 0:       | 198.6/198.5/190.2Mh/s | A: 265 R:0+0(none) HW: 95/none
 ZTX 1:       | 855.0/848.7/825.3Mh/s | A:1150 R:4+0(none) HW:176/none

Luke-Jr:
NEW VERSION 3.0.0, APRIL 5 2013

Please note that libcurl 7.29.0 has a socket leak with request failures, which can lead to BFGMiner running out of file descriptors and/or crashing if you have a dead pool! All older and newer versions of libcurl should be fine.

Also note that if you are compiling from git yourself, you must manually run configure after autogen.sh - it is no longer run automatically to be consistent with how every other software package does this.

2.10.6 is also released and promoted to stable. Note it does not support ASICs.

Human readable changelog:New device driver for ASIC devices, including both Butterfly Labs' BitForce SC and Avalon.Enhanced device driver API, enabling devices to asynchronously handle multiple slave processors. Use --show-processors to view each individually (not yet supported for Avalon).You can now use --request-diff <difficulty> to ask for a specific share target from pools that support BIP 23 GBT Basic Pool Extensions.Support for submitting found blocks to a local Bitcoin GBT server (bitcoind or Bitcoin-Qt with -server flag): just append #allblocks to the end of your bitcoind's URI.Stratum connection resuming support - if you lose an active stratum connection, BFGMiner will attempt to resubmit any lost shares when it reconnects.Android target support. You will have to compile it yourself, but it should just work - no patching needed.New Python RPC client example from Christian Berendt.
Full changelogdebian: Include new api-example.py in docsadded example for Python using the RPC APIadded SPEC file for SUSE distributionsBugfix: bitforce: Free initialization data to avoid trivial one-time memory leakSupport for local submission of found blocks (GBT only)bitforce: RPC pgaset fanmode 0-5 for manual fan controlbitforce: More debugging informationBugfix: modminer: Since RPC always includes the temperature, we don't need to add it speciallybitforce: Expose dual temperature sensors to RPCbitforce: Support for up to 2 temperature sensors per processorBugfix: bitforce: BFP_QUEUE: Attempt to recover from extra queue results, or the next job finishing earlybitforce: Always send a new job ASAP after flushing the queuebitforce: Implement "Queue Job Pack" (ZWX) and use it for XLINK devices to avoid USB latency issuesbitforce: Ignore INPROCESS added to ZOX responseImplement minerloop_queue for devices that process work items too fast to keep track of which one they're currently working onbitforce: Split ZOX command into its own functionBugfix: DevAPI: Free work when preparing it failsDevAPI: Abstract get_and_prepare_work for minerloopsDevAPI: Move select() logic from minerloop_async to do_notifier_selectClarify stratum mining.set_difficulty debug log messageNo longer call configure from autogen.shBugfix: bitforce: Ensure result_busy_polled gets set for queue mode to avoid unnecessary 10ms wait timesBugfix: bitforce: Use common code for end of job_get_results, so queue results don't short-circuit timing codeBugfix: bitforce: Ensure "OK" doesn't remain in queued results bufferBugfix: bitforce: next_line needs to increment beyond the newline characterUpdate README for x970 memdiff values.Do not scan other gpu platforms if one is specified.Update README for sync objects on windows.Add information for setting gpu max alloc and sync parameters for windows with scrypt.Whitelist AMD APP SDK 2.8 for diablo kernel.Show pool number in switch messageClear just the socket buffer when we don't care what is left in a stratum socket.Clear the stratum socket whenever we are closing it since the buffer is going to be reused.Do not continue work from a stratum pool where the connection has been interrupted.Close any existing stratum socket if we are attempting to restart stratum so the pool knows the connection has gone.Show mechanism of stratum interruption if select times out.Make stratum connection interrupted message higher priority to be visible at normal logging levels.API add 'Network Difficulty' to 'coin'avalon: if all result are wrong in one batch read. reinit the avalonavalon: record the last result temperature infodelay when close avalon; only record matched resultavalon: fix no_matching_work only count when debugavalon: minor changeavalon: add idle codeavalon: fliter the temp_max >= 100, print the result for debug.avalon: export more data to API statsavalon: add default chip frequencyavalon: fix the work_i3 initavalon: add reinit_deviceavalon: the temp_history_count base on timeoutavalon: fix mistake on adjest_fanavalon.c: fix the copyrightbfgminer-rpc: add -o option: no format, only the resultavalon: update fan pwmavalon: update the FAN_PWM MAX/MINavalon: minor changeavalon: overclock codeavalon: fix the displayavalon: minor changeavalon: fix the fan/temp controlavalon: fix the temp_avgavalon: fix tempavalon: add fan/temp controlavalon: add FAN speed factoravalon: add TODO on fan/temp control. cleanup detectavalon: add the gate_miner bitsavalon: only send one byte on resetavalon: add support on send 2 bulk taskes at beginavalon: fix the hash_count returnavalon: fix the LOG_WARNINGavalon: add comment on hash_countavalon: WORKAROUND on hashrateavalon: update max miner_numavalon: add more info on apiavalon: add nonce_elf and more info on match miner_numavalon: change reset to 300msavalon: move bulk buffer to it's info structrueavalon: more work on hashrate and read_countavalon: add baud 38400 supportavalon: fix nonce_range EBavalon: fix the hashrate wrongmore info on avalon APIavalon: fix the nonce_range ELavalon: fix the read countavalon: more work on nonce_rangeavalon: read() times and send delay fixedavalon: add the send delay optionavalon: print out fan/temp infoavalon: add the result info (fan/temp etc)avalon: more check on hardware erroravalon: more work on get_work_countavalon: now we have dynamic get_work_countavalon: more work on parametersavalon: add timeout parameteravalon: baud as parameter nowavalon: send work pitch should be : (15*(8+2)*4/19200)savalon: more work on match workavalon: fix free_workavalon: continue on reset work. wait for buffer emptyavalon: add options, if write() error. sleep(1) before reset()avalon: more cleanupavalon: finish read when Buffer emptyavalon: fix the nonce EB issueavalon: MORE workavalon: fix the EB/LB issueavalon: some cleanupavalon: fix the first configure taskmore work on the avalon bufferavalon: fix the BIG_ENDIAN issueavalon: Fix the buffer statuchange defines to avalon parametersfix the cts returnavalon: change the data to uint8_t, add some test temp codeavalon: fix task initavalon: more data format workchange to avalon data formatdebug: add a debug hexdump.cavalon: add some code on match workavalon: try to correct the pool_status and dev_statusavalon: more work on multi-worksavalon: more work on readavalon: more work on get resultsmore RTS code on avalon.c/hmore RTS codeavalon: some cleanupavalon: more work on new work queue structruefpgautils.c: use lancelot as targetavalon: since we submit task as bulk data. modify againadd scanhash_queuerenmae avalon.h to driver-avalon.hfpgautils.c: add get_serial_ctsunderstand the avalon protocol moreavalon: new software structrue but target as lancelotadd avalon.havalon: fix warningavalon: add TODO commentsmore AVALON definesavalon: more workadd driver-avalon.cadd avalon support to automakeDefault to work queue mode on BitForce SC devicesbitforce: Implement support for non-contiguous XLINK slave addressinggnulib: stdint: fix build with Android's Bionic fox x86gnulib: stdint: Improve support for Android.gnulib: stdint: Add support for Android.Check for ?e##toh macros independently from hto?e##If pthread_cancel is missing/emulated, set asynchronous thread cancel type on stage, watchdog, watchpool, and longpoll threads since the emulation cannot support deferred cancellationIf pthread_cancel is missing (Bionic/Android), emulate it using pthread_kill and pthread_exitconfigure: Intelligently detect what flags/libs get us working pthread, and define HAVE_PTHREAD_CANCEL if pthread_cancel is availableBugfix: Initialize mutex_request to invalid so devices that don't use it (bitforce) don't try toRPC: pools: Add "Message" to show last client.show_message received over stratumStratum: Support client.show_message methodDon't retry without resume support, if the first attempt just timed outBugfix: minerloop_async: Intelligently handle work updates and device disables during transitionsBugfix: minerloop_async: Free old (unused) prepared work when replacing it with an upgraded oneBugfix: Free pool sessionid before replacing itBugfix: Stratum: Address dereference-after-free and memory leak introduced in resume supportStratum: If old protocol fails as well, try to resume again next time aroundBugfix: Stratum: Only failover to old mining.subscribe protocol if the previous attempt was the new one (fixes a flood of retries)Try to extract the sessionid associated with mining.notify on 3rd level array and submit it along with the userid to support mining resume, failing gracefully and restarting if the pool rejects it.Cope with misread sessionid on stratum for now.Use the sessionid as passed on stratum connect to attempt to resume a connection once and then clear it if it fails, to use a new connection.Move to storing the nonce1 in the work struct instead of the sessionid for the now defunct first draft mining.resume protocol.Only continue submitting shares with mining.resume support on stratum when the session id matches.Provide support for mining.resume with stratum, currently re-authorising after successful resumption pending finalising of the protocol process.Provide basic framework for restarting stratum depending on whether resume support exists or not.Abstract out the setting up of the stratum curl socket.Remove redundant setting of strings to NULL since the whole work struct is zeroed.Only clear stratum shares mandatorily on stratum dropouts when the pool does not support resume.Stratum: Keep trying to submit shares, even across reconnectsUse new select loop primitives in submission threadBugfix: Missing pool_no parameter to applog for no-stratum-sessionid debug messageDo as much outside of mutex locking of sshare_lock as possible.Remove last reference to struct work used outside the sshare_lock in submit_work_threadUnlock the sshare_lock in submit_work_thread when all references to work and sshare are complete.Bugfix: Copy and free sessionid on work objectsAdd timestamps to stratum_share structs as they're generated and copy the stratum sessionid if it exists to stratum work generated.Store session id for stratum if the pool supports it for future mining.resume support.Keep the unique id of each work item across copy_work to prevent multiple work items having the same id.x6500: Never consider processors idle if they're enabledx6500: Make mutex management cleaner by blocking device select loop during idle get_statsBugfix: minerloop_async: Always refer to real thread for select loopBugfix: Initialize work_restart_notifier[1] to INVSOCK instead of -1 to be portableztex: Use restart_wait to react quicker to work updatesHandy TIMEVAL_USECS macroRestore blocking restart_wait function with nearly identical semantics as old oneBugfix: bitforce: Rework sleep delay adjustment logic to properly deal with more accurate timing readings (added in device API update)Hidden --force-rollntime option for getwork pools (use like --pool-priority, after each pool definition)Include processor id in get_work loggingSupport for BIP23 BPE request target extension via new --request-diff optionHidden option to reduce "work update" messages to debug level: --quiet-work-updatesChange "work restart" to "work update" in messages to reflect reality more accurately (no work is lost), and normalize case of "longpoll"HACK: Since get_work still blocks, reportin all processors dependent on this threadMove FD_SETSIZE definition to configure so it affects everywhere it needs toMove absolute_uri function to util.cRemove now-unused blocking-wait code (restart_cond, restart_wait, and stale_wait)Bugfix: bitforce: Zero hashes complete if we get an invalid responseHACK: Since get_work still blocks, reportout all processors dependent on this threadbitforce: Support for work queue protocol on BitForce SC devicesUse new double-stage format for SC devicesmodminer+x6500: Expose frequencies to API in terms of MHz to be consistent with ztex driver and cgminerbitforce: Replace (bool)cgpu->nonce_range with (enum)bitforce_data->protobitforce: XLINK support for multiple processorsbitforce: Prepare log messages for XLINK by separating into proc and dev messagesbitforce: Always use fd/mutex pointers on actual device, to prepare for XLINK supportbitforce: Get fd/mutex pointers only once per functionbitforce: Abstract commands to bitforce_cmd1 (single-stage) and bitforce_cmd2 (double-stage) functionsbitforce: Debuglog device information during detectionBugfix: Missing includes needed on WindowsBugfix: Use waddstr instead of wprintw to display completed device summary line, so literal %s don't get interpreted as formatting optionsBugfix: bitforce: Avoid polling continuously between work restart and job completionbitforce: Use poll device API when job_get_results needs to waitbitforce: Use poll device API when job_start needs to waitstale_work_future function to determine in advance if a work/share will be stale at some future timebitforce: Minimally refactor to adapt to new minerloop_asyncminerloop_async: Break out of select on work_restart_notifierReplace UNIX-only work_restart_fd pipe with portable work_restart_notifierBugfix: Clean out unused variables from minerloop_asyncMove new device API code to new deviceapi.c source fileMake minerloop_async more async, using some callbacks to handle event completionsSplit part of minerloop_async into do_get_results, and a bit other reorganizationAbstract select_timeout function to convert a realtime timeval to a timeout pointer for select()Split part of minerloop_async into do_process_results, and don't allow api->job_get_results to return hashesSplit part of minerloop_async into do_job_prepare and do_job_startInitialize thr->tv_poll to -1 (disabled)Update the hashmeter one last time before disabling a deviceminerloop_async: Break out of select for wakeup notificationsReplace mining thread queues (which were only used for wakeup pings) with notifiers (which can be used with select and co)Unify all mining thread wakeup to mt_enable (simplifying code)Bugfix: get_statline: Correct device summary status, only showing DEAD or OFF if it affects all processorsWorking processor disable/enable with new async minerloop (currently gets stuck if all processors disabled)Bugfix: get_statline: Only care about the processor status if --show-processors is setBugfix: watchdog: Use processor thr_info even if it isn't a real threadOnly support thread-per-device or N-threads-per-processor; simplify work_restart checkx6500: Remove mutex, since driver is single-threaded nowBugfix: Update utility every get_statline call, and include every processor involvedHACKING: New text file to document the internal workings of (currently) the device APIBugfix: mining_threads is now a total of thr_info objects, not necessarily actual running threadsx6500: Working (but incomplete) asynchronous/single-threaded driverIncomplete (but workable) asynchronous minerloopCore support for managing multiple processors from a single threadAllow device drivers to implement their own minerloopMove cgpu_info and thr_info initialization to main, and ensure all get initialized before starting any threadsRefactor and simplify miner_thread (no major behavioural changes)Move difficulties to end of share result message, so they can be made to line up nicelyBugfix: Consolidate share result message code (including fixing displayed hash portion for stratum)miner.php: Include ProcID in Device column as a letterShow summaries per-device unless --show-processors is used (also available on Display TUI menu)Order next_proc linked list in processor id orderConsolidate processor summary line generation for TUI and text-only modesRPC: Update to include ProcID so multiprocessor devices can be understood correctlyRPC: Common function for adding device-identifying fieldsmodminer: Make single-processor statline look like other temperature-only statlinesmodminer: Split each FPGA into its own logical processor (in the same device still)modminer: Get mutex pointer only once per functionztex: Combine master+slave devices into a single multiprocessor devicePreformat dev_repr (device representation) and proc_repr (processor representation) once for use everywherex6500: Split each FPGA into its own logical processor (in the same device still)x6500: Get mutex pointer only once per functionMinimal support for defining devices with multiple logical processorsRename all README files to standard README.* styleBugfixes included in both 3.0.0 and 2.10.6:Bugfix: openwrt: Never include _ in platform nameBugfix: Fixed typo in bfgminer-rpc usagepool_active: Ensure temporary curl is always cleaned upTry to find jansson via pkg-config first, and fall back to checking system defaults if that failsAttempt to find libjansson via pkg-config if AC_CHECK_LIB failsUpdate scrypt readme re drivers and sdk.Bugfix: README: Move --device out of GPU only optionsUpdate .gitignoreAdded bfgminer-rpc binary to .gitignoreBugfix: Actually change to the newly selected pool when statum is inactive and it decides to changeBugfix: modminer: Properly fail on dynclock errorBugfix: opencl: Clean pc_data->work before freeing pc_dataBugfix: Correct order of libblkmaker libraries so static builds workBugfix: Need to ensure __BIG_ENDIAN__ is defined before including uthash.hBugfix: Stratum: When destroying cURL easy handle, be sure to clear pool stratum_curl pointerBugfix: bitforce: Fix warningBugfix: Stratum: Properly handle non-integer "id" for client.get_version requestsjson_dumps_ANY utility function to portably implement json_dumps(..., ... | JSON_ENCODE_ANY)Bugfix: bitforce: Free old name when updating it on reinitializationStratum: Include pool number in send/recv protocol loggingInclude pool number in stratum thread nameAPI always report failed send() repliesAPI.java allow partial readsBugfix: Stratum: Use curl_easy_cleanup to close connection, so cURL understands what is going onBugfix: hash_pop: If a work should be rolled, use a clone of it rather than consume a rollable workopenwrt: Move Makefile into a bfgminer subdirectory to avoid symlinking issuesopenwrt: Use --with-curses=ncurses to avoid ncursesw dependencyconfigure: Support --with-curses=FOO to look for curses implementation in libFOOSet pool socket to INVSOCK after closing connection, just in caseClean up compiler warningsBugfix: Check that pool is active one last time before selecting itBugfix: Trim whitespace (like newlines) off the end of debug info from libcurlBugfix: submit_nonce: Backup the original work->blk.nonce since the miner code uses it to track work consumptionBugfix: Scheduler needs to unpause disabled devices, even if it isn't waking them upBugfix: Use SOCKETTYPE for notifiers, to avoid potential overflow on Win64Bugfix: Some versions of MingW define localtime_r, but don't handle the timeval.tv_sec case that we use; so undef any preexisting one and use our ownBugfix: reinit_gpu: Remember the selected device to correctly change properties ofBugfix: cpu: reinit_device hasn't worked since 93b284d, so just remove it entirely instead of letting it screw with thread 0Document necessity to run ldconfig and possibly configure ld.soBugfix: Complete startup after just one pool is found active, no need to wait for the restBugfix: Update linksminer.php: Replace PGA dev number with concatenated device IDBugfix: miner.php: Display devices with aligned columns instead of assuming they come out of the RPC alignedBugfix: miner.php: Silence PHP "local timezone" warningBugfix: api-example: Try to use BSD sockets on any non-Windows platformBugfix: stratum: Delay mining.get_transactions request until after auth has succeeded, so its failure doesn't abort the connection (also avoids any delay from a large result)--no-getwork option to disable getwork protocol supportClarify dependencies with Debian/Ubuntu package names

Epoch:
Will try this out later tonight.

tnkflx:
Quote from: Luke-Jr on April 05, 2013, 06:53:14 PM

"St. Barbara's Faithfully Glorified Mining Initiative Naturally Exceeding Rivals", or just basically a freaking good miner.


Really?

Fiyasko:
Woah that is the biggest thing of mining software release notes ive ever seen!
Definitly gonna read through it all, and if i see something intresting ill give it a shot!

Navigation

[0] Message Index

[#] Next page