Implement and document "-S noauto" to inhibit autoscanning without specifying a serial device
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
diff --git a/README b/README
index 6344846..680415c 100644
--- a/README
+++ b/README
@@ -205,10 +205,11 @@ FPGA mining boards(BitForce, Icarus) only options:
--scan-serial|-S <arg> Serial port to probe for FPGA mining device
By default, cgminer will scan for autodetected FPGAs unless at least one
- -S is specified. If you specify -S and still want cgminer to scan, you
- must also use "-S auto". Note that presently, autodetection only works
- on Linux, and might only detect one device depending on the version of
- udev being used.
+ -S is specified for that driver. If you specify -S and still want cgminer
+ to scan, you must also use "-S auto". If you want to prevent cgminer from
+ scanning without specifying a device, you can use "-S noauto". Note that
+ presently, autodetection only works on Linux, and might only detect one
+ device depending on the version of udev being used.
On linux <arg> is usually of the format /dev/ttyUSBn
On windows <arg> is usually of the format COMn
diff --git a/driver-bitforce.c b/driver-bitforce.c
index f93eb87..d7f7d8b 100644
--- a/driver-bitforce.c
+++ b/driver-bitforce.c
@@ -216,6 +216,9 @@ static void bitforce_detect()
s += 9;
if (!strcmp(s, "auto"))
autoscan = true;
+ else
+ if (!strcmp(s, "noauto"))
+ found = true;
else if (bitforce_detect_one(s)) {
string_elist_del(iter);
found = true;
diff --git a/driver-icarus.c b/driver-icarus.c
index 46c2c54..87c5fbc 100644
--- a/driver-icarus.c
+++ b/driver-icarus.c
@@ -246,7 +246,7 @@ static void icarus_detect()
s = iter->string;
if (!strncmp("icarus:", iter->string, 7))
s += 7;
- if (!strcmp(s, "auto"))
+ if (!strcmp(s, "auto") || !strcmp(s, "noauto"))
continue;
if (icarus_detect_one(s))
string_elist_del(iter);