Académique Documents
Professionnel Documents
Culture Documents
ANTMINER S1-S5
--------------
BFGMiner must be compiled for and run on the embedded controller. When
configuring, use the --enable-bitmain option to build the 'bitmain' driver used
to interface with this hardware. None of the device attributes are autodetected
at this time, so you must also tell BFGMiner this at runtime with a series of
--set options. For example:
Note that reg_data is optional for S4 and S5 and will be calculated from clock
if not provided.
The meaning of each of these options are not documented individually at this
time, but can be determined from the stock cgminer's options. You want to look
at the "bitmain-options" from the command line, and the "bitmain-freq" and
"bitmain-voltage" in the /config/cgminer.conf file.
In this case, they were:
Notice how there are duplicate settings for timeout, clock, reg_data, and
voltage. You can probably use either one, but the 350 MHz clock performs
better than the 200 MHz clock. You shouldn't mix and match the
timeout/clock/reg_data combinations, however!
Additionally, since the controllers are underpowered for these devices, you may
need to experiment with a good queue setting to control how much work BFGMiner
tries to pre-prepare for it. A reasonable starting place is:
--queue 8192
ALCHEMIST
---------
This driver requires the latest FPGA firmware flashed on the blades (stock
firmware has major bug and won't run properly with this driver). For
instructions, please visit: https://litecointalk.org/?topic=27370
The driver has been designed to run each of the 8 blades inside an AlcheMist
256 as a separate miner. To detect all the blades you need to manually probe it
with the following serial ports:
The driver supports custom frequency settings in the range of 200-400 MHz in 16
MHz increments (driver will default to 352 MHz if these conditions are not met).
Frequency is set with the following --set option:
--set ALC:clock=336
You can also set the frequency per board by specifying the tty port:
--set ALC@/dev/ttyO3:clock=352
Driver also supports running blades off a Raspberry Pi directly or with USB
Dongles. For a single blade off a raspberry Pi make sure you have configured GPIO
pin 25 correctly (see below) and scan via
-S ALC:/dev/ttyAMA0
for multiple blades using USB Dongles connected to a pi make sure the reset pin on
the alcheminer board is connected to the RTS/DTR pin on the dongle board, and
option --set
ALC:mode=1 added to startup command line.
ANTMINER U3
-----------
The U3 does not support autodetection, so you will want to use --scan-serial to
manually probe it. For example, to scan all devices, you can use:
Additionally, for optimal performance you will need to set voltage, clock, and
timing. Voltage format for the U3 is not documented by the manufacturer, thus
must be provided as hexadecimal configuration codes. Timing is provided in the
number of nanoseconds each hash takes at the given configuration. A
known-working configuration is:
--set antminer@\\.\COM10:voltage=xNNNN
or
--set antminer@/dev/ttyUSB1:voltage=xNNNN
Another option is to program the CP2102 chip so they have unique serial numbers;
this method would avoid problems with the device showing up on different tty/COM
locations after reboot/hotplug:
AVALON 1
--------
Currently, Avalon boards are best supported 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
AVALON 2/3
----------
Avalon 2/3 units communicate with a UART, usually attached to your host via a
generic USB UART adapter. Therefore, you will need to manually probe the correct
UART device with the -S option:
-S avalonmm:\\.\COM22
Next, use the --set option to configure at least your desired clock frequency
and voltage.
You may also want to set the fan speed, which is specified as a percentage:
--set avalonmm:fan=95
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
BFx2
----
You will need to install the WinUSB driver instead of the default FTDI serial
driver. The easiest way to do this is using Zadig: http://zadig.akeo.ie/
Note that since it's impossible to tell the BFx2 apart from various other
devices (including BFL/Cairnsmore1 miners and even many non-mining devices!),
you must run with the -S bfx:all option (or 'bfx:all' at the M+ menu).
I do not know what this will do with other devices; it may start fires,
launch nuclear missiles (please don't run BFGMiner on computers with
missile controls), etc.
BI*FURY
-------
On Windows, you will need to install the standard USB CDC driver for it.
http://store.bitcoin.org.pl/support
If you want to upgrade the firmware, unplug your device. You will need to
temporarily short a circuit. With the USB connector pointing forward, and the
heatsink down, look to the forward-right; you will see two tiny lights, a set of
2 terminals, and a set of 3 terminals. The ones you need to short are the set of
2. With them shorted, plug the device back into your computer. It will then
pretend to be a mass storage disk drive. If you use Windows, you can play along
and just overwrite the firmware.bin file. If you use Linux, you must use mcopy:
mcopy -i /dev/disk/by-id/usb-NXP_LPC1XXX_IFLASH_ISP-0:0 firmware.bin \
::/firmware.bin
After this is complete, unplug the device again and un-short the 2 terminals.
This completes the upgrade and you can now plug it back in and start mining.
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).
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 PXY device and
should work more or less like any other miner.
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
COMPAC
------
These USB sticks are based on Bitmain's BM1384 chip, and use the antminer
driver. You can set the clock frequency with
--set compac:clock=200
You can also adjust the clock real-time while the stick is hashing using RPC's
pgaset:
bfgminer-rpc "pgaset|0,clock,x0982"
| ^^^^^ hex frequency
^ device number
HEX*FURY
--------
Hex*Fury uses the bifury driver. Miners using earlier boards may need to
workaround bugs in the firmware:
bfgminer --set bifury:chips=6 --set bifury:free_after_job=no
This may cause poor behaviour or performance from other bifury-based devices.
If you encounter this, you can set the workarounds per-device by using their
serial number (which can be seen in the TUI device manager; in this example,
141407160211cdf):
bfgminer --set bifury@141407160211cdf:chips=15 ...
KLONDIKE
--------
KNCMINER (Jupiter)
--------
KnCMiner rigs use a BeagleBone Black (BBB) as the host; this is pluged into a
"cape" with a FPGA and connections for 4-6 ASIC modules (depending on the cape
version). Note that in addition to the usual dependencies, this driver also
requires i2c-tools (aka libi2c-dev on some systems). The BBB comes with the
Ångström Distribution by default. The following is a step by step install for
BFGMiner on this system;
-----------------Start------------
cat >/etc/opkg/feeds.conf <<\EOF
src/gz noarch http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/all/
src/gz base http://feeds.angstrom-
distribution.org/feeds/v2013.06/ipk/eglibc/armv7ahf-vfp-neon/base/
src/gz beaglebone http://feeds.angstrom-
distribution.org/feeds/v2013.06/ipk/eglibc/armv7ahf-vfp-neon/machine/beaglebone/
EOF
opkg update
opkg install angstrom-feed-configs
rm /etc/opkg/feeds.conf
opkg update
/etc/init.d/cgminer.sh stop
./bfgminer -S knc:auto -c /config/cgminer.conf
---------------END-------------
KNCMINER (Titan)
--------
Build instructions:
-----------------Start------------
---------------END-------------
MONARCH
-------
The Butterfly Labs Monarch devices can be used as either USB devices, or in a
PCI-Express slot. As USB devices, they are essentially plug-and-play. If you
wish to use them via PCI-Express, however, you must first load the proper
driver. BFGMiner can work with either Linux uio (2.6.23+, requires root access)
or Linux vfio (3.6+, requires IOMMU support).
Enabling vfio is similar, but allows you to run BFGMiner without root
privileges. Since setting this up is more complicated, BFGMiner includes a
setup-vfio script (which must be run with root permissions). Simply run:
sudo setup-vfio --unsafe --user $(whoami) 1cf9 0001
You will be asked about each Monarch found, and must answer 'yes' to each one.
ONESTRINGMINER
--------------
OneStringMiner boards use the bifury driver. Miners using earlier boards may
need to workaround bugs in the firmware:
bfgminer --set bifury:chips=15 --set bifury:free_after_job=no
If you have different devices using the bifury driver, see the section on
Hex*Fury for applying workarounds per-device.
GRIDSEED
--------
Gridseed units, at the present time, come in two versions: Blade - a 40 chip
unit and Orb - a 5 chip unit. Orb units can be used to mine both SHA256d and
scrypt based coins whereas the Blade is scrypt only, although BFGMiner only
supports scrypt mode at this time.
Additionally, these can be added to the bfgminer.conf file for persistence like
this:
"set" : [
"gridseed@<serial_number>:clock=825",
"gridseed@<serial_number>:clock=850",
"gridseed@<serial_number>:clock=875"
]
To find the device serial number, start bfgminer and press <M> to manage
devices, then <Page Down> or <down arrow> through the list of devices and take
note of the device serial number in the device information shown.
...
Select processor to manage using up/down arrow keys
GSD 0a: | 74.4/ 72.9/ 10.2kh/s | A: 1 R:0+0(none) HW:0/none
STM32 Virtual COM Port from STMicroelectronics
Serial: 6D85278F5650
Clock speed: 875
...
ZEUSMINER
---------
Zeusminers do not support autodetection, so you will need to use --scan to probe
for them:
-S zeusminer:\\.\COM3
You should also configure the driver for your specific device:
For example:
---
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