Avalon nano

From BitcoinWiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search

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

Hardware version 1.0[edit]

Features[edit]

  • 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

Software[edit]

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

CGMiner Under Ubuntu 14.04[edit]

  • 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[edit]

  • 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[edit]

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:

Release[edit]

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[edit]
  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[edit]

Schematics[edit]

LPC11U14 Spec[edit]

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[edit]

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

LED[edit]

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

Programmer[edit]

  • SmartPro 5000U-Plus

SWD Debuger[edit]

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

LPCXpresso[edit]
  • Installation and Activation
LPCXpresso download link 
Free Edition is enough. Then activate it. 
  • 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[edit]
  • 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[edit]

Reflash[edit]

  • Avalon3 nano firmware burner

Release[edit]

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[edit]

Issues[edit]

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

Hardware version 2.0[edit]

Features[edit]

  • 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[edit]

It can support Avalon miner, CGMiner for now.

Avalon miner[edit]

The easiest way to mining.

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

CGMiner Under Ubuntu 14.04[edit]

  • 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[edit]

Firmware[edit]

Release[edit]

Daily Building

2015-08-25

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

Source[edit]

http://bitcoin.it/

See Also on BitcoinWiki[edit]