SUPPORTED DEVICES

Currently supported ASIC devices include Avalon, Bitfountain's Block Erupter
series (both USB and blades), a large variety of Bitfury-based miners, and
Butterfly Labs' SC range of devices.


AVALON
------

Currently, Avalon boards are supported only by connecting them directly (or via
a hub) to a regular PC running BFGMiner. It is also possible to install the
OpenWrt packages of BFGMiner to the Avalon's embedded controller, but this is
not a simple task due to its lack of available flash space.

To use the Avalon from a regular PC, you will need to specify two options:
First, add the -S option specifying the avalon driver specifically. For example,

-S avalon:\\.\COM9

Next, use the --avalon-options copying the command as used by the internal
router used by the Avalon. eg:

--avalon-options 115200:24:10:45:282

The values are baud : miners : asic count : timeout : frequency.

Baud:
The device is pretty much hard coded to emulate 115200 baud so you shouldn't
change this.

Miners:
Most Avalons are 3 module devices, which come to 24 miners. 4 module devices
would use 32 here.

Asic count:
Virtually all have 10, so don't change this.

Timeout:
This is how long the device will work on a work item before accepting new work
to replace it. It should be changed according to the frequency (last setting).
It is possible to set this a little lower if you are trying to tune for short
block mining (eg p2pool) but much lower and the device will start creating
duplicate shares.

Sample settings for valid different frequencies (last 2 values):
34:375
36:350
39:325
43:300
45:282
47:270
50:256

Frequency:
This is the clock speed of the devices. Only specific values work, 256, 270,
282 (default), 300, 325, 350 and 375.

If you use the full curses based interface with Avalons you will get this
information:
AVA 0: 22/ 46C  60%/2400R

The values are:
ambient temp / highest device temp  set fan % / lowest detected fan RPM.

Use the API for more detailed information than this.


BFSB, MEGABIGPOWER, AND METABANK BITFURY BOARDS
-----------------------------------------------

Both BFSB and MegaBigPower (V2 only at this time) boards are supported with the
"bfsb" driver. Metabank boards are supported with the "metabank" driver. These
drivers are not enabled by default, since they must be run on a Raspberry Pi in
a specific hardware configuration with the boards. To enable them, you must
build with --enable-bfsb or --enable-metabank. Do not try to use these drivers
without the manufacturer-supported hardware configuration! Also note that these
drivers do not properly support thermal shutdown at this time, and without
sufficient cooling you may destroy your board or chips!

To start BFGMiner, ensure your Raspberry Pi's SPI is enabled (you can run the
raspi-config utility for this). For Metabank boards, you must also load the I2C
drivers (do not try to modprobe both with a single command; it won't work):
    modprobe i2c-bcm2708
    modprobe i2c-dev
Then you must run BFGMiner as root, with the proper driver selected.
For example:
    sudo bfgminer -S bfsb:auto


BIG PICTURE MINING BITFURY USB
------------------------------

These miners are sensitive to unexpected data. Usually you can re-plug them to
reset to a known-good initialisation state. To ensure they are properly detected
and used with BFGMiner, you must specify -S bigpic:all (or equivalent) options
prior to any other -S options (which might probe the device and confuse it).


BLOCK ERUPTER BLADE
-------------------

Blades communicate over Ethernet using the old but simple getwork mining
protocol. If you build BFGMiner with libmicrohttpd, you can have it work with
one or more blades. First, start BFGMiner with the --http-port option. For
example:
    bfgminer --http-port 8330
Then configure your blade to connect to your BFGMiner instance on the same port,
with a unique username per blade. It will then show up as a SGW device and
should work more or less like any other miner.


BLOCK ERUPTER USB
-----------------

These will autodetect if supported by the device; otherwise, you need to use
the '--scan-serial erupter:<device>' option to tell BFGMiner what device to
probe; if you know you have no other serial devices, or only ones that can
tolerate garbage, you can use '--scan-serial erupter:all' to probe all serial
ports. They communicate with the Icarus protocol, which has some additional
options in README.FPGA


---

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.

Luke-Jr <luke-jr+bfgminer@utopios.org>
1QATWksNFGeUJCWBrN4g6hGM178Lovm7Wh
