Difference between revisions of "Avalon nano"

From Bitcoin Wiki
Jump to: navigation, search
(Links)
(FAQ)
 
(38 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= USB: 29F1:33F1 =
+
It's a usb dongle, using only one A3233.
  
= Schematics =
+
== Hardware version 1.0 ==
* [[媒体文件:Avalon usb sch.PDF|Avalon-usb schematics]]
+
=== Features ===
 +
* VID/PID: 0x1FC9/0x0083
 +
* Icarus protocol support
 +
* It use USB CDC, without need driver installation under Linux
 +
* Smart [[#LED|LED]] indicator
 +
* Overheating protection. (>= 65℃)
 +
* Adjust the hashrate automatically by temperature (~1.0GH/s -  ~3.6GH/s)
  
= BFGMiner =
+
Note:  You may need install driver for windows before usage. Please down it here <ref>http://www.lpcware.com/system/files/lpcopen_examples_windows_usb_drivers_v1_10_0.zip</ref>
* Avalon3 nano BFGminer 运行参数
+
 
 +
=== Software ===
 +
It can support CGMiner, BFGMiner and AvalonMiner(Based on BFGMiner) for now.
 +
==== CGMiner Under Ubuntu 14.04 ====
 +
* Download / Compile / Run
 +
'''Download'''
 +
Inside your home directory, download CGMiner
 +
git clone https://github.com/Canaan-Creative/cgminer
 +
 
 +
'''Compile'''
 +
cd cgminer
 +
git checkout origin/avalon-usb -b avalon-usb
 +
./autogen.sh --enable-icarus
 +
make -j 4
 +
 
 +
'''Run'''
 +
sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u  work -p pass
 +
or
 +
sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u  work -p pass --api-allow W:192.168.2.1 --api-listen $@ 2>./log
 +
 
 +
* Patches
 +
Patch for Canaan Creative's CGMiner: [http://downloads.canaan-creative.com/software/avalon_nano/patches/001-avalon3-nano.patch 001-avalon3-nano.patch]
 +
For what: CGMiner patch.
 +
From where: Based c5ec1171@https://github.com/Canaan-Creative/cgminer/tree/avalon2
 +
Comments:
 +
  Support avalon3 nano in cgminer.
 +
  Support Icarus protocol.
 +
 
 +
==== BFGMiner ====
 +
* Run
 +
  '''Run under Linux'''
 
   ./bfgminer \
 
   ./bfgminer \
         -S ICA:/dev/ttyACM0 \
+
         -S ICA:/dev/ttyACMx \
 
         -o stratum+tcp://stratum.ozco.in:80 -O mikeqin.avalon:1234 \
 
         -o stratum+tcp://stratum.ozco.in:80 -O mikeqin.avalon:1234 \
 
         --set-device ICA:baud=115200 \
 
         --set-device ICA:baud=115200 \
Line 18: Line 54:
 
         2>log
 
         2>log
  
   备注:timing详见bfgminer的README,如果当前配置的频率是400MHz,则Hashrate=400*11.8=~4Gh/s
+
   '''Run under Windows'''
   <math>\mbox{timing} = \frac{1}{4\times 10^9}\times 10^9</math>
+
  bfgminer.exe ^
 +
        -S ICA:\\.\COMn ^
 +
        -o stratum+tcp://stratum.ozco.in:80 -O mikeqin.avalon:1234 ^
 +
        --set-device ICA:baud=115200 ^
 +
        --set-device ICA:reopen=timeout ^
 +
        --set-device ICA:work_division=1 ^
 +
        --set-device ICA:fpga_count=1 ^
 +
        --set-device ICA:probe_timeout=100 ^
 +
        --set-device ICA:timing=0.22 ^
 +
        --api-listen ^
 +
        2>log
 +
 
 +
  Note: See the details about the timing in README. It works ~4GH/s(400 * 11.8) at 400MHz.
 +
   timing = (1 / (4 * 10 ** 9)) * 10 ** 9 (python format)
  
* BFGMiner MHS Cur计算
+
* MHS Cur calculation
   MHS Cur = Diff1 Work * (Difficulty Accepted/(Difficulty Accepted+Difficulty Rejected+Difficulty Stale)*60/(Elapsed)*71582788/(1000000)
+
   MHS Cur = Diff1 Work * (Difficulty Accepted / (Difficulty Accepted + Difficulty Rejected + Difficulty Stale)) * 60/ Elapsed * 71582788 / 1000000
   所有的信息可以通过./bfgminer-rpc -o summary获取。
+
   Note:
   注:如果Difficulty Accepted+Difficulty Rejected+Difficulty Stale = 0,则Difficulty Accepted/(Difficulty Accepted+Difficulty Rejected+Difficulty Stale) 取1。
+
   1.if Difficulty Accepted + Difficulty Rejected + Difficulty Stale = 0, then Difficulty Accepted / (Difficulty Accepted + Difficulty Rejected + Difficulty Stale) = 1.
 +
  2.Get all the infomation through ./bfgminer-rpc -o summary
  
 
* BFGMiner release from luck.dashjr
 
* BFGMiner release from luck.dashjr
 
   http://luke.dashjr.org/programs/bitcoin/files/bfgminer/
 
   http://luke.dashjr.org/programs/bitcoin/files/bfgminer/
  
=Cgminer for Avalon nano =
+
==== AvalonMiner ====
* Cgminer(Icarus)compile guide
+
It is developed under Windows with Chinese UI only, You can import the solution and crack it by yourself. It is distributed under UNLICENSE.Source code can be download here: <ref>https://github.com/Canaan-Creative/Avalon-nano/tree/master/gui_1.0</ref>
  sudo apt-get install libudev-dev
 
  ./autogen.sh && ./configure --enable-icarus && make
 
  
* Cgminer(Icarus)Run params
+
===== Release =====
  ./cgminer \
+
[http://downloads.canaan-creative.com/software/avalon_nano/software/20140911/ 20140911]
        -o stratum+tcp://stratum.ozco.in:80 -O mikeqin.avalon:1234 \
+
* Avalon3 nano windows miner(20140911)
        --icarus-options 115200:1:1 \
+
* Beautifull GUI
        --icarus-timing 0.22 \
+
* Auto detect Avalon nano
        --api-listen \
+
 
        2>log
+
[http://downloads.canaan-creative.com/software/avalon_nano/software/20140803/ 20140803]
   Note:Please add 01-cgminer.rules to your udev rules before you run.
+
* Avalon3 nano windows miner(20140803) first version
 +
* Support bfgminer only
 +
* Support icarus protocal
 +
 
 +
===== Run or Debug with CLI =====
 +
# Copy BfgMiner to a safe place.
 +
# Uninstall Avalon GUI Miner
 +
# Modify the icadbg.cmd(under BfgMiner folder) with your correct com port.
 +
# Double click icadbg.cmd.
 +
Note: BFGMiner location: (C:\Program Files (x86)\Avalon Nano\BfgMiner)
 +
 
 +
=== Hardware ===
 +
==== Schematics ====
 +
* [http://downloads.canaan-creative.com/software/avalon_nano/doc/sch/Avalon_usb_sch.pdf Avalon-usb schematics]
 +
 
 +
==== LPC11U14 Spec ====
 +
{| class='wikitable'
 +
|-
 +
| Type || Infomation
 +
|-
 +
| Processor || NXP's Cortex-M0 LPC11U14 microcontroller
 +
|-
 +
| Flash || 32 kB
 +
|-
 +
| Data Memory || 6 kB
 +
|-
 +
| Clock Crystals || 12.000 MHz crystal for CPU
 +
|}
 +
 
 +
==== Clock ====
 +
{| class='wikitable'
 +
|-
 +
| Type  ||  Value
 +
|-
 +
| LPC11U14 (External)   ||  48.000 MHz
 +
|-
 +
| A3233 XCLK (From LPC11U14)  ||  24.000 MHz
 +
|}
  
= 颜色说明 =
+
==== LED ====
空闲状态:绿色。
+
{| class='wikitable'
工作状态:颜色随频率调整,由红变蓝。
+
|-
温度过高:红色闪烁。
+
| Color || Memo
 +
|-
 +
| Green || Idle status
 +
|-
 +
| Red/Blue || Working (Frequency high -> low,led red -> blue)
 +
|-
 +
| Red blinking || Overheating
 +
|}
  
= ULINK 2=
+
==== Programmer ====
* [[Keil IDE for avalon3 nano development]]
+
* SmartPro 5000U-Plus
* OpenOCD is not support ULINK2 (See src/jtag/drivers/ulink.c)
 
* [http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm Target Connectors]
 
  
= SmartPro 5000U-Plus =
+
==== SWD Debuger ====
* 技术支持联系电话:020-28872449
+
LPC11U14 only support swd debug.
* [[Avalon nano离线工程制作]]
+
The debugger can also be used to program the LPC11U14 chip.
* [http://www.embedtools.com/download/downs.asp?ID=2994 SmartPRO系列通用编程器软件(SmartPRO 2008)]
+
===== LPCXpresso =====
* [http://www.embedtools.com/download/downs.asp?ID=2239 SmartPRO 5000U 脱机编程产量控制功能应用笔记]
+
* Installation and Activation
* [http://www.zlgmcu.com/tools/bianchengqi/EasyPRO/programmerFAQ.pdf 编程器FAQ]
+
  LPCXpresso download link <ref>https://www.lpcware.com/lpcxpresso/download</ref>
 +
  Free Edition is enough. Then activate it. <ref>http://www.lpcware.com/lpcxpresso/activate</ref>
  
= LPC11u14 =
 
* LPC11U14 LPCXpresso Board Spec
 
  '''Processor'''            NXP's Cortex-M0 LPC11U14 microcontroller in LQFP48 package
 
  '''Flash'''                32 kB
 
  '''Data Memory'''          6 kB
 
  '''Clock Crystals'''        12.000 MHz crystal for CPU
 
  '''Dimensions'''            35 x 140 mm
 
  '''Power'''                3.15V-3.3V external powering, or from USB via JTAG probe (LPC-LINK)
 
  '''Connectors'''           
 
                              • mini-B USB connector for LPC11U14 USB interface
 
                              • All LPC11U14 pins available on expansion connector (2x27 pin rows, 100 mil pitch, 900 mil between rows)
 
  '''Other'''                 
 
                              • Embedded JTAG (LPC-LINK) functionality via LPCXpresso toolchain
 
                              • LPC-LINK can be connected to external target processor after modifications to the LPCXpresso board
 
                              • LED on PIO0_7
 
 
* LPC-Link diagnostics
 
* LPC-Link diagnostics
 
   Diagnostics when connecting to LPC-Link
 
   Diagnostics when connecting to LPC-Link
Line 93: Line 169:
 
   use newlib semihost
 
   use newlib semihost
  
* Gdb connect
+
* How to debug issues with gdb (Works on OSX)
  1. gdb connect
+
    Compile the souce with debug, then run gdb with the following commands:
  arm-none-eabi-gdb nxp_lpcxpresso_11u14_periph_blinky.axf
+
    1.arm-none-eabi-gdb avalon_nano.axf
  target extended-remote | crt_emu_lpc11_13_nxp -pLPC11U14/201 -2 -wire=winusb
+
    2.target extended-remote | crt_emu_cm_redlink -g -2 -vendor=NXP -pLPC11U14/201 -flash-driver=LPC11_12_13_32K_4K.cfx
  load
+
    3.load
  
= Firmware =
+
* How to debug issues with gdb (Works on Ubuntu14.04)
== Reflash ==
+
    Compile the souce with debug, then run gdb with the following commands:
* [[Avalon3 nano firmware burner]]
+
    1.arm-none-eabi-gdb avalon_nano.axf
 +
    2.target extended-remote | crt_emu_lpc11_13_nxp -g -mi -2 -pLPC11U14/201 -vendor=NXP -e0 -wire=winUSB -flash-driver=LPC11_12_13_32K_4K.cfx
 +
    3.load
  
== Patches ==
+
    Then you can use gdb as you want
* [http://downloads.canaan-creative.com/software/avalon_nano/patches/001-avalon3-nano.patch 001-avalon3-nano]
 
  For what: Cgminer patch.
 
  From where: Based c5ec1171@https://github.com/BitSyncom/cgminer/tree/avalon2
 
  Comments: Support avalon3 nano in cgminer.
 
            Support Icarus protocol.
 
  
==[http://downloads.canaan-creative.com/software/avalon_nano/firmware/20140523/ 20140523]==
+
===== ULINK 2 =====
 +
* Configure ULINK2 for LPCXpresso
 +
1.Change boot mode to CMSIS-DAP
 +
Use the [http://www.keil.com/support/man/docs/ulink2/ulink2_boot_mode.htm Boot Mode Utility] to change the mode like this: UL2_Configure B1.
 +
 +
2.Set jumper to 3.3V position
 +
See [http://www.keil.com/support/man/docs/ulink2/ulink2_hw_jumpers.htm  Jumpers]
 +
 +
3.Connect Avalon nano to ULINK2
 +
Check [http://support.code-red-tech.com/CodeRedWiki/HardwareDebugConnections SWD Connector Pinout], need connect SCLK,SWIO,GND only.
 +
 
 +
=== Firmware ===
 +
==== Reflash ====
 +
* Avalon3 nano firmware burner <ref>http://downloads.canaan-creative.com/software/avalon_nano/burner</ref>
 +
 
 +
==== Release ====
 +
[http://downloads.canaan-creative.com/software/avalon_nano/firmware/20140523/ 20140523]
 
* Avalon3 nano firmware(20140523-dd84b993)
 
* Avalon3 nano firmware(20140523-dd84b993)
 
* Support nonce receive timeout check
 
* Support nonce receive timeout check
 
* Support adjust freq for 100Mhz to 360Mhz,freq value after reset is 360Mhz
 
* Support adjust freq for 100Mhz to 360Mhz,freq value after reset is 360Mhz
  
==[http://downloads.canaan-creative.com/software/avalon_nano/firmware/20140519/ 20140519]==
+
[http://downloads.canaan-creative.com/software/avalon_nano/firmware/20140519/ 20140519]
 
* Avalon3 nano firmware(20140519-8c38877c):first version
 
* Avalon3 nano firmware(20140519-8c38877c):first version
 
* Avalon3 nano test scripts found here:[https://github.com/BitSyncom/avalon-extras/tree/master/scripts a3233_avalon_usb_testbench.sh]
 
* Avalon3 nano test scripts found here:[https://github.com/BitSyncom/avalon-extras/tree/master/scripts a3233_avalon_usb_testbench.sh]
Line 121: Line 210:
 
* Include avalon3 nano module test(avalon_bsp_testben)
 
* Include avalon3 nano module test(avalon_bsp_testben)
 
* bfgminer(0676fa314a9cc1491ad2e5f5c6a5e97f38fa67e3),how to run:http://wiki.0xf8.com/index.php/Bfgminer
 
* bfgminer(0676fa314a9cc1491ad2e5f5c6a5e97f38fa67e3),how to run:http://wiki.0xf8.com/index.php/Bfgminer
==[http://downloads.canaan-creative.com/software/avalon_nano/firmware/nexttesting/ NEXT-TESTING]==
+
 
 +
[http://downloads.canaan-creative.com/software/avalon_nano/firmware/nexttesting/ NEXT-TESTING]
 
* NOTICE: Only for testing
 
* NOTICE: Only for testing
 
* Adjust LED color according to the temperature
 
* Adjust LED color according to the temperature
= AvalonMiner =
 
==[http://downloads.canaan-creative.com/software/avalon_nano/software/20140614/ 20140614]==
 
* Avalon3 nano windows miner(20140614) first version
 
* Support bfgminer only
 
* Support icarus protocal
 
* [http://downloads.canaan-creative.com/software/avalon_nano/doc/Avalon%20nano%20QuickStart.7z Avalon nano QuickStart guide]
 
  
= Windows GUI=
+
=== Review ===
 +
* https://bitcointalk.org/index.php?topic=1022764.0
 +
 
 +
=== Issues ===
 +
* OpenOCD is not support ULINK2 (See src/jtag/drivers/ulink.c)
 +
 
 +
== Hardware version 2.0 ==
 +
=== Features ===
 +
* VID/PID: 0x29F1/0x33F3
 +
* [https://github.com/Canaan-Creative/MM/blob/avalon4/firmware/doc/protocol.md MM protocol] support
 +
* It use HID CDC, without need driver installation.
 +
* Smart [[#LED|LED]] indicator
 +
* Overheating protection. (>= 65℃)
 +
* Adjust the hashrate automatically by temperature (~1.0GH/s -  ~3.6GH/s)
 +
* Current:0.018A ~ 0.917A
 +
* Voltage:4.97V ~ 5.179V
 +
 
 +
=== Software ===
 +
It can support Avalon miner, CGMiner for now.
 +
==== Avalon miner ====
 +
The easiest way to mining.
 +
# [https://chrome.google.com/webstore/detail/avalon-miner/odlgkocclgbbahkiajhldmlbmefpcjnc?hl=en-US Install from chrome web store]
 +
# [http://downloads.canaan-creative.com/software/avalon_nano2/app/Avalon_miner_latest.crx Install from local crx]
 +
 
 +
==== CGMiner Under Ubuntu 14.04 ====
 +
* Download / Compile / Run
 +
'''Download'''
 +
Inside your home directory, download CGMiner
 +
git clone https://github.com/Canaan-Creative/cgminer
 +
 
 +
'''Compile'''
 +
cd cgminer
 +
git checkout origin/avalon4 -b avalon4
 +
./autogen.sh --enable-avalon-miner
 +
make -j 4
 +
 
 +
'''Run'''
 +
sudo ./cgminer -o http://stratum.pool:3333 -u work -p pass
 +
or
 +
sudo ./cgminer -o http://stratum.pool:3333 -u work -p pass --api-allow W:192.168.2.1 --api-listen $@ 2>./log
 +
 
 +
=== [https://en.bitcoin.it/wiki/Avalon_nano#Hardware Hardware] ===
 +
=== Firmware ===
 +
==== Release ====
 +
[http://build.canaan-creative.com:8080/~mikeqin/avalonnano2/ Daily Building]
 +
 
 +
[http://downloads.canaan-creative.com/software/avalon_nano2/firmware/2015-08-25/ 2015-08-25]
 +
* Avalon nano 2.0 firmware (3U1505-4481b7e0): first version
 +
 
 +
== References ==
 +
<references />
 +
 
 +
== FAQ ==
 +
* How to debug Avalon miner App under Chrome browser ?
 +
# Enter the follow under the address bar.
 +
#:chrome://extensions/
 +
# Change to Developer mode in the right corner.
 +
# Select Avalon miner background page, Enable console log in the Developer Tools. Filter: Status
 +
#:utils.enableLog()
 +
# Then open Avalon miner App, and update Pool Settings, then Enter mining.
 +
You can check firmware version in the Miner App, and check the Status in the Developer Tools.
 +
 
 +
Don't forge update your device permission under Linux.
  
== 背景介绍 ==
+
Under Ubuntu 14.04 LTS, you can add a rules under /etc/udev/rules.d, Make sure the user is a part of plugdev group
* 我们的设备: 针对消费类电子的 USB 设备,尺寸比一般U盘会大一些。
 
* 后台/命令行的程序已经做完成,我们需要做一个展示的界面。
 
* 展示界面:
 
    一个状态界面,一个配置界面。
 
    配置与状态必须使用后台程序的 Socket API 来通信。
 
* 参考资料
 
    比特币挖矿入门 https://bitcoin.org/zh_CN/faq#what-is-bitcoin-mining
 
    一些常见USB挖矿机的使用方法
 
    http://support.dualminer.com/how-to-install/
 
    http://rdmsnippets.com/tag/install-block-erupter-on-windows-7/
 
    http://www.usberupter.com/how-to-mine-bitcoins-using-usb-stick/
 
  
== 要求 ==
+
The content of the rules is :
* 时间要求:3周
+
SUBSYSTEMS=="usb", ATTRS{idVendor}=="29f1", ATTRS{idProduct}=="33f3", GROUP="plugdev"
* 支持 MS Windows 7/8
 
* 界面参照 360 随身 WiFi 的界面
 
* 在主页上增加广告推送的地方,用户可以接受。
 
* 简单的安装程序(需要安装1.驱动或者相应的库(libusb);2.后台程序;3.界面主程序)
 
  
= Links =
+
== Links ==
* LPC11u1x User Manual: 11.4.3 SoftConnect
+
* [http://docs.lpcware.com/usbromlib/v1.0/ USBD ROM Stack]
* LPC11u1x Datasheet : 11.1 Suggested USB interface solutions
+
* [http://www.nxp.com/documents/user_manual/UM10462.pdf LPC11U1X User Manual]
* http://www.lpcware.com/content/forum/disconnect-usb-by-software-in-lpc1343
 
* http://www.lpcware.com/content/forum/softconnect-not-working-sometimes
 
* http://www.lpcware.com/content/forum/nvicsystemreset-can-not-reset-mcu
 
* [http://www.lpcware.com/lpcxpresso/activate LPCXpresso Active URL]
 
 
* [http://www.lpcware.com/content/nxpfile/lpcopen-software-development-platform-lpc11xx-packages-0 LPCOpen sourcecode]
 
* [http://www.lpcware.com/content/nxpfile/lpcopen-software-development-platform-lpc11xx-packages-0 LPCOpen sourcecode]
 
* [http://docs.lpcware.com/lpcopen/v1.03/ LPCOpen docs]
 
* [http://docs.lpcware.com/lpcopen/v1.03/ LPCOpen docs]
Line 181: Line 308:
 
* [http://microcontrollershop.com/product_info.php?products_id=4838 LPC11U14 ARM Cortex-M0 Board]
 
* [http://microcontrollershop.com/product_info.php?products_id=4838 LPC11U14 ARM Cortex-M0 Board]
 
* [http://www.lpcware.com/content/blog/application-programming-iap-code-example In-Application Programming (IAP) Code Example]
 
* [http://www.lpcware.com/content/blog/application-programming-iap-code-example In-Application Programming (IAP) Code Example]
 +
* Software for flashing / upgrading firmware
 +
** [http://www.lpcware.com/lpcxpresso/download LPCXpresso] (SWD method)
 +
* [http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm Target Connectors]
 +
* [https://www.lpcware.com/content/faq/lpcxpresso/regaining-debug-access Regaining debug access to target MCU]

Latest revision as of 04:12, 13 July 2016

It's a usb dongle, using only one A3233.

Hardware version 1.0

Features

  • VID/PID: 0x1FC9/0x0083
  • Icarus protocol support
  • It use USB CDC, without need driver installation under Linux
  • Smart LED indicator
  • Overheating protection. (>= 65℃)
  • Adjust the hashrate automatically by temperature (~1.0GH/s - ~3.6GH/s)

Note: You may need install driver for windows before usage. Please down it here [1]

Software

It can support CGMiner, BFGMiner and AvalonMiner(Based on BFGMiner) for now.

CGMiner Under Ubuntu 14.04

  • Download / Compile / Run
Download
Inside your home directory, download CGMiner
git clone https://github.com/Canaan-Creative/cgminer
Compile
cd cgminer
git checkout origin/avalon-usb -b avalon-usb
./autogen.sh --enable-icarus
make -j 4
Run
sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u  work -p pass 
or
sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u  work -p pass --api-allow W:192.168.2.1 --api-listen $@ 2>./log
  • Patches
Patch for Canaan Creative's CGMiner: 001-avalon3-nano.patch
For what: CGMiner patch.
From where: Based c5ec1171@https://github.com/Canaan-Creative/cgminer/tree/avalon2
Comments: 
 	Support avalon3 nano in cgminer.
 	Support Icarus protocol.

BFGMiner

  • Run
 Run under Linux
 ./bfgminer \
       -S ICA:/dev/ttyACMx \
       -o stratum+tcp://stratum.ozco.in:80 -O mikeqin.avalon:1234 \
       --set-device ICA:baud=115200 \
       --set-device ICA:reopen=timeout \
       --set-device ICA:work_division=1 \
       --set-device ICA:fpga_count=1 \
       --set-device ICA:probe_timeout=100 \
       --set-device ICA:timing=0.22 \
       --api-listen \
       2>log
 Run under Windows
 bfgminer.exe ^
       -S ICA:\\.\COMn ^
       -o stratum+tcp://stratum.ozco.in:80 -O mikeqin.avalon:1234 ^
       --set-device ICA:baud=115200 ^
       --set-device ICA:reopen=timeout ^
       --set-device ICA:work_division=1 ^
       --set-device ICA:fpga_count=1 ^
       --set-device ICA:probe_timeout=100 ^
       --set-device ICA:timing=0.22 ^
       --api-listen ^
       2>log
 
 Note: See the details about the timing in README. It works ~4GH/s(400 * 11.8) at 400MHz.
 timing = (1 / (4 * 10 ** 9)) * 10 ** 9 (python format)
  • MHS Cur calculation
 MHS Cur = Diff1 Work * (Difficulty Accepted / (Difficulty Accepted + Difficulty Rejected + Difficulty Stale)) * 60/ Elapsed * 71582788 / 1000000
 Note:
 1.if Difficulty Accepted + Difficulty Rejected + Difficulty Stale = 0, then Difficulty Accepted / (Difficulty Accepted + Difficulty Rejected + Difficulty Stale) = 1.
 2.Get all the infomation through ./bfgminer-rpc -o summary
  • BFGMiner release from luck.dashjr
 http://luke.dashjr.org/programs/bitcoin/files/bfgminer/

AvalonMiner

It is developed under Windows with Chinese UI only, You can import the solution and crack it by yourself. It is distributed under UNLICENSE.Source code can be download here: [2]

Release

20140911

  • Avalon3 nano windows miner(20140911)
  • Beautifull GUI
  • Auto detect Avalon nano

20140803

  • Avalon3 nano windows miner(20140803) first version
  • Support bfgminer only
  • Support icarus protocal
Run or Debug with CLI
  1. Copy BfgMiner to a safe place.
  2. Uninstall Avalon GUI Miner
  3. Modify the icadbg.cmd(under BfgMiner folder) with your correct com port.
  4. Double click icadbg.cmd.

Note: BFGMiner location: (C:\Program Files (x86)\Avalon Nano\BfgMiner)

Hardware

Schematics

LPC11U14 Spec

Type Infomation
Processor NXP's Cortex-M0 LPC11U14 microcontroller
Flash 32 kB
Data Memory 6 kB
Clock Crystals 12.000 MHz crystal for CPU

Clock

Type Value
LPC11U14 (External) 48.000 MHz
A3233 XCLK (From LPC11U14) 24.000 MHz

LED

Color Memo
Green Idle status
Red/Blue Working (Frequency high -> low,led red -> blue)
Red blinking Overheating

Programmer

  • SmartPro 5000U-Plus

SWD Debuger

LPC11U14 only support swd debug. The debugger can also be used to program the LPC11U14 chip.

LPCXpresso
  • Installation and Activation
 LPCXpresso download link [3]
 Free Edition is enough. Then activate it. [4]
  • LPC-Link diagnostics
 Diagnostics when connecting to LPC-Link
 
 1.  lpc-link info
 crt_emu_lpc11_13_nxp -info-emu -wire=winusb
 
 2.  target info 
 crt_emu_lpc11_13_nxp -info-target -pLPC11U14/201 -wire=winusb -4
 
 3. burn and run axf file
 crt_emu_lpc11_13_nxp -pLPC11U14/201 -wire=winusb -flash-load-exec nxp_lpcxpresso_11u14_periph_blinky.axf
 
 4. info scan
 crt_emu_lpc11_13_nxp -info-scan -wire=winusb
 
 5. semi_host debug
 use newlib semihost
  • How to debug issues with gdb (Works on OSX)
   Compile the souce with debug, then run gdb with the following commands:
   1.arm-none-eabi-gdb avalon_nano.axf
   2.target extended-remote | crt_emu_cm_redlink -g -2 -vendor=NXP -pLPC11U14/201 -flash-driver=LPC11_12_13_32K_4K.cfx
   3.load
  • How to debug issues with gdb (Works on Ubuntu14.04)
   Compile the souce with debug, then run gdb with the following commands:
   1.arm-none-eabi-gdb avalon_nano.axf
   2.target extended-remote | crt_emu_lpc11_13_nxp -g -mi -2 -pLPC11U14/201 -vendor=NXP -e0 -wire=winUSB -flash-driver=LPC11_12_13_32K_4K.cfx
   3.load
   Then you can use gdb as you want
ULINK 2
  • Configure ULINK2 for LPCXpresso
1.Change boot mode to CMSIS-DAP
Use the Boot Mode Utility to change the mode like this: UL2_Configure B1.

2.Set jumper to 3.3V position
See Jumpers

3.Connect Avalon nano to ULINK2
Check SWD Connector Pinout, need connect SCLK,SWIO,GND only.

Firmware

Reflash

  • Avalon3 nano firmware burner [5]

Release

20140523

  • Avalon3 nano firmware(20140523-dd84b993)
  • Support nonce receive timeout check
  • Support adjust freq for 100Mhz to 360Mhz,freq value after reset is 360Mhz

20140519

  • Avalon3 nano firmware(20140519-8c38877c):first version
  • Avalon3 nano test scripts found here:a3233_avalon_usb_testbench.sh
  • Support adjust freq for 360Mhz to 400Mhz,value after reset is 400Mhz
  • Include avalon3 nano module test(avalon_bsp_testben)
  • bfgminer(0676fa314a9cc1491ad2e5f5c6a5e97f38fa67e3),how to run:http://wiki.0xf8.com/index.php/Bfgminer

NEXT-TESTING

  • NOTICE: Only for testing
  • Adjust LED color according to the temperature

Review

Issues

  • OpenOCD is not support ULINK2 (See src/jtag/drivers/ulink.c)

Hardware version 2.0

Features

  • VID/PID: 0x29F1/0x33F3
  • MM protocol support
  • It use HID CDC, without need driver installation.
  • Smart LED indicator
  • Overheating protection. (>= 65℃)
  • Adjust the hashrate automatically by temperature (~1.0GH/s - ~3.6GH/s)
  • Current:0.018A ~ 0.917A
  • Voltage:4.97V ~ 5.179V

Software

It can support Avalon miner, CGMiner for now.

Avalon miner

The easiest way to mining.

  1. Install from chrome web store
  2. Install from local crx

CGMiner Under Ubuntu 14.04

  • Download / Compile / Run
Download
Inside your home directory, download CGMiner
git clone https://github.com/Canaan-Creative/cgminer
Compile
cd cgminer
git checkout origin/avalon4 -b avalon4
./autogen.sh --enable-avalon-miner
make -j 4
Run
sudo ./cgminer -o http://stratum.pool:3333 -u work -p pass
or
sudo ./cgminer -o http://stratum.pool:3333 -u work -p pass --api-allow W:192.168.2.1 --api-listen $@ 2>./log

Hardware

Firmware

Release

Daily Building

2015-08-25

  • Avalon nano 2.0 firmware (3U1505-4481b7e0): first version

References

FAQ

  • How to debug Avalon miner App under Chrome browser ?
  1. Enter the follow under the address bar.
    chrome://extensions/
  2. Change to Developer mode in the right corner.
  3. Select Avalon miner background page, Enable console log in the Developer Tools. Filter: Status
    utils.enableLog()
  4. Then open Avalon miner App, and update Pool Settings, then Enter mining.

You can check firmware version in the Miner App, and check the Status in the Developer Tools.

Don't forge update your device permission under Linux.

Under Ubuntu 14.04 LTS, you can add a rules under /etc/udev/rules.d, Make sure the user is a part of plugdev group

The content of the rules is : SUBSYSTEMS=="usb", ATTRS{idVendor}=="29f1", ATTRS{idProduct}=="33f3", GROUP="plugdev"

Links