From c69a130dc1ab0bab81d2ef2c95611b09e411a826 Mon Sep 17 00:00:00 2001 From: Roy Badami Date: Sat, 19 Oct 2013 18:42:20 +0100 Subject: [PATCH 1/7] Improvements to support for BitBurner boards --bitburner-fury-options allows avalon-options to be overridden for BitBurner Fury Boards, facilitating simultanous use of BitBurner XX and BitBurner Fury boards More sensible defaults for BitBurner boards, so cgminer should do something sensible without any command line args --- ASIC-README | 8 ++++++-- README | 4 +++- cgminer.c | 11 +++++++++++ driver-avalon.c | 29 ++++++++++++++++++++++------- driver-avalon.h | 6 ++++++ miner.h | 1 + 6 files changed, 49 insertions(+), 10 deletions(-) diff --git a/ASIC-README b/ASIC-README index 55b76d83..9ac56c7e 100644 --- a/ASIC-README +++ b/ASIC-README @@ -102,7 +102,9 @@ ASIC SPECIFIC COMMANDS --avalon-options Set avalon options baud:miners:asic:timeout:freq --avalon-temp Set avalon target temperature (default: 50) --bflsc-overheat Set overheat temperature where BFLSC devices throttle, 0 to disable (default: 90) ---bitburner-voltage Set BitBurner core voltage, in millivolts +--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 --klondike-options Set klondike options clock:temp1:temp2:fan @@ -126,7 +128,9 @@ Avalon commands: --avalon-freq Set frequency range for avalon-auto, single value or range --avalon-options Set avalon options baud:miners:asic:timeout:freq --avalon-temp Set avalon target temperature (default: 50) ---bitburner-voltage Set BitBurner core voltage, in millivolts +--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 Avalon auto will enable dynamic overclocking gradually increasing and diff --git a/README b/README index 5c739912..832d424e 100644 --- a/README +++ b/README @@ -220,7 +220,9 @@ ASIC only options: --avalon-options Set avalon options baud:miners:asic:timeout:freq --avalon-temp Set avalon target temperature (default: 50) --bflsc-overheat Set overheat temperature where BFLSC devices throttle, 0 to disable (default: 90) ---bitburner-voltage Set BitBurner core voltage, in millivolts +--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 See ASIC-README for more information regarding these. diff --git a/cgminer.c b/cgminer.c index 336377ca..1a6a07db 100644 --- a/cgminer.c +++ b/cgminer.c @@ -166,6 +166,7 @@ char *opt_icarus_timing = NULL; bool opt_worktime; #ifdef USE_AVALON char *opt_avalon_options = NULL; +char *opt_bitburner_fury_options = NULL; #endif #ifdef USE_KLONDIKE char *opt_klondike_options = NULL; @@ -1035,6 +1036,13 @@ static char *set_avalon_options(const char *arg) return NULL; } + +static char *set_bitburner_fury_options(const char *arg) +{ + opt_set_charp(arg, &opt_bitburner_fury_options); + + return NULL; +} #endif #ifdef USE_KLONDIKE @@ -1254,6 +1262,9 @@ static struct opt_table opt_config_table[] = { OPT_WITH_ARG("--bitburner-fury-voltage", opt_set_intval, NULL, &opt_bitburner_fury_core_voltage, "Set BitBurner Fury core voltage, in millivolts"), + OPT_WITH_ARG("--bitburner-fury-options", + set_bitburner_fury_options, NULL, NULL, + "Override avalon-options for BitBurner Fury boards baud:miners:asic:timeout:freq"), #endif #ifdef USE_KLONDIKE OPT_WITH_ARG("--klondike-options", diff --git a/driver-avalon.c b/driver-avalon.c index 09e6dfa2..dd73316c 100644 --- a/driver-avalon.c +++ b/driver-avalon.c @@ -53,6 +53,7 @@ int opt_bitburner_fury_core_voltage = BITBURNER_FURY_DEFAULT_CORE_VOLTAGE; bool opt_avalon_auto; static int option_offset = -1; +static int bbf_option_offset = -1; static int avalon_init_task(struct avalon_task *at, uint8_t reset, uint8_t ff, uint8_t fan, @@ -400,7 +401,7 @@ static int avalon_calc_timeout(int frequency) } static bool get_options(int this_option_offset, int *baud, int *miner_count, - int *asic_count, int *timeout, int *frequency) + int *asic_count, int *timeout, int *frequency, char *options) { char buf[BUFSIZ+1]; char *ptr, *comma, *colon, *colon2, *colon3, *colon4; @@ -408,10 +409,10 @@ static bool get_options(int this_option_offset, int *baud, int *miner_count, size_t max; int i, tmp; - if (opt_avalon_options == NULL) + if (options == NULL) buf[0] = '\0'; else { - ptr = opt_avalon_options; + ptr = options; for (i = 0; i < this_option_offset; i++) { comma = strchr(ptr, ','); if (comma == NULL) @@ -754,7 +755,7 @@ static void bitburner_get_version(struct cgpu_info *avalon) static bool avalon_detect_one(libusb_device *dev, struct usb_find_devices *found) { int baud, miner_count, asic_count, timeout, frequency; - int this_option_offset = ++option_offset; + int this_option_offset; struct avalon_info *info; struct cgpu_info *avalon; bool configured; @@ -768,12 +769,14 @@ static bool avalon_detect_one(libusb_device *dev, struct usb_find_devices *found timeout = AVALON_DEFAULT_TIMEOUT; frequency = AVALON_DEFAULT_FREQUENCY; - configured = get_options(this_option_offset, &baud, &miner_count, - &asic_count, &timeout, &frequency); - if (!usb_init(avalon, dev, found)) goto shin; + this_option_offset = usb_ident(avalon) == IDENT_BBF ? ++bbf_option_offset : ++option_offset; + configured = get_options(this_option_offset, &baud, &miner_count, + &asic_count, &timeout, &frequency, + (usb_ident(avalon) == IDENT_BBF && opt_bitburner_fury_options != NULL) ? opt_bitburner_fury_options : opt_avalon_options); + /* Even though this is an FTDI type chip, we want to do the parsing * all ourselves so set it to std usb type */ avalon->usbdev->usb_type = USB_TYPE_STD; @@ -794,6 +797,18 @@ static bool avalon_detect_one(libusb_device *dev, struct usb_find_devices *found info->asic_count = asic_count; info->timeout = timeout; info->frequency = frequency; + } else if (usb_ident(avalon) == IDENT_BTB) { + info->baud = AVALON_IO_SPEED; + info->miner_count = BITBURNER_XX_DEFAULT_MINER_NUM; + info->asic_count = BITBURNER_DEFAULT_ASIC_NUM; + info->timeout = AVALON_DEFAULT_TIMEOUT; + info->frequency = AVALON_DEFAULT_FREQUENCY; + } else if (usb_ident(avalon) == IDENT_BBF) { + info->baud = AVALON_IO_SPEED; + info->miner_count = BITBURNER_FURY_DEFAULT_MINER_NUM; + info->asic_count = BITBURNER_DEFAULT_ASIC_NUM; + info->timeout = BITBURNER_FURY_DEFAULT_TIMEOUT; + info->frequency = BITBURNER_FURY_DEFAULT_FREQUENCY; } else { info->baud = AVALON_IO_SPEED; info->miner_count = AVALON_DEFAULT_MINER_NUM; diff --git a/driver-avalon.h b/driver-avalon.h index e506388e..34ea1334 100644 --- a/driver-avalon.h +++ b/driver-avalon.h @@ -55,6 +55,12 @@ #define AVALON_MAX_MINER_NUM 0x100 #define AVALON_DEFAULT_ASIC_NUM 0xA +#define BITBURNER_XX_DEFAULT_MINER_NUM 16 +#define BITBURNER_FURY_DEFAULT_MINER_NUM 128 +#define BITBURNER_DEFAULT_ASIC_NUM 10 +#define BITBURNER_FURY_DEFAULT_FREQUENCY 256 +#define BITBURNER_FURY_DEFAULT_TIMEOUT 50 + #define AVALON_AUTO_CYCLE 1024 #define AVALON_FTDI_READSIZE 510 diff --git a/miner.h b/miner.h index 915d7f87..2d5f74ed 100644 --- a/miner.h +++ b/miner.h @@ -999,6 +999,7 @@ extern char *opt_icarus_timing; extern bool opt_worktime; #ifdef USE_AVALON extern char *opt_avalon_options; +extern char *opt_bitburner_fury_options; #endif #ifdef USE_KLONDIKE extern char *opt_klondike_options; From 5d6167700a685fbe2e7772785ddeea04d08d30b4 Mon Sep 17 00:00:00 2001 From: Roy Badami Date: Sun, 20 Oct 2013 00:54:15 +0100 Subject: [PATCH 2/7] Code cleanup and improved documentation --- ASIC-README | 67 ++++++++++++++++++++++++++++++++++++++++++++----- driver-avalon.c | 31 ++++++++++++----------- driver-avalon.h | 3 ++- 3 files changed, 79 insertions(+), 22 deletions(-) diff --git a/ASIC-README b/ASIC-README index 9ac56c7e..a56666cb 100644 --- a/ASIC-README +++ b/ASIC-README @@ -108,7 +108,7 @@ ASIC SPECIFIC COMMANDS --klondike-options Set klondike options clock:temp1:temp2:fan -AVALON DEVICES +AVALON AND BITBURNER DEVICES Currently all known Avalon devices come with their own operating system and a preinstalled version of cgminer as part of the flash firmware, based on the @@ -120,6 +120,9 @@ command, and adjust its fan control-temperature relationship with avalon-temp. By default the avalon will also cut off when its temperature reaches 60 degrees. +All current BitBurner devices (BitBurner X, BitBurner XX and BitBurner Fury) +emulate Avalon devices, whether or not they use Avalon chips. + Avalon commands: --avalon-auto Adjust avalon overclock frequency dynamically for best hashrate @@ -181,8 +184,15 @@ Miners: Most Avalons are 3 module devices, which come to 24 miners. 4 module devices would use 32 here. +For BitBurner X and BitBurner XX devices you should use twice the number of +boards in the stack. e.g. for a two-board stack you would use 4. For +BitBurner Fury devices you should use the total number of BitFury chips in the +stack (i.e. 16 times the number of boards). e.g. for a two-board stack you +would use 32. + Asic count: -Virtually all have 10, so don't change this. +Virtually all have 10, so don't change this. BitBurner devices use 10 here +even if the boards have some other number of ASICs. Timeout: This is how long the device will work on a work item before accepting new work @@ -202,16 +212,61 @@ Sample settings for valid different frequencies (last 2 values): 50:256 Frequency: -This is the clock speed of the devices. Only specific values work, 256, 270, -282 (default), 300, 325, 350 and 375. +This is the clock speed of the devices. For Avalon devices, only specific +values work, 256, 270, 282 (default), 300, 325, 350 and 375. For BitBurner +devices, other values can be used. Note that setting a value with an asterisk next to it will be using your avalon outside its spec and you do so at your own risk. +The default frequency for BitBurner X and BitBurner XX boards is 282. The +default frequency for BitBurner Fury boards is 256. Overclocking is +possible - please consult the product documentation and/or manufacturer for +information on safe values. Values outside this range are used at your own +risk. Underclocking is also possible, at least with the X and XX boards. + +eg: +--bitburner-fury-options Override avalon-options for BitBurner Fury boards baud:miners:asic:timeout:freq + +This option takes the same format as --avalon-options. When specified, it +will be used for BitBurner Fury boards in preference to the values specified +in --avalon-options. (If not specified, BitBurner Fury boards will be +controlled by the values used in --avalon options.) See --avalon-options for +a detailed description of the fields. + +This option is particularly useful when using a mixture of different BitBurner +devices as BitBurner Fury devices generally require significantly different +clock frequencies from Avalon-based devices. This option is only available +for boards with recent firmware that are recognized by cgminer as BBF. + eg: ---bitburner-voltage Set BitBurner core voltage, in millivolts +--bitburner-fury-voltage Set BitBurner Fury core voltage, in millivolts + +Sets the core voltage for the BitBurner Fury boards. The default value is +900. Overvolting is possible - please consult the product documentation +and/or manufaturer about the safe range of values. Values outside this range +are used at your own risk. + +This option is only available for boards with recent firmware that are +recognized by cgminer as BBF. For boards recognized as BTB, see +--bitburner-voltage + +eg: +--bitburner-voltage Set BitBurner (Avalon) core voltage, in millivolts + +Sets the core voltage for the Avalon-based BitBurner X and BitBurner XX +boards. The default value is 1200. Overvolting and undervolting is +possible - please consult the product documentation and/or the manufacturer +for information about the safe range. Values outside this range are used at +your own risk. + +Older BitBurner Fury firmware emulates a BitBurner XX board and is identified +by cgminer as BTB. On these devices, --bitburner-voltage is used to control +the voltage of the BitBurner Fury board. The actual core voltage will be +300mV less than the requested voltage, so to run a BitBurner Fury board at +950mV use --bitburner-voltage 1250. The default value of 1200 therefore +corresponds to the default core voltage of 900mV. -Self evident. If you use the full curses based interface with Avalons you will get this information: diff --git a/driver-avalon.c b/driver-avalon.c index dd73316c..98897fbb 100644 --- a/driver-avalon.c +++ b/driver-avalon.c @@ -797,24 +797,25 @@ static bool avalon_detect_one(libusb_device *dev, struct usb_find_devices *found info->asic_count = asic_count; info->timeout = timeout; info->frequency = frequency; - } else if (usb_ident(avalon) == IDENT_BTB) { - info->baud = AVALON_IO_SPEED; - info->miner_count = BITBURNER_XX_DEFAULT_MINER_NUM; - info->asic_count = BITBURNER_DEFAULT_ASIC_NUM; - info->timeout = AVALON_DEFAULT_TIMEOUT; - info->frequency = AVALON_DEFAULT_FREQUENCY; - } else if (usb_ident(avalon) == IDENT_BBF) { - info->baud = AVALON_IO_SPEED; - info->miner_count = BITBURNER_FURY_DEFAULT_MINER_NUM; - info->asic_count = BITBURNER_DEFAULT_ASIC_NUM; - info->timeout = BITBURNER_FURY_DEFAULT_TIMEOUT; - info->frequency = BITBURNER_FURY_DEFAULT_FREQUENCY; } else { info->baud = AVALON_IO_SPEED; - info->miner_count = AVALON_DEFAULT_MINER_NUM; info->asic_count = AVALON_DEFAULT_ASIC_NUM; - info->timeout = AVALON_DEFAULT_TIMEOUT; - info->frequency = AVALON_DEFAULT_FREQUENCY; + switch (usb_ident(avalon)) { + case IDENT_BTB: + info->miner_count = BITBURNER_XX_DEFAULT_MINER_NUM; + info->timeout = AVALON_DEFAULT_TIMEOUT; + info->frequency = AVALON_DEFAULT_FREQUENCY; + break; + case IDENT_BBF: + info->miner_count = BITBURNER_FURY_DEFAULT_MINER_NUM; + info->timeout = BITBURNER_FURY_DEFAULT_TIMEOUT; + info->frequency = BITBURNER_FURY_DEFAULT_FREQUENCY; + break; + default: + info->miner_count = AVALON_DEFAULT_MINER_NUM; + info->timeout = AVALON_DEFAULT_TIMEOUT; + info->frequency = AVALON_DEFAULT_FREQUENCY; + } } info->fan_pwm = AVALON_DEFAULT_FAN_MIN_PWM; diff --git a/driver-avalon.h b/driver-avalon.h index 34ea1334..1e985dbd 100644 --- a/driver-avalon.h +++ b/driver-avalon.h @@ -55,9 +55,10 @@ #define AVALON_MAX_MINER_NUM 0x100 #define AVALON_DEFAULT_ASIC_NUM 0xA +/* Default values for *_MINER_NUM are for a full stack of 8 boards, but they + will work acceptably for smaller stacks, too */ #define BITBURNER_XX_DEFAULT_MINER_NUM 16 #define BITBURNER_FURY_DEFAULT_MINER_NUM 128 -#define BITBURNER_DEFAULT_ASIC_NUM 10 #define BITBURNER_FURY_DEFAULT_FREQUENCY 256 #define BITBURNER_FURY_DEFAULT_TIMEOUT 50 From 8795fbc2c608494035cc8cd8bc3160751e9fb427 Mon Sep 17 00:00:00 2001 From: Roy Badami Date: Thu, 24 Oct 2013 22:45:51 +0100 Subject: [PATCH 3/7] Remove modified Bitburner avalon defaults - I was mistaken about maximum stack size --- driver-avalon.c | 5 ----- driver-avalon.h | 5 ++--- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/driver-avalon.c b/driver-avalon.c index 98897fbb..75cd06ee 100644 --- a/driver-avalon.c +++ b/driver-avalon.c @@ -801,11 +801,6 @@ static bool avalon_detect_one(libusb_device *dev, struct usb_find_devices *found info->baud = AVALON_IO_SPEED; info->asic_count = AVALON_DEFAULT_ASIC_NUM; switch (usb_ident(avalon)) { - case IDENT_BTB: - info->miner_count = BITBURNER_XX_DEFAULT_MINER_NUM; - info->timeout = AVALON_DEFAULT_TIMEOUT; - info->frequency = AVALON_DEFAULT_FREQUENCY; - break; case IDENT_BBF: info->miner_count = BITBURNER_FURY_DEFAULT_MINER_NUM; info->timeout = BITBURNER_FURY_DEFAULT_TIMEOUT; diff --git a/driver-avalon.h b/driver-avalon.h index 1e985dbd..063fb68b 100644 --- a/driver-avalon.h +++ b/driver-avalon.h @@ -55,9 +55,8 @@ #define AVALON_MAX_MINER_NUM 0x100 #define AVALON_DEFAULT_ASIC_NUM 0xA -/* Default values for *_MINER_NUM are for a full stack of 8 boards, but they - will work acceptably for smaller stacks, too */ -#define BITBURNER_XX_DEFAULT_MINER_NUM 16 +/* Default number of miners for Bitburner Fury is for a stack of 8 boards, + but it will work acceptably for smaller stacks, too */ #define BITBURNER_FURY_DEFAULT_MINER_NUM 128 #define BITBURNER_FURY_DEFAULT_FREQUENCY 256 #define BITBURNER_FURY_DEFAULT_TIMEOUT 50 From a95dfb14977c8996586c9b6ef287cfb8f0449dc5 Mon Sep 17 00:00:00 2001 From: Kano Date: Fri, 25 Oct 2013 23:18:15 +1100 Subject: [PATCH 4/7] klondike - fix uninitialised dev bug --- driver-klondike.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/driver-klondike.c b/driver-klondike.c index 19965a40..dcdd671c 100644 --- a/driver-klondike.c +++ b/driver-klondike.c @@ -968,10 +968,9 @@ static void *klondike_get_replies(void *userdata) // We can't check this until it's initialised if (klninfo->initialised) { - wr_lock(&(klninfo->stat_lock)); + rd_lock(&(klninfo->stat_lock)); slaves = klninfo->status[0].kline.ws.slavecount; - klninfo->jobque[dev].late_update_sequential = 0; - wr_unlock(&(klninfo->stat_lock)); + rd_unlock(&(klninfo->stat_lock)); if (kitem->kline.hd.dev > slaves) { applog(LOG_ERR, "%s%i: reply [%c] has invalid dev=%d (max=%d) using 0", @@ -979,7 +978,13 @@ static void *klondike_get_replies(void *userdata) (char)(kitem->kline.hd.cmd), (int)(kitem->kline.hd.dev), slaves); + /* TODO: this is rather problematic if there are slaves + * however without slaves - it should always be zero */ kitem->kline.hd.dev = 0; + } else { + wr_lock(&(klninfo->stat_lock)); + klninfo->jobque[kitem->kline.hd.dev].late_update_sequential = 0; + wr_unlock(&(klninfo->stat_lock)); } } From 1da5592f257f804ddc70ea44471f8e71069d7089 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 26 Oct 2013 14:19:26 +1100 Subject: [PATCH 5/7] Update NEWS --- NEWS | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/NEWS b/NEWS index f4d8f5bd..42af7c61 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,69 @@ +Version 3.6.5 - 26th October 2013 + +- klondike - fix uninitialised dev bug +- Adjust the binary ntime data in submit_noffset_nonce even when there is no hex +ntime string for eg. gbt. +- Put an entry into the work struct telling drivers how much they can roll the +ntime themselves. +- Only set libusb cancellable status if the transfer succeeds. +- Remove the applog on miner threads dying to prevent deadlocks on exit. +- Do one extra guaranteed libusb event handling before testing if there are any +pending async usb transfers. +- Use a linked list for all usb transfers instead of just cancellable ones. +- Provide a mechanism for informing drivers of updated work templates for +stratum and gbt mining. +- Add cancellable transfers correctly to the ct_list +- Check for presence of thr in icarus get nonce for startup nonce testing to +work. +- Use cancellable usb transfers in the icarus driver to avoid having to loop and +poll when waiting for a response and to speed up work restart response time. +- Add a usb_read_ii_timeout_cancellable wrapper +- Add usb transfer cancellation on shutdown and documentation regarding where +cancellable transfers are suitable. +- Use cancellable transfers on bitfury device. +- Cancel cancellable usb transfers on work restart messages. +- Don't bother having a separate cancellable transfer struct for usb transfers, +simply include the list in the usb_transfer struct. +- Add wrappers for usb_read_cancellable and usb_read_timeout_cancellable +- Specifically set the cancellable state for it to not be uninitialised in the +usb transfer struct. +- Alter the usb cancellable list only under cgusb_fd_lock write lock. +- Pass the cancellable option to _usb_read options to decide on whether to add +usb transfers to the list of cancellable transfers. +- Create a linked list of potentially cancellable usb transfers. +- Don't attempt to disable curses or print a summary during an app restart to +prevent deadlocks. +- Keep the libusb event handle polling thread active until there are no async +usb transfers in progress. +- Keep a global counter of how many async usb transfers are in place. +- Perform libusb_submit_transfer under the write variant of cgusb_fd_lock +- klondike - error condition handling +- Avoid entering static libusb directory if --with-system-libusb is enabled. +- Minor opencl build corrections. +- Enable dynamic linking against system libusb --with-system-libusb +- Modify Makefile to only include opencl related code when configured in. +- Convert opencl to need to be explicitly enabled during build with +--enable-opencl +- Implement a cglock_destroy function. +- Implement a rwlock_destroy function. +- Implement a mutex_destroy function. +- Add usb command name to critical libusb error reporting. +- Use windows' own higher resolution time and handlers allowing us to have +higher precision absolute timeouts. +- Fix lldiv error in windows cgminer_t calculation. +- miner.php correct sort gen field names largest to smallest +- api ... the code related to device elapsed +- api add device elapsed since hotplug devices Elapsed is less than cgminer +Elapsed +- Drop usb buffering message to debug logging level. +- Do the ntime binary modification to the work struct when submitting an ntime +offset nonce within submit_noffset_nonce +- Code cleanup and improved documentation +- Improvements to support for BitBurner boards +- Convert libusb transfer errors to regular libusb error messages to allow for +accurate message reporting. + + Version 3.6.4 - 18th October 2013 - Fixing the memory leak for remaining semaphores means we can go back to using From 5b1d46ea1bda2e7e802e51706df1ab1f4c4c6586 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 26 Oct 2013 14:23:20 +1100 Subject: [PATCH 6/7] Update README for build options. --- README | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/README b/README index 832d424e..0a96dee1 100644 --- a/README +++ b/README @@ -106,17 +106,21 @@ If building from git: CGMiner specific configuration options: - --disable-opencl Override detection and disable building with opencl - --disable-adl Override detection and disable building with adl - --enable-bflsc Compile support for BFL ASICs (default disabled) - --enable-bitforce Compile support for BitForce FPGAs(default disabled) - --enable-icarus Compile support for Icarus bitstream FPGAs(default disabled) - --enable-modminer Compile support for ModMiner FPGAs(default disabled) - --enable-ztex Compile support for Ztex Board(default disabled) - --enable-avalon Compile support for Avalon (default disabled) - --enable-klondike Compile support for Klondike (default disabled) - --enable-scrypt Compile support for scrypt litecoin mining (default disabled) - --without-curses Compile support for curses TUI (default enabled) + --enable-opencl Enable support for GPU mining with opencl + --disable-adl Override detection and disable building with adl + --enable-scrypt Compile support for scrypt litecoin mining (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-icarus Compile support for Icarus (default disabled) + --enable-avalon Compile support for Avalon (default disabled) + --enable-klondike Compile support for Klondike (default disabled) + --enable-modminer Compile support for ModMiner FPGAs(default disabled) + --without-curses Compile support for curses TUI (default enabled) + --with-system-libusb Compile against dynamic system libusb (default use + included static libusb) Basic *nix build instructions: To actually build: From 47554f86aac0236539b6a0476346593a8461c987 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 26 Oct 2013 14:51:01 +1100 Subject: [PATCH 7/7] Bump version to 3.6.5 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index f6fa7859..ed9cf905 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [3]) m4_define([v_min], [6]) -m4_define([v_mic], [4]) +m4_define([v_mic], [5]) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_ver], [v_maj.v_min.v_mic]) m4_define([lt_rev], m4_eval(v_maj + v_min))