Avalon nano
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
- Avalon3 nano windows miner(20140911)
- Beautifull GUI
- Auto detect Avalon nano
- 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
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
- Avalon3 nano firmware(20140523-dd84b993)
- Support nonce receive timeout check
- Support adjust freq for 100Mhz to 360Mhz,freq value after reset is 360Mhz
- 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
- 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.
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
- Avalon nano 2.0 firmware (3U1505-4481b7e0): first version
References
- ↑ http://www.lpcware.com/system/files/lpcopen_examples_windows_usb_drivers_v1_10_0.zip
- ↑ https://github.com/Canaan-Creative/Avalon-nano/tree/master/gui_1.0
- ↑ https://www.lpcware.com/lpcxpresso/download
- ↑ http://www.lpcware.com/lpcxpresso/activate
- ↑ http://downloads.canaan-creative.com/software/avalon_nano/burner
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.
Links
- USBD ROM Stack
- LPC11U1X User Manual
- LPCOpen sourcecode
- LPCOpen docs
- LPC11U14 Rev A Schematic
- Errata sheet LPC11U1x
- Using command line GDB
- Baremetal programming
- ULINK2
- LPC-Link
- About CMSIS-DAP
- Porting the CMSIS-DAP debugger to the Cortex-M0 platform
- LPC11U14 ARM Cortex-M0 Board
- In-Application Programming (IAP) Code Example
- Software for flashing / upgrading firmware
- LPCXpresso (SWD method)
- Target Connectors
- Regaining debug access to target MCU