Update documentation for icarus switch to USB
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
diff --git a/ASIC-README b/ASIC-README
index 8796a79..6341617 100644
--- a/ASIC-README
+++ b/ASIC-README
@@ -44,17 +44,12 @@ If your distribution does not have the plugdev group you can create it with:
sudo groupadd plugdev
In order for the BFL devices to instantly be owned by the plugdev group and
-accessible by anyone from the plugdev group you can either copy the file
+accessible by anyone from the plugdev group you can copy the file
"01-cgminer.rules" from the cgminer archive into the /etc/udev/rules.d
directory with the following command:
sudo cp 01-cgminer.rules /etc/udev/rules.d/
-Or you can manually create a file/add to a rules.d file with following rules
-(most users won't want to do this manually):
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
-ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
-
After this you can either manually restart udev and re-login, or more easily
just reboot.
diff --git a/FPGA-README b/FPGA-README
index 4dfed2a..98730b0 100644
--- a/FPGA-README
+++ b/FPGA-README
@@ -2,8 +2,8 @@
This README contains extended details about FPGA mining with cgminer
-For ModMinerQuad (MMQ) and BitForce (BFL)
------------------------------------------
+For ModMinerQuad (MMQ) BitForce (BFL) and Icarus (ICA, BLT, LLT, AMU, CMR)
+--------------------------------------------------------------------------
When mining on windows, the driver being used will determine if mining will work.
@@ -11,8 +11,6 @@ If the driver doesn't allow mining, you will get a "USB init," error message
i.e. one of:
open device failed, err %d, you need to install a Windows USB driver for the device
or
- kernel detach failed :(
-or
claim interface %d failed, err %d
The best solution for this is to use a tool called Zadig to set the driver:
@@ -32,19 +30,16 @@ with cgminer (not the libusbx version)
When mining on linux, but not using 'sudo' and not logged into 'root' you
may get a USB priviledge error (-3), so you may also need to do the following:
-Create /etc/udev/rules.d/01-cgminer.rules
-With:
- ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
- ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
+ sudo cp 01-cgminer.rules /etc/udev/rules.d/
And also:
sudo usermod -G plugdev -a `whoami`
-Then reboot ...
-
If your linux distro doesn't have the 'plugdev' group, you can create it like:
sudo groupadd plugdev
+Then reboot ...
+
-
There is a hidden option in cgminer to dump out a lot of information
@@ -53,8 +48,7 @@ problems:
--usb-dump 0
-It will only help if you have a working MMQ or BFL device attached to the
-computer
+It will only help if you have a working FPGA device listed above
ModMinerQuad (MMQ)
@@ -190,8 +184,8 @@ the MH/s value reported with the changed firmware - and the MH/s reported
will be less than the firmware speed since you lose work on every block change.
-Icarus (ICA)
-------------
+Icarus (ICA, BLT, LLT, AMU, CMR)
+--------------------------------
There are two hidden options in cgminer when Icarus support is compiled in:
@@ -245,8 +239,8 @@ scan hash time, for the first 5 nonce's or one minute (whichever is longer)
In 'default' or 'value' mode the 'constants' are calculated once at the start, based on the default
value or the value specified
-The optional additional =N specifies to set the default abort at N 1/10ths of a second, not the
-calculated value, which is 112 for 2.6316ns
+The optional additional =N specifies to set the default abort at N * 100ms, not the calculated
+value, which is ~112 for 2.6316ns
To determine the hash time value for a non Icarus Rev3 device or an Icarus Rev3 with a different
bitstream to the default one, use 'long' mode and give it at least a few hundred shares, or use
@@ -258,6 +252,9 @@ Icarus Rev3 requires and also is less than ~840MH/s and greater than 2MH/s
If an FPGA device does hash faster than ~840MH/s it should work correctly if you supply the
correct hash time nanoseconds value
+The Icarus code will automatically detect Icarus, Lancelot, AsicminerUSB and Cairnsmore1
+FPGA devices and set default settings to match those devices if you don't specify them
+
The timing code itself will affect the Icarus performance since it increases the delay after
work is completed or aborted until it starts again
The increase is, however, extremely small and the actual increase is reported with the
diff --git a/README b/README
index bda7fd8..84ca072 100644
--- a/README
+++ b/README
@@ -111,7 +111,7 @@ CGMiner specific configuration options:
--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 Board(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)
@@ -235,13 +235,14 @@ ASIC and FPGA mining boards (BFL ASIC, BitForce, Icarus, ModMiner, Ztex)
only options:
Cgminer will automatically find all of your BFL ASIC, BitForce FPGAs,
-ModMiner FPGAs or Ztex FPGAs
-The --usb option can restrict how many BFL ASIC, BitForce FPGAs or
-ModMiner FPGAs it finds:
+ModMiner FPGAs, Icarus bitstream FPGAs or Ztex FPGAs
+
+The --usb option can restrict how many BFL ASIC, BitForce FPGAs,
+ModMiner FPGAs or Icarus bitstream FPGAs it finds:
--usb 1:2,1:3,1:4,1:*
or
- --usb BAS:1,BFL:1,MMQ:0
+ --usb BAS:1,BFL:1,MMQ:0,ICA:0
or
--usb :10
@@ -260,15 +261,16 @@ This is useful if you unplug a device then plug it back in the same port,
it usually reappears with the same bus_number but a different device_address
You can see the list of all USB devices on linux with 'sudo lsusb'
-Cgminer will list the recognised USB devices with the '--usb-dump 0' option
+Cgminer will list the recognised USB devices with the '-n' option or the
+'--usb-dump 0' option
The '--usb-dump N' option with a value of N greater than 0 will dump a lot
of details about each recognised USB device
If you wish to see all USB devices, include the --usb-list-all option
The second version
- --usb BAS:1,BFL:1,MMQ:0
+ --usb BAS:1,BFL:1,MMQ:0,ICA:0
allows you to specify how many devices to choose based on each device
-driver cgminer has - there are currently 3 USB drivers: BAS, BFL & MMQ
+driver cgminer has - there are currently 4 USB drivers: BAS, BFL, MMQ & ICA
N.B. you can only specify which device driver to limit, not the type of
each device, e.g. with BAS:n you can limit how many BFL ASIC devices will
be checked, but you cannot limit the number of each type of BFL ASIC
@@ -283,28 +285,8 @@ not scan for any more
If one of the 10 devices stops working, hotplug - if enabled, as is default
- will scan normally again until it has 10 devices
+ --usb :0 will disable all USB I/O other than to initialse libusb
---scan-serial|-S <arg> Serial port to probe for Icarus mining device
-
-This option is only for Icarus bitstream FPGAs
-
-By default, cgminer will scan for autodetected Icarus unless at least one
--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
-(where n = the correct device number for the Icarus device)
-
-The official supplied binaries are compiled with support for all FPGAs.
-To force the code to only attempt detection with a specific driver,
-prepend the argument with the driver name followed by a colon.
-For example, "icarus:/dev/ttyUSB0" or using the short name: "ica:/dev/ttyUSB0"
-This option not longer matters since Icarus is the only serial-USB
-device that uses it
For other FPGA details see the FPGA-README
@@ -657,27 +639,6 @@ A: Cgminer currently supports 2 ASICs: Avalon and BitForce SC devices. They
are Application Specify Integrated Circuit devices and provide the highest
performance per unit power due to being dedicated to only one purpose.
-Q: How do I get my Icarus/Lancelot/Cairnsmore device to auto-recognise?
-A: On linux, if the /dev/ttyUSB* devices don't automatically appear, the only
-thing that needs to be done is to load the driver for them:
-Icarus: sudo modprobe pl2303 vendor=0x067b product=0x230
-Lancelot: sudo modprobe ftdi_sio vendor=0x0403 product=0x6001
-Cairnsmore: sudo modprobe ftdi_sio product=0x8350 vendor=0x0403
-On windows you must install the pl2303 or ftdi driver required for the device
-pl2303: http://prolificusa.com/pl-2303hx-drivers/
-ftdi: http://www.ftdichip.com/Drivers/VCP.htm
-
-Q: On linux I can see the /dev/ttyUSB* devices for my Icarus FPGAs, but
-cgminer can't mine on them
-A: Make sure you have the required priviledges to access the /dev/ttyUSB* devices:
- sudo ls -las /dev/ttyUSB*
-will give output like:
- 0 crw-rw---- 1 root dialout 188, 0 2012-09-11 13:49 /dev/ttyUSB0
-This means your account must have the group 'dialout' or root priviledges
-To permanently give your account the 'dialout' group:
- sudo usermod -G dialout -a `whoami`
-Then logout and back in again
-
Q: Can I mine scrypt with FPGAs or ASICs?
A: No.
diff --git a/cgminer.c b/cgminer.c
index 974496c..086b0d9 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -1089,7 +1089,7 @@ static struct opt_table opt_config_table[] = {
#ifdef USE_FPGA_SERIAL
OPT_WITH_ARG("--scan-serial|-S",
add_serial, NULL, NULL,
- "Serial port to probe for Icarus FPGA Mining device"),
+ "Serial port to probe for Avalon Mining device"),
#endif
OPT_WITH_ARG("--scan-time|-s",
set_int_0_to_9999, opt_show_intval, &opt_scantime,
diff --git a/driver-ztex.c b/driver-ztex.c
index 2ab4a4d..0938726 100644
--- a/driver-ztex.c
+++ b/driver-ztex.c
@@ -7,7 +7,7 @@
* Copyright (C) 2009-2011 ZTEX GmbH.
* http://www.ztex.de
*
- * This work is based upon the icarus.c worker which is
+ * This work is based upon the icarus.c worker which was
* Copyright 2012 Luke Dashjr
* Copyright 2012 Xiangfu <xiangfu@openmobilefree.com>
*