cgminer

Software Screenshot:
cgminer
Software Details:
Version: 4.9.1
Upload Date: 17 Feb 15
Developer: Con Kolivas
Distribution Type: Freeware
Downloads: 281

Rating: 2.0/5 (Total Votes: 1)

cgminer is an open source, command-line, cross-platform and free GPU/ASIC/FPGA multi-threaded, multi-pool Bitcoin miner written in the C programming language. It also works with bitcoin-derivative coins and runs on the GNU/Linux, Microsoft Windows and Mac OS X operating systems.

Features at a glance

Key features include very low non-mining CPU and RAM usage, support for stratum and GBT pooled mining protocol, scalable networking scheduler, long poll support, self detection of new blocks, proxy support, caching of submissions during transient network outages, preemptive fetching of work prior to completion of current work, as well as multicast support.

It is compatible with a wide range of Bitcoin mining devices

In addition to the above, we can mention that cgminer is compatible with a wide range of Bitcoin mining devices, including Bitforce, Icarus, Modminer, Submit-old, X-Reject-Reason, Bitburner, Bitfury USB stick, BFL SC ASIC, Klondike and KnCminer.

Supports various proxy types

Another interesting features is that the application supports various proxy types, including HTTP 1.0, HTTP 1.1, SOCKS4, SOCKS5, SOCKS4a, as well as SOCKS5 with a hostname. It runs as an interactive daemon, in the background, and can be configured to start at boot.

Supported Linux distributions and availability

The program is supported on virtually all GNU/Linux distributions, as it is available for download as a source archive, which requires you to configure and compile the program prior to installation. It has been successfully tested on both 32-bit and 64-bit computers.

A cross-platform Bitcoin miner

cgminer is a cross-platform applications that runs well on GNU/Linux, Microsoft Windows and Mac OS X operating systems. It features the same options on all systems, so you only need to learn once how to use its multitude of functions. Run the cgminer --help command to view a list of all available commands.

What is new in this release:

  • If a pool supports full stratum resume (currently only ckpool pools do), which means an interrupted stratum connection can resume and submit any shares worked on in the interim without losing work, a message will now be displayed when the reconnect negotiated a resume.
  • If a dead pool was removed previously there was still a thread in the background trying to connect to it. This has been fixed.
  • Avalon 4 updates to use less power.
  • Fix an intermittent crash with the BFL SC 28nm devices.
  • Fix support for BFL SC 65nm devices failing on last release.
  • Fix the BET driver not being able to restart a new instance when the first fails.
  • Basic FreeBSD compilation support.
  • Other minor build changes and fixes for potential issues.

What is new in version 4.9.0:

  • Avalon 4 driver. This device has a unique usb communication chip and has Manufacturer and product id filled in so it *will* be detected reliably. As per default for cgminer it needs no command line options to work, just remember to copy your udev rules file to enable regular users access to it (or run cgminer sudo). See ASIC-README
  • It comes with the following options (most of which are self explanatory or you shouldn't really touch them):
  • --avalon4-automatic-voltage Automatic adjust voltage base on module DH
  • --avalon4-voltage Set Avalon4 core voltage, in millivolts, step: 125
  • --avalon4-freq Set frequency for Avalon4, 1 to 3 values, example: 45:385:370
  • --avalon4-fan Set Avalon4 target fan speed range
  • --avalon4-temp Set Avalon4 target temperature (default: 42)
  • --avalon4-cutoff Set Avalon4 overheat cut off temperature (default: 65)
  • --avalon4-polling-delay Set Avalon4 polling delay value (ms) (default: 20)
  • --avalon4-ntime-offset Set Avalon4 MM ntime rolling max offset (default: 4)
  • --avalon4-aucspeed Set Avalon4 AUC IIC bus speed (default: 400000)
  • --avalon4-aucxdelay Set Avalon4 AUC IIC xfer read delay, 4800 ~= 1ms (default: 9600)
  • - Added a small change to look for null data being passed to the usb transfer in the hope of avoiding the crash with Yoli boards some are seeing.
  • - Added some basic duplicate share checking to try and capture them per driver and flag them as hardware errors, and filter them out.

What is new in version 4.8.0:

  • Fix for autogen.sh on OSX not liking -f option with readlink.
  • Added an --enable-forcecombo option to allow building of driver combinations with drivers that are normally built standalone.
  • Avalon2 updates to try to detect failing devices and reset them if possible.
  • Avalon2 will no longer loop forever on a failed usb write.
  • Displays for devices with a number in their name will no longer be confused by having a space before their id (eg: AV2 1 instead of AV21)
  • Fixes for understanding share errors from pools that have a non-standard stratum response (i.e. Ghash) which would otherwise have obscured rejects that were occuring for duplicates, etc.
  • Device driver for Antminer U3s:
  • -These require the --enable-icarus option when building a binary and appear as "AU3"
  • -Unlike the bitmain driver, these need no options to work, having sane defaults and accepting the extra options for changing frequency and voltage with the following new options:
  • Code:
  • --au3-freq Set AntminerU3 frequency in MHz, range 100-250 (default: 225.0)
  • --au3-volt Set AntminerU3 voltage in mv, range 725-850, 0 to not set (default: 750)
  • NOTE: These have a tendency of dying if you leave them running at high voltages either at the PSU and/or the device so NOT recommended!
  • The display will show the voltage and frequency configured for antminer U3 and the frequency for U1/2.
  • Numerous improvements to tell apart Icarus devices more reliably (AMU, ANU, AU3, LIN, LIR).
  • Fix for unprefixed IPv6 entries in the api allow command.
  • Fix for misspelt temperature in spondoolies driver.
  • Rockminer driver updates for better support of New R-Box and RK Box:
  • Filter out the bulk of the duplicate shares. This will make the hashrate appear lower, but no pool would have been honouring them as valid shares anyway.
  • Substantially lower hardware errors.
  • Lower CPU usage.
  • Slightly higher effective hashrate.

What is new in version 4.7.1:

  • We used to yield after dropping locks in cgminer to allow low power machines (eg RPi) to work properly with heavily threaded code. Now it only does this on machines where one CPU only is detected otherwise it is wasteful but probably will have no demonstrable effect in anything but microbenchmarks.
  • Changed the configure build system to make it impossible to build more than one device in if the chosen driver was meant to be used standalone, along with more explicit tagging of standalone drivers in the configure help. This should make it easier to choose a more suitable configuration for distribution packaging.
  • Added yet more warnings suggesting not to use the system libusb in configure.
  • Check if pools are alive more frequently if there is only one pool enabled.
  • Don't think that unhandled stratum messages are untracked shares, just filter them out.
  • Added support for mining.ping which is a stratum extension in ckpool.
  • Changed the use of suggest-diff to the newly agreed upon standard of putting the diff in the json parameters.
  • Fixed a crash that happens when write is chosen from the menu and the hashratio driver is built into the binary.
  • We did not stop receiving stratum messages from pools that we disabled from the menu previously.
  • If "restart" was chosen from the menu, any sockets to old pools were not closed down leading to many persistent connections to the pool with each restart. Now these are properly closed (though quit and start again is always more reliable than a restart anyway).
  • Work utility meter was broken in the last release due to maxdiff being set very high for any drivers that didn't set it. Instead maxdiff is assumed to be 1 now unless the driver has it explicitly set showing support for internal driver diff.
  • If the pool priority order is changed while running and we save the config from the menu it will now save the new priority order.
  • Hashfast voltage support for Yoli/Habanero/Bitcrane etc. boards (see ASIC-README)
  • SP30 driver improvements, fixing the hashrate meter.
  • Fixed API taking both an IPV6 and IPV4 address.
  • Fixed OSX build.
  • Added the ability to build libusb without libudev (eg. on BBB)
  • Fixed a small delay in generating more work when queue is set to zero.
  • If different USB devices contain the same communication chip, provided the USB device has a product id set, cgminer will no longer try to use the wrong driver on it (eg LIN vs BFLSC).
  • Added support for more USB3 hubs on windows.
  • Fixed the hashfast driver not building when libcurl is disabled.

What is new in version 4.7.0:

  • IPv6 support for the API
  • Block erupter tube and prisma support
  • Support for the avalon nano usb stick
  • Support for the --suggest-diff stratum option, currently only supported by ckpools
  • Add pool number to addpool response from API
  • Make responses to restart and quit from the API valid json
  • Change spondoolies sp30 hashrate to valid share based meter
  • Add support for a minimum difficulty for slow controllers to not spiral out of control, this will initially make the devices look slow at the pool until vardiff bumps them up properly past the mindiff.
  • Change the default queue back to 1 since increasingly devices are on slow controllers and will inevitably increase their queue size to max
  • Avalon2 tweaks, show max temperature on command line

What is new in version 4.6.1:

  • Fix the BFL Monarchs with their updated firmware naming not being recognised.
  • Fix the BFL Monarchs' overheat throttling not working.
  • Updated avalon2 driver to support nonce2 of 3 bytes' length.
  • On very slow uniprocessor devices (eg RPi) some shares would appear to have "no response from pool" and then later on there will be a response from an "untracked share". This is due to the response coming in from the pool even before the share has been added to cgminer's local database. This change minimises this effect (but does not eliminate it entirely).
  • Fix case sensitivity in API.java
  • Fix ava2 fixed speed option not working on gen2 devices.
  • Api-example fix.
  • Other low level fixes.

What is new in version 4.6.0:

  • BFLSC28, aka BFL Monarch driver.
  • Avalon2 driver updates.
  • Minion driver updates.
  • Allow passwordless workers now.
  • Disconnect connections to unused stratum pools more reliably.

What is new in version 4.5.0:

  • Driver for new device Hashratio, uses direct USB as per all other devices to work generically on any PC platform.
  • Completely rewritten driver for avalon2/3 to use direct USB for generic PC usage, with automatic default voltage and frequency settings if not specified, on screen information, and much smarter fan control.
  • Merged KnC updates for Neptune support.
  • Changed the cointerra driver to not fail on old firmware with checksum errors, allowing people with these devices to easily generically plug them into their PCs.
  • Put lots more documentation into READMEs.
  • Fixed the windows packages to have windows style end of lines again and be readable in notepad.

What is new in version 3.12.3:

  • Fix for the sitting idle doing nothing bug.
  • Add temperature to API devs call for hashfast devices

What is new in version 3.12.1:

  • Dynamic temperature based fanspeed and per-die clockspeed control for hashfast devices with the following new commands.
  • --hfa-fan Set fanspeed percentage for hashfast, single value or range (default: 10-85)
  • --hfa-temp-target Set the hashfast target temperature (0 to disable) (default: 88)
  • Defaults chosen are based on extensive discussion with the design engineers responsible for the silicon and boards and basically it will keep your hashfast devices as close to the starting clockspeed as possible while keeping under~95 degrees by initially increasing fanspeed, and then decreasing the clockspeed on the hottest dies discretely. The output can be watched via the API. Enduring sweltering temperatures of up to 44 degrees here has made for an excellent real world test for this code.
  • Numerous startup/reset/shutdown reliability improvements for hashfast
  • Send a ping to the hashfast device at regular intervals if we don't have any work for it just so it knows cgminer is still alive to try and minimise the dreaded watchdog reboots.
  • Lots of extra information in the hashfast API stats output.
  • Hashfast serial number is shown as a hex value now.
  • Better hashfast flushing of work on restarts new firmware will build further on this.
  • Antminer U1 overclocking support with --anu-freq note:
  • Quote
  • By default, Antminer U1 devices run at a clockspeed of 200. This command allows you to specify a chosen frequency to attempt to run all ANU devices at and the value must be in increments of 25. Note that cgminer reports hashrate ONLY FROM VALID HASHES so if you increase the frequency but your hashrate does not increase or it decreases and hardware errors start showing up, you have overclocked it too much. In the worst case scenario it will fail to start at too high a speed.
  • You basically must use --icarus-timing=short additionally to get the maximum benefit out of the overclocking (at this stage).
  • Keep taking a trickle of work even if it's not being used just to keep an eye on pools and to keep the most recent work time up to date
  • Make the top "window" wider since hashes these days come in the many millions and don't fit into 80 characters
  • In verbose mode, the share above target message shows for which device
  • Rolled back to the last good working libusb the alleged libusb/x merge did not bring improvements and added windows instability with spontaneous exiting
  • Handle better numerous non-terminal errors (the cgsem ones) that were leading to cgminer exiting
  • BAB improvements courtesy of Kano
  • Verbose mode will now show if it takes time to submit a stratum share, or it takes a long time to get a response from pools due to them lagging substantially, to help debug where latencies might be causing high stales.
  • Added a way to zero other stats within each driver when the zero stats command is given (though no driver currently uses it).
  • Fix one stale work item being passed to drivers after a block change.
  • Fix a rare usbutils crash
  • Pool diffs that are fractions only show one decimal place now.
  • In debug mode a message will show up if there are substantial delays in getting work.
  • Fix for massive data over the API
  • Other random fixes.

What is new in version 3.12.0:

  • Antminer U1 support
  • Numerous fixes for behaviour surrounding USB errors - pipe and IO errors, and no more attempting to reset the device since it's rarely helpful and occasionally harmful.
  • Libusb and libusbx have finally reconciled their differences and merged all their fixes together into a new official libusb release, so the main change in this version is updating the core code to include this latest libusb. Hopefully this might increase compatibility with some USB3 hubs on windows and make it more reliable (based on the changelogs I can see in libusb). This is the reason for the minor version number update to 12 as it's quite a substantial code change, hopefully only for the better!
  • Increased the hashfast overheat limit default to 90 after extensive discussions with the engineers who designed the devices.
  • Fixed a crash in the nanofury USB stick code.
  • Fixed the displayed diff shown being wrong when solo mining.
  • bab driver fixes courtesy of Kano.

What is new in version 3.11.0:

  • A proper working hashfast driver tested working on a real device, including the windows version.
  • Substantially updated BAB driver courtesy of Kano. Hopefully he can give us a summary of the changes there.
  • Generic fixes for the reconnect bug on btcguild (unsure if other issues still exist).
  • Work is discarded on a stratum reconnect message from the pool now (as btcguild uses) to avoid working on invalid work on switching URLs.
  • Fixed the stuck line at the top of the log window.
  • Message about block change detected no longer mentions longpoll.
  • API now has a field "Last getwork" in summary which can be used to see that we are still getting work from pools. This is useful if you are trying to determine if a device is dead for device reasons or simply isn't getting work from any pools. It uses the same numbering in seconds with the "Last Valid Work" returned in the device API. If "Last getwork" is not incrementing, there is no work for any devices.
  • Added a nfubits command to allow you to set the clock speed on nanofury/icefury usb sticks. Note that the default was 54 so is now 50 to be in keeping with USB2 power limit standards. This means IT WILL BE SLOWER compared to 3.10.0 unless you change it with this option back to 54. The driver is otherwise unchanged so any other differences you see are pure variance.
  • Threads names have been changed so they will show up with different, consistent names in your process manager of choice.
  • Building will now not include libbitfury on every configuration unnecessarily.
  • The crash on device removal has been fixed.
  • Fixes for lean configurations that failed to build.
  • Hashfast driver changes:
  • Should be more robust with respect to initialisation and dropouts
  • If the device stops returning shares, cgminer will reset the device, and if it cannot, it will drop it, which usually allows it to be rehotplugged again.
  • If a device needs to be reset for not returning shares, and the clockspeed is still overclocked, cgminer will lower the clocks further on every reset.
  • Devices will be throttled if they reach 85 degrees. With water cooling they usually drop in temperature very rapidly. This can be configured with hfatempoverheat
  • Hashrate displayed will be based on valid shares returned so should more accurately represent what the pool will see you hashing at. It will look very unstable initially. Earlier boards do have some loss so the previously displayed hashrate was always over. You can compare the total hashes estimated by this as "Calc hashcount" to compare with "Raw hashcount" the device has worked on in the API stats to see how they differ.
  • Max temp on screen will not show if it's an obvious error showing something like 512
  • The API will show board temperatures
  • Windows builds work Tongue
  • Babyjets show up as HFB while Sierras show up as HFS. Custom devices will come up with the generic HFA name. Note that if you are trying to select them with the usb command, they are all seen as HFA due to the fact that cgminer can only tell them apart after they have been initialised and running.

What is new in version 3.10.0:

  • Minion driver courtesy of Kano. (More info about this from him hopefully).
  • Nanofury driver. These are set up the same as every other USB device is on cgminer. Tested on both windows and linux (sorry no osx to test). Note the hashrate is once again based on only valid shares so may appear lower than other software using this device. No HW errors are currently counted (though they're most definitely there in abundance due to bitfury design). This is a driver based on all the other ones out there with a completely rewritten model to suit how cgminer drivers work.
  • Hashfast driver fixes (no I still don't have one).
  • Fixed BXF devices slowing down over time.

What is new in version 3.9.0:

  • Driver for drillbit ASICs.
  • Fixes for various KnC hardware errors, with improvements to hashrate. Note this is not a comprehensive fix for the hardware errors specific to rEligius - you will find a substantial drop in hardware errors if you start cgminer with the quiet and text only options (-q -T). An updated binary is here: http://ck.kolivas.org/apps/cgminer/kncminer/
  • Updated bi*fury driver with support for the latest firmware. This includes dynamic clocking based on temperature which tries to maintain a constant temperature set intiially to 82 degrees but adjustable with --bxf-temp-target .
  • Much more API output for bxf devices.
  • Less spewing of errors when bxf devices are removed/die
  • Updates to hashfast driver code
  • Fixes for working with proxies that use small nonce2 sizes

Other Software of Developer Con Kolivas

Long Range ZIP
Long Range ZIP

20 Feb 15

BFS Scheduler
BFS Scheduler

27 Sep 15

Comments to cgminer

Comments not found
Add Comment
Turn on images!