Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ckolivas/cgminer

ASIC and FPGA miner in c for bitcoin
https://github.com/ckolivas/cgminer

Last synced: 19 days ago
JSON representation

ASIC and FPGA miner in c for bitcoin

Awesome Lists containing this project

README

        

This is a multi-threaded multi-pool FPGA and ASIC miner for bitcoin.

This code is provided entirely free of charge by the programmer in his spare
time so donations would be greatly appreciated. Please consider donating to the
address below. Driver development for new ASIC only bitcoin hardware can be
suitably sponsored.

Con Kolivas
15qSxP1SQcUX3o4nhkfdbgyoWEFMomJ4rZ

NOTE: This code is licensed under the GPLv3. This means that the source to any
modifications you make to this code MUST be provided by law if you distribute
modified binaries. See COPYING for details.

DOWNLOADS:

http://ck.kolivas.org/apps/cgminer

GIT TREE:

https://github.com/ckolivas/cgminer

Support thread:

http://bitcointalk.org/index.php?topic=28402.0

IRC Channel:

irc://irc.freenode.net/cgminer

SEE ALSO API-README, ASIC-README and FGPA-README FOR MORE INFORMATION ON EACH.

---

EXECUTIVE SUMMARY ON USAGE:

Single pool:

cgminer -o http://pool:port -u username -p password

Multiple pools:

cgminer -o http://pool1:port -u pool1username -p pool1password -o http://pool2:port -u pool2usernmae -p pool2password

Single pool with a standard http proxy:

cgminer -o "http:proxy:port|http://pool:port" -u username -p password

Single pool with a socks5 proxy:

cgminer -o "socks5:proxy:port|http://pool:port" -u username -p password

Single pool with stratum protocol support:

cgminer -o stratum+tcp://pool:port -u username -p password

Solo mining to local bitcoind:

cgminer -o http://localhost:8332 -u username -p password --btc-address 15qSxP1SQcUX3o4nhkfdbgyoWEFMomJ4rZ

The list of proxy types are:
http: standard http 1.1 proxy
http0: http 1.0 proxy
socks4: socks4 proxy
socks5: socks5 proxy
socks4a: socks4a proxy
socks5h: socks5 proxy using a hostname

If you compile cgminer with a version of CURL before 7.19.4 then some of the above will
not be available. All are available since CURL version 7.19.4

If you specify the --socks-proxy option to cgminer, it will only be applied to all pools
that don't specify their own proxy setting like above

After saving configuration from the menu, you do not need to give cgminer any
arguments and it will load your configuration.

Any configuration file may also contain a single
"include" : "filename"
to recursively include another configuration file.
Writing the configuration will save all settings from all files in the output.

---
BUILDING CGMINER FOR YOURSELF

DEPENDENCIES:
Mandatory:
pkg-config http://www.freedesktop.org/wiki/Software/pkg-config
libtool http://www.gnu.org/software/libtool/
Optional:
curl dev library http://curl.haxx.se/libcurl/
(libcurl4-openssl-dev - Must tell configure --disable-libcurl otherwise
it will attempt to compile it in)

curses dev library
(libncurses5-dev or libpdcurses on WIN32 for text user interface)

libusb-1 dev library (libusb-1.0-0-dev)
(This is only required for USB device support)

libudev dev library (libudev-dev)
(This is only required for USB device support and is linux only)

uthash dev (uthash-dev)
Will use a copy included with the source if unavailable.

libjansson dev (libjansson-dev)
Will use a copy included with the source if unavailable.

If building from git:
autoconf
automake

If building on Ubuntu:
sudo apt-get install build-essential autoconf automake libtool pkg-config \
libcurl4-openssl-dev libudev-dev libusb-1.0-0-dev \
libncurses5-dev

CGMiner specific configuration options:
--enable-ants1 Compile support for Antminer S1 Bitmain (default
disabled)
--enable-ants2 Compile support for Antminer S2 Bitmain (default
disabled)
--enable-avalon Compile support for Avalon (default disabled)
--enable-avalon2 Compile support for Avalon2/3 (default disabled)
--enable-avalon4 Compile support for Avalon4/4.1/6 (default disabled)
--enable-avalon7 Compile support for Avalon7 (default disabled)
--enable-avalon8 Compile support for Avalon8 (default disabled)
--enable-bab Compile support for BlackArrow Bitfury (default
disabled)
--enable-bflsc Compile support for BFL ASICs (default disabled)
--enable-bitforce Compile support for BitForce FPGAs (default
disabled)
--enable-bitfury Compile support for BitFury ASICs (default disabled)
--enable-bitmine_A1 Compile support for Bitmine.ch A1 ASICs (default
disabled)
--enable-blockerupter Compile support for ASICMINER BlockErupter Tube/Prisma
(default disabled)
--enable-cointerra Compile support for Cointerra ASICs (default disabled)
--enable-drillbit Compile support for Drillbit BitFury ASICs (default
disabled)
--enable-hashfast Compile support for Hashfast (default disabled)
--enable-icarus Compile support for Icarus (default disabled)
--enable-klondike Compile support for Klondike (default disabled)
--enable-knc Compile support for KnC miners (default disabled)
--enable-minion Compile support for Minion BlackArrow ASIC (default
disabled)
--enable-modminer Compile support for ModMiner FPGAs(default disabled)
--enable-sp10 Compile support for Spondoolies SP10 (default
disabled)
--enable-sp30 Compile support for Spondoolies SP30 (default
disabled)
--disable-libcurl Disable building with libcurl for GBT support
--enable-libsystemd Compile support for system watchdog and status
notifications (default disabled)
--without-curses Compile support for curses TUI (default enabled)
--with-system-jansson Compile against dynamic system jansson (default use
included static jansson)

Basic *nix build instructions:
To actually build:

./autogen.sh # only needed if building from git repo
CFLAGS="-O2 -Wall -march=native" ./configure
make

No installation is necessary. You may run cgminer from the build
directory directly, but you may do make install if you wish to install
cgminer to a system location or location you specified.

Building for windows:

It is actually easiest to build a windows binary using cross compilation tools
provided by "mxe" available at http://mxe.cc/ (use the 32 bit one!)
Once you have followed the instructions for building mxe:
export PATH=(path/to/mxe)/usr/bin/:$PATH
CFLAGS="-O2 -Wall -W -march=i686" ./configure --host=i686-pc-mingw32
make

Native WIN32 build instructions: see windows-build.txt but these instructions
are now hopelessly out of date.

---

Usage instructions: Run "cgminer --help" to see options:

Usage: cgminer [-DdElmpPQqUsTouOchnV]

Options for both config file and command line:
--anu-freq Set AntminerU1/2 frequency in MHz, range 125-500 (default: 250.0)
--api-allow Allow API access only to the given list of [G:]IP[/Prefix] addresses[/subnets]
--api-description Description placed in the API status header, default: cgminer version
--api-groups API one letter groups G:cmd:cmd[,P:cmd:*...] defining the cmds a groups can use
--api-listen Enable API, default: disabled
--api-mcast Enable API Multicast listener, default: disabled
--api-mcast-addr API Multicast listen address
--api-mcast-code Code expected in the API Multicast message, don't use '-'
--api-mcast-des Description appended to the API Multicast reply, default: ''
--api-mcast-port API Multicast listen port (default: 4028)
--api-network Allow API (if enabled) to listen on/for any address, default: only 127.0.0.1
--api-port Port number of miner API (default: 4028)
--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: 775)
--avalon-auto Adjust avalon overclock frequency dynamically for best hashrate
--avalon-cutoff Set avalon overheat cut off temperature (default: 60)
--avalon-fan Set fanspeed percentage for avalon, single value or range (default: 20-100)
--avalon-freq Set frequency range for avalon-auto, single value or range
--avalon-options Set avalon options baud:miners:asic:timeout:freq:tech
--avalon-temp Set avalon target temperature (default: 50)
--avalon2-freq Set frequency range for Avalon2, single value or range
--avalon2-voltage Set Avalon2 core voltage, in millivolts
--avalon2-fan Set Avalon2 target fan speed
--avalon2-cutoff Set Avalon2 overheat cut off temperature (default: 88)
--avalon2-fixed-speed Set Avalon2 fan to fixed speed
--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: 445: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)
--avalon4-miningmode Set Avalon4 mining mode(0:custom, 1:eco, 2:normal, 3:turbo (default: 0)
--avalon4-freezesafe Make Avalon4 running as a radiator when stratum server failed
--avalon4-ntcb Set Avalon4 MM NTC B value (default: 3450)
--avalon4-freq-min Set minimum frequency for Avalon4 (default: 100)
--avalon4-freq-max Set maximum frequency for Avalon4 (default: 1000)
--avalon4-noncecheck-off Disable A3218 inside nonce check function
--avalon4-smart-speed Set smart speed, range 0-3. 0 means Disable (default: 2)
--avalon4-speed-bingo Set A3218 speed bingo for smart speed mode 1 (default: 255)
--avalon4-speed-error Set A3218 speed error for smart speed mode 1 (default: 3)
--avalon4-least-pll Set least pll check threshold for smart speed mode 2 (default: 768)
--avalon4-most-pll Set most pll check threshold for smart speed mode 2 (default: 256)
--avalon7-voltage Set Avalon7 default core voltage, in millivolts, step: 78
--avalon7-voltage-level Set Avalon7 default level of core voltage, range:[0, 15], step: 1
--avalon7-voltage-offset Set Avalon7 default offset of core voltage, range:[-2, 1], step: 1
--avalon7-freq Set Avalon7 default frequency, range:[24, 1404], step: 12, example: 500
--avalon7-freq-sel Set Avalon7 default frequency select, range:[0, 5], step: 1, example: 3 (default: 0)
--avalon7-fan Set Avalon7 target fan speed, range:[0, 100], step: 1, example: 0-100
--avalon7-temp Set Avalon7 target temperature, range:[0, 100] (default: 99)
--avalon7-polling-delay Set Avalon7 polling delay value (ms) (default: 20)
--avalon7-aucspeed Set AUC3 IIC bus speed (default: 400000)
--avalon7-aucxdelay Set AUC3 IIC xfer read delay, 4800 ~= 1ms (default: 19200)
--avalon7-smart-speed Set Avalon7 smart speed, range 0-1. 0 means Disable (default: 1)
--avalon7-th-pass Set A3212 th pass value (default: 162)
--avalon7-th-fail Set A3212 th fail value (default: 10921)
--avalon7-th-init Set A3212 th init value (default: 32767)
--avalon7-th-ms Set A3212 th ms value (default: 1)
--avalon7-th-timeout Set A3212 th timeout value (default: 0)
--avalon7-iic-detect Enable Avalon7 detect through iic controller
--avalon7-freqadj-time Set Avalon7 check interval when run in AVA7_FREQ_TEMPADJ_MODE (default: 60)
--avalon7-delta-temp Set Avalon7 delta temperature when reset freq in AVA7_FREQ_TEMPADJ_MODE (default: 0)
--avalon7-delta-freq Set Avalon7 delta freq when adjust freq in AVA7_FREQ_TEMPADJ_MODE (default: 100)
--avalon7-freqadj-temp Set Avalon7 check temperature when run into AVA7_FREQ_TEMPADJ_MODE (default: 104)
--avalon7-nonce-mask Set A3212 nonce mask, range 24-32. (default: 31)
--no-avalon7-asic-debug Disable A3212 debug.
--avalon8-voltage-level Set Avalon8 default level of core voltage, range:[0, 15], step: 1
--avalon8-voltage-level-offset Set Avalon8 default offset of core voltage level, range:[-2, 1], step: 1
--avalon8-freq Set Avalon8 default frequency, range:[25, 1200], step: 25, example: 800
--avalon8-freq-sel Set Avalon8 default frequency select, range:[0, 3], step: 1, example: 3 (default: 3)
--avalon8-fan Set Avalon8 target fan speed, range:[0, 100], step: 1, example: 0-100
--avalon8-temp Set Avalon8 target temperature, range:[0, 100] (default: 90)
--avalon8-polling-delay Set Avalon8 polling delay value (ms) (default: 20)
--avalon8-aucspeed Set AUC3 IIC bus speed (default: 400000)
--avalon8-aucxdelay Set AUC3 IIC xfer read delay, 4800 ~= 1ms (default: 19200)
--avalon8-smart-speed Set Avalon8 smart speed, range 0-1. 0 means Disable (default: 1)
--avalon8-th-pass Set A3210 th pass value (default: -1)
--avalon8-th-fail Set A3210 th fail value (default: -1)
--avalon8-th-init Set A3210 th init value (default: 32767)
--avalon8-th-ms Set A3210 th ms value (default: 5)
--avalon8-th-timeout Set A3210 th timeout value (default: 4294967295)
--avalon8-th-add Set A3210 th add value (default: 1)
--avalon8-iic-detect Enable Avalon8 detect through iic controller
--avalon8-nonce-mask Set A3210 nonce mask, range 24-32. (default: -1)
--avalon8-nonce-check Set A3210 nonce check, range 0-1. (default: 1)
--avalon8-roll-enable Set A3210 roll enable, range 0-1. (default: 1)
--avalon8-mux-l2h Set Avalon8 mux l2h, range 0-2. (default: 0)
--avalon8-mux-h2l Set Avalon8 mux h2l, range 0-1. (default: 1)
--avalon8-h2ltime0-spd Set Avalon8 h2ltime0 spd, range 0-255. (default: 3)
--avalon8-spdlow Set Avalon8 spdlow, range 0-3. (default: -1)
--avalon8-spdhigh Set Avalon8 spdhigh, range 0-3. (default: 3)
--avalon8-cinfo-asic Set Avalon8 cinfo asic index, range:[0, 25], step: 1
--avalon8-pid-p Set Avalon8 pid-p, range 0-9999. (default: 2)
--avalon8-pid-i Set Avalon8 pid-i, range 0-9999. (default: 5)
--avalon8-pid-d Set Avalon8 pid-d, range 0-9999. (default: 0)
--bab-options Set BaB options max:def:min:up:down:hz:delay:trf
--balance Change multipool strategy from failover to even share balance
--benchfile Run cgminer in benchmark mode using a work file - produces no shares
--benchfile-display Display each benchfile nonce found
--benchmark Run cgminer in benchmark mode - produces no shares
--bet-clk Set clockspeed of ASICMINER Tube/Prisma to (arg+1)*10MHz (default: 23)
--bfl-range Use nonce range on bitforce devices if supported
--bflsc-overheat Set overheat temperature where BFLSC devices throttle, 0 to disable (default: 85)
--bitburner-fury-voltage Set BitBurner Fury core voltage, in millivolts
--bitburner-fury-options Override avalon-options for BitBurner Fury boards baud:miners:asic:timeout:freq
--bitburner-voltage Set BitBurner (Avalon) core voltage, in millivolts
--bitmain-auto Adjust bitmain overclock frequency dynamically for best hashrate
--bitmain-cutoff Set bitmain overheat cut off temperature
--bitmain-fan Set fanspeed percentage for bitmain, single value or range (default: 20-100)
--bitmain-freq Set bitmain freq options timeout:freq:regdata
--bitmain-hwerror Set bitmain device detect hardware error
--bitmain-options Set bitmain options baud:miners:asic:timeout:freq:regdata
--bitmain-temp Set bitmain target temperature
--bitmain-workdelay Set bitmain work delay (ms) 0-100
--bitmain-voltage Set bitmain voltage - S2/S3 only
--bitmain-dev Set bitmain device - S2 only
--bitmainbeeper Set bitmain beeper ringing
--bitmaintempoverctrl Set bitmain stop runing when temprerature is over 80 degree Celsius
--bxf-bits Set max BXF/HXF bits for overclocking (default: 54)
--bxf-temp-target Set target temperature for BXF/HXF devices (default: 82)
--bxm-bits Set BXM bits for overclocking (default: 54)
--btc-address Set bitcoin target address when solo mining to bitcoind
--btc-sig Set signature to add to coinbase when solo mining (optional)
--compac-freq Set GekkoScience Compac frequency in MHz, range 100-500 (default: 150.0)
--compact Use compact display without per device statistics
--debug|-D Enable debug output
--decode Decode 2nd pool stratum coinbase transactions (1st must be bitcoind) and exit
--disable-rejecting Automatically disable pools that continually reject shares
--dragonmint-t1-options Dragonmint T1 options ref_clk_khz:sys_clk_khz:spi_clk_khz:override_chip_num
--T1efficient Tune Dragonmint T1 per chain voltage and frequency for optimal efficiency
--T1noauto Disable Dragonmint T1 per chain auto voltage and frequency tuning
--T1performance Tune Dragonmint T1 per chain voltage and frequency for maximum performance
--T1fantarget Throttle T1 frequency to keep fan less than target fan speed (default: 100)
--T1Pll1 Set PLL Clock 1 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll2 Set PLL Clock 2 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll3 Set PLL Clock 3 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll4 Set PLL Clock 4 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll5 Set PLL Clock 5 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll6 Set PLL Clock 6 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll7 Set PLL Clock 7 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll8 Set PLL Clock 8 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Volt1 Dragonmint T1 set voltage 1 - VID overrides if set (390-425) (default: 404)
--T1Volt2 Dragonmint T1 set voltage 2 - VID overrides if set (390-425) (default: 404)
--T1Volt3 Dragonmint T1 set voltage 3 - VID overrides if set (390-425) (default: 404)
--T1Volt4 Dragonmint T1 set voltage 4 - VID overrides if set (390-425) (default: 404)
--T1Volt5 Dragonmint T1 set voltage 5 - VID overrides if set (390-425) (default: 404)
--T1Volt6 Dragonmint T1 set voltage 6 - VID overrides if set (390-425) (default: 404)
--T1Volt7 Dragonmint T1 set voltage 7 - VID overrides if set (390-425) (default: 404)
--T1Volt8 Dragonmint T1 set voltage 8 - VID overrides if set (390-425) (default: 404)
--T1VID1 Dragonmint T1 set VID 1 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID2 Dragonmint T1 set VID 2 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID3 Dragonmint T1 set VID 3 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID4 Dragonmint T1 set VID 4 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID5 Dragonmint T1 set VID 5 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID6 Dragonmint T1 set VID 6 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID7 Dragonmint T1 set VID 7 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID8 Dragonmint T1 set VID 8 in noauto - Overrides voltage if set (1-31) (default: 0)
--drillbit-options Set drillbit options :clock[:clock_divider][:voltage]
--expiry|-E Upper bound on how many seconds after getting work we consider a share from it stale (default: 120)
--failover-only Don't leak work to backup pools when primary pool is lagging
--fix-protocol Do not redirect to stratum protocol from GBT
--hfa-hash-clock Set hashfast clock speed (default: 550)
--hfa-fail-drop Set how many MHz to drop clockspeed each failure on an overlocked hashfast device (default: 10)
--hfa-fan Set fanspeed percentage for hashfast, single value or range (default: 10-85)
--hfa-name Set a unique name for a single hashfast device specified with --usb or the first device found
--hfa-noshed Disable hashfast dynamic core disabling feature
--hfa-options Set hashfast options name:clock (comma separated)
--hfa-temp-overheat Set the hashfast overheat throttling temperature (default: 95)
--hfa-temp-target Set the hashfast target temperature (0 to disable) (default: 88)
--hro-freq Set the hashratio clock frequency (default: 280)
--hotplug Seconds between hotplug checks (0 means never check)
--klondike-options Set klondike options clock:temptarget
--load-balance Change multipool strategy from failover to quota based balance
--log|-l Interval in seconds between log output (default: 5)
--lowmem Minimise caching of shares for low memory applications
--minion-chipreport Seconds to report chip 5min hashrate, range 0-100 (default: 0=disabled)
--minion-freq Set minion chip frequencies in MHz, single value or comma list, range 100-1400 (default: 1200)
--minion-freqchange Millisecond total time to do frequency changes (default: 1000)
--minion-freqpercent Percentage to use when starting up a chip (default: 70%)
--minion-idlecount Report when IdleCount is >0 or changes
--minion-ledcount Turn off led when more than this many chips below the ledlimit (default: 0)
--minion-ledlimit Turn off led when chips GHs are below this (default: 90)
--minion-noautofreq Disable automatic frequency adjustment
--minion-overheat Enable directly halting any chip when the status exceeds 100C
--minion-spidelay Add a delay in microseconds after each SPI I/O
--minion-spireset SPI regular reset: iNNN for I/O count or sNNN for seconds - 0 means none
--minion-spisleep Sleep time in milliseconds when doing an SPI reset
--minion-temp Set minion chip temperature threshold, single value or comma list, range 120-160 (default: 135C)
--monitor|-m Use custom pipe cmd for output messages
--nfu-bits Set nanofury bits for overclocking, range 32-63 (default: 50)
--net-delay Impose small delays in networking to not overload slow routers
--no-submit-stale Don't submit shares if they are detected as stale
--osm-led-mode Set LED mode for OneStringMiner devices (default: 4)
--pass|-p Password for bitcoin JSON-RPC server
--per-device-stats Force verbose mode and output per-device statistics
--protocol-dump|-P Verbose dump of protocol-level activities
--queue|-Q Minimum number of work items to have queued (0+) (default: 1)
--quiet|-q Disable logging output, display status and errors
--quota|-U quota;URL combination for server with load-balance strategy quotas
--real-quiet Disable all output
--rock-freq Set RockMiner frequency in MHz, range 200-400 (default: 270)
--rotate Change multipool strategy from failover to regularly rotate at N minutes (default: 0)
--round-robin Change multipool strategy from failover to round robin on failure
--scan-time|-s Upper bound on time spent scanning current work, in seconds (default: -1)
--sched-start Set a time of day in HH:MM to start mining (a once off without a stop time)
--sched-stop Set a time of day in HH:MM to stop mining (will quit without a start time)
--sharelog Append share log to file
--shares Quit after mining N shares (default: unlimited)
--socks-proxy Set socks4 proxy (host:port)
--suggest-diff Suggest miner difficulty for pool to user (default: none)
--syslog Use system log for output messages (default: standard error)
--temp-cutoff Temperature where a device will be automatically disabled, one value or comma separated list (default: 95)
--text-only|-T Disable ncurses formatted screen output
--url|-o URL for bitcoin JSON-RPC server
--usb USB device selection
--user|-u Username for bitcoin JSON-RPC server
--userpass|-O Username:Password pair for bitcoin JSON-RPC server
--verbose Log verbose output to stderr as well as status output
--widescreen Use extra wide display without toggling
--worktime Display extra work time debug information
Options for command line only:
--config|-c Load a JSON-format configuration file
See example.conf for an example configuration.
--default-config Specify the filename of the default config file
Loaded at start and used when saving without a name.
--help|-h Print this message
--ndevs|-n Display all USB devices and exit
--version|-V Display version and exit

Silent USB device (ASIC and FPGA) options:

--icarus-options Set specific FPGA board configurations - one set of values for all or comma separated
--icarus-timing Set how the Icarus timing is calculated - one setting/value for all or comma separated
--usb-dump (See FPGA-README)

See FGPA-README or ASIC-README for more information regarding these.

ASIC only options:

--anu-freq Set AntminerU1/2 frequency in MHz, range 125-500 (default: 250.0)
--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)
--avalon-auto Adjust avalon overclock frequency dynamically for best hashrate
--avalon-cutoff Set avalon overheat cut off temperature (default: 60)
--avalon-fan Set fanspeed percentage for avalon, single value or range (default: 20-100)
--avalon-freq Set frequency range for avalon-auto, single value or range
--avalon-options Set avalon options baud:miners:asic:timeout:freq:tech
--avalon-temp Set avalon target temperature (default: 50)
--avalon2-freq Set frequency range for Avalon2, single value or range
--avalon2-voltage Set Avalon2 core voltage, in millivolts
--avalon2-fan Set Avalon2 target fan speed
--avalon2-cutoff Set Avalon2 overheat cut off temperature (default: 88)
--avalon2-fixed-speed Set Avalon2 fan to fixed speed
--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: 445: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)
--avalon7-voltage Set Avalon7 default core voltage, in millivolts, step: 78
--avalon7-voltage-level Set Avalon7 default level of core voltage, range:[0, 15], step: 1
--avalon7-voltage-offset Set Avalon7 default offset of core voltage, range:[-2, 1], step: 1
--avalon7-freq Set Avalon7 default frequency, range:[24, 1404], step: 12, example: 500
--avalon7-freq-sel Set Avalon7 default frequency select, range:[0, 5], step: 1, example: 3 (default: 0)
--avalon7-fan Set Avalon7 target fan speed, range:[0, 100], step: 1, example: 0-100
--avalon7-temp Set Avalon7 target temperature, range:[0, 100] (default: 99)
--avalon7-polling-delay Set Avalon7 polling delay value (ms) (default: 20)
--avalon7-aucspeed Set AUC3 IIC bus speed (default: 400000)
--avalon7-aucxdelay Set AUC3 IIC xfer read delay, 4800 ~= 1ms (default: 19200)
--avalon7-smart-speed Set Avalon7 smart speed, range 0-1. 0 means Disable (default: 1)
--avalon7-th-pass Set A3212 th pass value (default: 162)
--avalon7-th-fail Set A3212 th fail value (default: 10921)
--avalon7-th-init Set A3212 th init value (default: 32767)
--avalon7-th-ms Set A3212 th ms value (default: 1)
--avalon7-th-timeout Set A3212 th timeout value (default: 0)
--avalon7-iic-detect Enable Avalon7 detect through iic controller
--avalon7-freqadj-time Set Avalon7 check interval when run in AVA7_FREQ_TEMPADJ_MODE (default: 60)
--avalon7-delta-temp Set Avalon7 delta temperature when reset freq in AVA7_FREQ_TEMPADJ_MODE (default: 0)
--avalon7-delta-freq Set Avalon7 delta freq when adjust freq in AVA7_FREQ_TEMPADJ_MODE (default: 100)
--avalon7-freqadj-temp Set Avalon7 check temperature when run into AVA7_FREQ_TEMPADJ_MODE (default: 104)
--avalon7-nonce-mask Set A3212 nonce mask, range 24-32. (default: 31)
--no-avalon7-asic-debug Disable A3212 debug.
--avalon8-voltage-level Set Avalon8 default level of core voltage, range:[0, 15], step: 1
--avalon8-voltage-level-offset Set Avalon8 default offset of core voltage level, range:[-2, 1], step: 1
--avalon8-freq Set Avalon8 default frequency, range:[25, 1200], step: 25, example: 800
--avalon8-freq-sel Set Avalon8 default frequency select, range:[0, 3], step: 1, example: 3 (default: 3)
--avalon8-fan Set Avalon8 target fan speed, range:[0, 100], step: 1, example: 0-100
--avalon8-temp Set Avalon8 target temperature, range:[0, 100] (default: 90)
--avalon8-polling-delay Set Avalon8 polling delay value (ms) (default: 20)
--avalon8-aucspeed Set AUC3 IIC bus speed (default: 400000)
--avalon8-aucxdelay Set AUC3 IIC xfer read delay, 4800 ~= 1ms (default: 19200)
--avalon8-smart-speed Set Avalon8 smart speed, range 0-1. 0 means Disable (default: 1)
--avalon8-th-pass Set A3210 th pass value (default: -1)
--avalon8-th-fail Set A3210 th fail value (default: -1)
--avalon8-th-init Set A3210 th init value (default: 32767)
--avalon8-th-ms Set A3210 th ms value (default: 5)
--avalon8-th-timeout Set A3210 th timeout value (default: 4294967295)
--avalon8-th-add Set A3210 th add value (default: 1)
--avalon8-iic-detect Enable Avalon8 detect through iic controller
--avalon8-nonce-mask Set A3210 nonce mask, range 24-32. (default: -1)
--avalon8-nonce-check Set A3210 nonce check, range 0-1. (default: 1)
--avalon8-roll-enable Set A3210 roll enable, range 0-1. (default: 1)
--avalon8-mux-l2h Set Avalon8 mux l2h, range 0-2. (default: 0)
--avalon8-mux-h2l Set Avalon8 mux h2l, range 0-1. (default: 1)
--avalon8-h2ltime0-spd Set Avalon8 h2ltime0 spd, range 0-255. (default: 3)
--avalon8-spdlow Set Avalon8 spdlow, range 0-3. (default: -1)
--avalon8-spdhigh Set Avalon8 spdhigh, range 0-3. (default: 3)
--avalon8-cinfo-asic Set Avalon8 cinfo asic index, range:[0, 25], step: 1
--avalon8-pid-p Set Avalon8 pid-p, range 0-9999. (default: 2)
--avalon8-pid-i Set Avalon8 pid-i, range 0-9999. (default: 5)
--avalon8-pid-d Set Avalon8 pid-d, range 0-9999. (default: 0)
--bab-options Set BaB options max:def:min:up:down:hz:delay:trf
--bflsc-overheat Set overheat temperature where BFLSC devices throttle, 0 to disable (default: 90)
--bitburner-fury-options Override avalon-options for BitBurner Fury boards baud:miners:asic:timeout:freq
--bitburner-fury-voltage Set BitBurner Fury core voltage, in millivolts
--bitburner-voltage Set BitBurner (Avalon) core voltage, in millivolts
--bitmine-a1-options :::
--bxf-temp-target Set target temperature for BXF devices (default: 82)
--bxm-bits Set BXM bits for overclocking (default: 50)
--compac-freq Set GekkoScience Compac frequency in MHz, range 100-500 (default: 150.0)
--dragonmint-t1-options Dragonmint T1 options ref_clk_khz:sys_clk_khz:spi_clk_khz:override_chip_num
--T1efficient Tune Dragonmint T1 per chain voltage and frequency for optimal efficiency
--T1noauto Disable Dragonmint T1 per chain auto voltage and frequency tuning
--T1performance Tune Dragonmint T1 per chain voltage and frequency for maximum performance
--T1fantarget Throttle T1 frequency to keep fan less than target fan speed (default: 100)
--T1Pll1 Set PLL Clock 1 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll2 Set PLL Clock 2 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll3 Set PLL Clock 3 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll4 Set PLL Clock 4 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll5 Set PLL Clock 5 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll6 Set PLL Clock 6 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll7 Set PLL Clock 7 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Pll8 Set PLL Clock 8 in Dragonmint T1 broad 1 chip (-1: 1000MHz, >0:Lookup PLL table) (default: 1332)
--T1Volt1 Dragonmint T1 set voltage 1 - VID overrides if set (390-425) (default: 404)
--T1Volt2 Dragonmint T1 set voltage 2 - VID overrides if set (390-425) (default: 404)
--T1Volt3 Dragonmint T1 set voltage 3 - VID overrides if set (390-425) (default: 404)
--T1Volt4 Dragonmint T1 set voltage 4 - VID overrides if set (390-425) (default: 404)
--T1Volt5 Dragonmint T1 set voltage 5 - VID overrides if set (390-425) (default: 404)
--T1Volt6 Dragonmint T1 set voltage 6 - VID overrides if set (390-425) (default: 404)
--T1Volt7 Dragonmint T1 set voltage 7 - VID overrides if set (390-425) (default: 404)
--T1Volt8 Dragonmint T1 set voltage 8 - VID overrides if set (390-425) (default: 404)
--T1VID1 Dragonmint T1 set VID 1 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID2 Dragonmint T1 set VID 2 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID3 Dragonmint T1 set VID 3 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID4 Dragonmint T1 set VID 4 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID5 Dragonmint T1 set VID 5 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID6 Dragonmint T1 set VID 6 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID7 Dragonmint T1 set VID 7 in noauto - Overrides voltage if set (1-31) (default: 0)
--T1VID8 Dragonmint T1 set VID 8 in noauto - Overrides voltage if set (1-31) (default: 0)
--hfa-hash-clock Set hashfast clock speed (default: 550)
--hfa-fail-drop Set how many MHz to drop clockspeed each failure on an overlocked hashfast device (default: 10)
--hfa-fan