Pages:
Author

Topic: OLD: BFGMiner 4.10.0: GBT+Stratum, RPC, Mac/Linux/Win64, Spondoolies SP30 - page 41. (Read 308577 times)

hero member
Activity: 662
Merit: 500
Awesome, thanks luke! I've updated MacMiner from 3.99 to 4.
legendary
Activity: 1288
Merit: 1004
Great job Luke.
I updated the article with the official release.

http://www.cryptocoinsnews.com/news/bfgminer-4-0-officially-released-multiminer-3-0-officially-released-tandem/2014/05/24

Quote
Luke Jr has officially released BFGMiner 4.0 into the wild with a ton of enhancements and features. Along with it a key member of the development team Nate Woolls released MultiMiner 3.0 to go along with it. Update: BFGMiner is live. 5/26/14  Quick Note: Slight Delay on BFGMiner.  It will be posted soon. :-) Notable in the BFGMiner release is the support for many new miners that have come on the scene. Some you will recognize from my reviews like the OneString Miner, HexFury and Gridseed Blade reviews. The official support makes BFGMiner even more hardware friendly. There is even support for the hard to find DrillBit miners.  Notable is the support for the extremely late Butterfly Labs Monarch miner which is looking more and more like a waste of Bitcoin that buys Josh of BFL a house and two cars. More support for the multi-chip Nano Fury miners and so much more. The new hardware support is great because it allows quick integration into your existing BFGMiner controlled ecosystems without messing around.

Thanks again for the hard work and allowing me to spread the word about it.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
nice work! will test with network and usb devices I have. any more info on the new device options, does auto overclock work with the antminers?
full member
Activity: 238
Merit: 100
Congratulations ! Lots of new work Smiley

Will test here. W XP Smiley laptop and three hubs.
newbie
Activity: 52
Merit: 0
Congrats Luke! Testing ASAP.
legendary
Activity: 2576
Merit: 1186
NEW VERSION 4.0.0, MAY 26 2014

Human readable changelog:
  • Various options (specifically, --temp-cutoff, --temp-target, and the various ---options) have been migrated to the --set-device interface.
  • Automatic hotplug support for Linux and Windows.
  • TUI: Redesigned pool information line to include share difficulties in multipool modes and timestamp of the last explicit work update (which are no longer logged).
  • Forbid cross-domain server redirection by default, unless pool URI has #redirect in it.
  • Stratum: Unauthenticated TLS support.
  • Stratum: Improve support for stratum-compliant scrypt servers, while still cleanly handling the expectations of many broken servers.
  • bifury: Support for OneStringMiner and Hex*Fury (see README.ASIC for notes about boards with buggy firmware).
  • bitfury: Detect gen2 chips and report hashrate correctly.
  • bfx: New driver for BFx2 Bitfury USB stick miners.
  • bitforce: Support for Monarch 28nm cards, including PCI-Express support on Linux (see README.ASIC for setup instructions).
  • drillbit: Add support for protocol version 4 devices.
  • dualminer: New driver, supporting both SHA256d and scrypt ASIC mining.
  • gridseed: New driver, supporting only scrypt ASIC mining.
  • hashbusteravalon: New driver for Avalon2-based HashBuster devices, such as the HashBuster Alpha.
  • hashfast: Display of temperature and voltage, as well as setting clock frequency at startup.
  • icarus & cairnsmore: Since Block Erupters are far more popular, and less unprofitable, the erupter driver is now preferred over icarus and cairnsmore drivers. This means you must change -S all to -S icarus:all or -S cairnsmore:all.
  • knc: Added a use_dcdc setting that can be used on Nov batch units to avoid triggering DCDC problems (--set knc:use_dcdc=no).
  • nanofury: Support for new, multi-chip NF2 and NF6 units.
  • RPC: cpu* and gpu* commands have all been deprecated; CPUs and GPUs are now accessible using pga* and proc* commands just like everything else.
  • Stratum proxy: Support for GBT upstream pools, as well as scrypt algorithm.
  • getwork proxy: Support for scrypt and included in Win64 binaries.
  • opencl: Major updating of code to use set-device interfaces.
  • opencl: Support for loading kernels by filename, provided they use a known interface. Loading most scrypt kernel should just work, and most SHA2 kernels can be enabled by adding a single comment to the CL source.
  • opencl: Support for new "xintensity" unit by using --set-device OCL:intensity=x5 (for example).
  • opencl: Raise max scrypt GPU intensity to 31, and enabled driver by default for scrypt.
  • opencl: Add some optimised scrypt kernels by zuikkis and psw.
  • scrypt: Fixed nonce-based (third) hashrate, and display sub-one share difficulties.
  • Default log interval (and first hashrate rolling average) increased from 5 seconds to 20 seconds to make it more useful.
  • Benchmark mode refactored to work for both SHA256d and scrypt, and with the third hashrate.
  • Many uncommon options (including CPU and GPU mining related ones) have had their "shorthand" forms deprecated. A future release will remove (and perhaps redefine) these shorthands entirely.
  • Bundled a start-bfgminer.sh shell script for *nix which will start/restart BFGMiner in a screen session, and can safely be used in init/cron tasks.

Full changelog:
  • 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 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 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
Full changelog (3.10.1):
  • 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
legendary
Activity: 2576
Merit: 1186



Announcing BFGMiner 4.10, the modular cryptocurrency 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 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 FILES 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 us 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.

Latest release: 4.10.0 (announcement & changes)Testing release: 4.7.2Stable release: 3.10.7
Archive of all official release source & binaries

Features:
Sample output:
Code:
 bfgminer version 4.10.0 - Started: [2014-06-10 20:13:01] - [  0 days 06:15:32]
 [M]anage devices [P]ool management [S]ettings [D]isplay options  [H]elp [Q]uit
 Pool 0: ...ning.eligius.st  Diff:128  +Strtm  LU:[02:28:32]  User:1QATWksNFGeUJCWBrN4g6hGM178Lovm7Wh
 Block: ...6e8ba4d9 #305190  Diff:11.8G (84.16P)  Started: [02:07:22]
 ST:156  F:0  NB:31  AS:0  BW:[269/ 12 B/s]  E:1127.28  I:1.04mBTC/hr  BS:21.8M
 5/24   63.0C | 94.10/98.68/95.60Gh/s | A:1974 R:2+2(.20%) HW:5729/2.6%
--------------------------------------------------------------------------------
 BFL 0: 54.0C |  8.11/ 8.10/ 7.65Gh/s | A:  62 R:1+2(4.6%) HW: 273/1.3%
 HBR 0: 63.0C | 22.91/22.85/21.55Gh/s | A: 208 R:0+0(none) HW:3022/5.4%
 TBF 0: 28.0C |  5.13/ 5.10/ 4.89Gh/s | A:  49 R:0+0(none) HW: 331/4.5%
 PXY 0:       | 27.85/30.23/29.84Gh/s | A: 358 R:1+0(.28%) HW: 450/1.0%
 RKM 0: 40.0C | 30.10/32.40/31.67Gh/s | A:1297 R:0+0(none) HW:1653/.92%
--------------------------------------------------------------------------------
 [2014-06-11 02:28:10] Accepted 00c819ef HBR 0d Diff 327/255
 [2014-06-10 02:28:13] Accepted 012058dd PXY 0  Diff 227/128
 [2014-06-11 02:28:15] Accepted 01778be1 RKM 0b Diff 174/128
---
Pool menu:
Code:
0: Enabled  Strtm Quota 1 Pool 0: stratum+tcp://stratum.mining.eligius.st:3334  User:1QATWksNFGeUJCWBrN4g6hGM178Lovm7Wh
1: Disabled GWork Quota 1 Pool 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:20
S[T]atistical counts: absolute
[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

GUI frontends:
Bare-metal operating systems with BFGMiner:
Pages:
Jump to: