README.ASIC 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. SUPPORTED DEVICES
  2. Currently supported ASIC devices include Avalon, Bitfountain's Block Erupter
  3. series (both USB and blades), a large variety of Bitfury-based miners,
  4. Butterfly Labs' SC range of devices, HashBuster boards, Klondike modules, and
  5. KnCMiner's Mercury, Jupiter and Saturn.
  6. AVALON
  7. ------
  8. Currently, Avalon boards are best supported only by connecting them directly (or
  9. via a hub) to a regular PC running BFGMiner. It is also possible to install the
  10. OpenWrt packages of BFGMiner to the Avalon's embedded controller, but this is
  11. not a simple task due to its lack of available flash space.
  12. To use the Avalon from a regular PC, you will need to specify two options:
  13. First, add the -S option specifying the avalon driver specifically. For example,
  14. -S avalon:\\.\COM9
  15. Next, use the --avalon-options copying the command as used by the internal
  16. router used by the Avalon. eg:
  17. --avalon-options 115200:24:10:45:282
  18. The values are baud : miners : asic count : timeout : frequency.
  19. Baud:
  20. The device is essentially hard coded to emulate 115200 baud so you shouldn't
  21. change this.
  22. Miners:
  23. Most Avalons are 3 module devices, which come to 24 miners. 4 module devices
  24. would use 32 here.
  25. Asic count:
  26. Virtually all have 10, so don't change this.
  27. Timeout:
  28. This defines how long the device will work on a work item before accepting new
  29. work to replace it. It should be changed according to the frequency (last
  30. setting).
  31. It is possible to set this a little lower if you are trying to tune for short
  32. block mining (eg p2pool) but much lower and the device will start creating
  33. duplicate shares.
  34. Sample settings for valid different frequencies (last 2 values):
  35. 34:375
  36. 36:350
  37. 39:325
  38. 43:300
  39. 45:282
  40. 47:270
  41. 50:256
  42. Frequency:
  43. This is the clock speed of the devices. Only specific values work, 256, 270,
  44. 282 (default), 300, 325, 350 and 375.
  45. BFSB, MEGABIGPOWER, AND METABANK BITFURY BOARDS
  46. -----------------------------------------------
  47. Both BFSB and MegaBigPower (V2 only at this time) boards are supported with the
  48. "bfsb" driver. Metabank boards are supported with the "metabank" driver. These
  49. drivers are not enabled by default, since they must be run on a Raspberry Pi in
  50. a specific hardware configuration with the boards. To enable them, you must
  51. build with --enable-bfsb or --enable-metabank. Do not try to use these drivers
  52. without the manufacturer-supported hardware configuration! Also note that these
  53. drivers do not properly support thermal shutdown at this time, and without
  54. sufficient cooling you may destroy your board or chips!
  55. To start BFGMiner, ensure your Raspberry Pi's SPI is enabled (you can run the
  56. raspi-config utility for this). For Metabank boards, you must also load the I2C
  57. drivers (do not try to modprobe both with a single command; it won't work):
  58. modprobe i2c-bcm2708
  59. modprobe i2c-dev
  60. Then you must run BFGMiner as root, with the proper driver selected.
  61. For example:
  62. sudo bfgminer -S bfsb:auto
  63. BI*FURY
  64. -------
  65. Bi*Fury should just work; you may need to use -S bifury:<path>
  66. On Windows, you will need to install the standard USB CDC driver for it.
  67. http://store.bitcoin.org.pl/support
  68. If you want to upgrade the firmware, unplug your device. You will need to
  69. temporarily short a circuit. With the USB connector pointing forward, and the
  70. heatsink down, look to the forward-right; you will see two tiny lights, a set of
  71. 2 terminals, and a set of 3 terminals. The ones you need to short are the set of
  72. 2. With them shorted, plug the device back into your computer. It will then
  73. pretend to be a mass storage disk drive. If you use Windows, you can play along
  74. and just overwrite the firmware.bin file. If you use Linux, you must use mcopy:
  75. mcopy -i /dev/disk/by-id/usb-NXP_LPC1XXX_IFLASH_ISP-0:0 firmware.bin \
  76. ::/firmware.bin
  77. After this is complete, unplug the device again and un-short the 2 terminals.
  78. This completes the upgrade and you can now plug it back in and start mining.
  79. BIG PICTURE MINING BITFURY USB
  80. ------------------------------
  81. These miners are sensitive to unexpected data. Usually you can re-plug them to
  82. reset to a known-good initialisation state. To ensure they are properly detected
  83. and used with BFGMiner, you must specify -S bigpic:all (or equivalent) options
  84. prior to any other -S options (which might probe the device and confuse it).
  85. BLOCK ERUPTER BLADE
  86. -------------------
  87. Blades communicate over Ethernet using the old but simple getwork mining
  88. protocol. If you build BFGMiner with libmicrohttpd, you can have it work with
  89. one or more blades. First, start BFGMiner with the --http-port option. For
  90. example:
  91. bfgminer --http-port 8330
  92. Then configure your blade to connect to your BFGMiner instance on the same port,
  93. with a unique username per blade. It will then show up as a PXY device and
  94. should work more or less like any other miner.
  95. BLOCK ERUPTER USB
  96. -----------------
  97. These will autodetect if supported by the device; otherwise, you need to use
  98. the '--scan-serial erupter:<device>' option to tell BFGMiner what device to
  99. probe; if you know you have no other serial devices, or only ones that can
  100. tolerate garbage, you can use '--scan-serial erupter:all' to probe all serial
  101. ports. They communicate with the Icarus protocol, which has some additional
  102. options in README.FPGA
  103. KLONDIKE
  104. --------
  105. --klondike-options <arg> Set klondike options clock:temptarget
  106. KNCMINER
  107. --------
  108. KnCMiner rigs use a BeagleBone Black (BBB) as the host; this is pluged into a
  109. "cape" with a FPGA and connections for 4-6 ASIC modules (depending on the cape
  110. version). Note that in addition to the usual dependencies, this driver also
  111. requires i2c-tools (aka libi2c-dev on some systems). The BBB comes with the
  112. Ångström Distribution by default. The following is a step by step install for
  113. BFGMiner on this system;
  114. -----------------Start------------
  115. cat >/etc/opkg/feeds.conf <<\EOF
  116. src/gz noarch http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/all/
  117. src/gz base http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/armv7ahf-vfp-neon/base/
  118. src/gz beaglebone http://feeds.angstrom-distribution.org/feeds/v2013.06/ipk/eglibc/armv7ahf-vfp-neon/machine/beaglebone/
  119. EOF
  120. opkg update
  121. opkg install angstrom-feed-configs
  122. rm /etc/opkg/feeds.conf
  123. opkg update
  124. opkg install update-alternatives
  125. opkg install automake autoconf make gcc cpp binutils git less pkgconfig-dev ncurses-dev libtool nano bash i2c-tools-dev
  126. while ! opkg install libcurl-dev; do true; done
  127. curl http://www.digip.org/jansson/releases/jansson-2.0.1.tar.bz2 | tar -xjvp
  128. cd jansson-2.0.1
  129. ./configure --prefix=/usr CC=arm-angstrom-linux-gnueabi-gcc --disable-static NM=arm-angstrom-linux-gnueabi-nm
  130. make install && ldconfig
  131. cd ..
  132. git clone git://github.com/luke-jr/bfgminer
  133. cd bfgminer
  134. ./autogen.sh
  135. git clone git://github.com/troydhanson/uthash
  136. ./configure --host=arm-angstrom-linux-gnueabi --enable-knc CFLAGS="-I$PWD/uthash/src -O0 -ggdb"
  137. make AR=arm-angstrom-linux-gnueabi-ar
  138. /etc/init.d/cgminer.sh stop
  139. ./bfgminer -S knc:auto -c /config/cgminer.conf
  140. ---------------END-------------
  141. ---
  142. This code is provided entirely free of charge by the programmer in his spare
  143. time so donations would be greatly appreciated. Please consider donating to the
  144. address below.
  145. Luke-Jr <luke-jr+bfgminer@utopios.org>
  146. 1QATWksNFGeUJCWBrN4g6hGM178Lovm7Wh