Avalon4
Pictures
A3222
- Datasheet download here
Package: QFN56-8X8, 0.5mm pitch Core voltage: 0.65 ~ 0.8V Chip frequency: 400MHz Hashrate: 25-30G (Normal,0.75V) Power usage: 0.45-0.55W/G on ASIC side VDDIO: 1.5 ~ 2.5V
SPI Example
a real data: 1st: work n chip1 {576'hc16801619d8d4242e06e5fab25a54bbe222e8b877848c34beea79cd6528caf7e33cde02a983dab158119ce2a1c9fc4eddac8ce296d0fd9da6e18f645087e051a2d547050e8dc86b1, 64'ha, 32'h1, 32'h1, 32'h1} work n chip0 {576'h1bed3ba0a2cb45c1d8f8ef6712146495c44192c07145fd6d974bf4bb8f41371d65c90d1e9cb18a17fa77fe7d13cdfd7b0063910762a5f25c06b168ae087e051a895170504ac1d001, 64'h5, 32'h1, 32'h1, 32'h1} 2nd: work n+1 chip1 {576'h0, 64'hb, 32'h1, 32'h1, 32'h1} work n+1 chip0 {576'h0, 64'h6, 32'h1, 32'h1, 32'h1} 3rd: work n+2 chip1 {576'h0, 64'hc, 32'h1, 32'h1, 32'h1} work n+2 chip0 {576'h0, 64'h7, 32'h1, 32'h1, 32'h1} then get nonce 32'h1beebba0 for chip0, 32'hc1698161 for chip1;
Avalon4
Each module carry 40 A3222 ASICs, the module should be working at 1TH/S and using ~680W power.
Avalon4 connection
JTAG Port
PMU
HU
Power & GND
LED
LED | OFF | ON | BLINKING | MEMO |
---|---|---|---|---|
ERR | - | POST failed or One module dead | Manual | |
WARN | Hashing | Idle mode | Fan is 0 or Overheat | |
TXD/RXD | No data | - | Data transferring | |
N1/N2 | No nonce | - | Found one nonce | |
PG1/PG2 | - | Power good | Some of small PMU failed |
IIC
Avalon4 CGMiner Under Ubuntu 14.04
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-avalon4 make -j 4
Run
sudo ./cgminer --avalon4-fan 60 --avalon4-freq 200 --avalon4-voltage 7125 --lowmem -o http://stratum.pool:3333 -u work -p pass or sudo ./cgminer --avalon4-fan 60 --avalon4-freq 200 --avalon4-voltage 7125 --lowmem -o http://stratum.pool:3333 -u work -p pass --api-allow W:192.168.2,W:192.168.2.1 --api-listen $@ 2>./log
Tweak
- Led
Format: ascset|ASCN,led,modularid eg: cgminer-api "ascset|0,led,1"
- Fan
Format: ascset|ASCN,fan,fanmin[-fanmax] eg: cgminer-api "ascset|0,fan,10" or cgminer-api "ascset|0,fan,10-100"
- Voltage
Format: ascset|ASCN,voltage,MMID-value eg: cgminer-api "ascset|0,voltage,1-7750"
Technical details
- The auc take 1~2ms betwwen write and read. even the polling delay is 0 (4800 means 1ms)
- The cgminer each polling takes ~20ms. even the polling delay is 0ms
MM Notes
mm-tools for Raspberry Pi (Model B)
mm-tools is a program to upgrade Avalon4 mm firmware through Raspberry Pi. In order to use mm-tools, you should use RASPBIAN image on your Raspberry Pi.
- How to use mm-tools
1. Enable iic on Raspberry Pi a. Commit "blacklist i2c-bcm2708" in raspi-blacklist.conf under /etc/modprobe.d first. the example of raspi-blacklist.conf: # blacklist spi and i2c by default (many users don't need them) blacklist spi-bcm2708 #blacklist i2c-bcm2708 b. Add i2c.conf under /etc/modprobe.d. the example of i2c.conf: options i2c_bcm2708 baudrate=400000 c. Load i2c-dev module from start echo "i2c-dev" >> /etc/modules
2. Clone & Compile & Run git clone https://github.com/Canaan-Creative/Avalon-extras.git cd ./Avalon-extras/mm-tools;make sudo su make download && ./mm_tools
Compile flags
Value | MBOOT | MM41 | DEBUG |
---|---|---|---|
0 | No mboot | Support MM-4.0 | Disable debug |
1 | Support mboot | Support MM-4.1 | Enable debug |
User manual
Overclock
- MM-4.0
Chip Freq: 460:400:385, Voltage: 8250 --> 1.207T (Thanks to 王小波)
AUC
Avalon USB2IIC converter, USD VID:PID 29f1:33f2
LED
- PWR: Power indicator
- R: AUC response error
- G: IIC Xfer
- B: AUC init
AUC Firmware
20141122
- AUC version: AUC-20141122
- Reset asic when usb config changed(true->false)
20141105
- AUC version: AUC-20141105
- Code cleanup
- Improve for firmware burning
20141103
- AUC version: AUC-20141103
- Add watchdog
- Code cleanup
20141027
- AUC version: AUC-20141027
- Change Manufacturer to CANAAN
20141019
- AUC version: AUC-20141019
- First version of AUC firmware
- Source URL: https://github.com/Canaan-Creative/Avalon-USB-converter
RPi/703N Firmware
Daily Building
20141213
- Improve the voltage increase modules
- Fix duplicated local work & error work
- Fix the default settings of new module
- Fix MM41 voltage setting
- Add UI for password change
- Optimise the process of cgminer-status
- Fix display on avalon index page
20141203
- Add module elapsed time
- Modify the decrase offset from 250 to 4*125,increase step to 125
20141127
- Add TL-WR703N support
- Add automatic voltage support
- Add GHS5m and DH%5m for each module
- Fix AUC ADC value
20141124
- Add MM41 support
- Add mm count value in API status
- Fix the matching_work error
- Update dh calculation for luci
- Change theme name to avalon
20141118
- Adjust module voltage by ascset
- A new theme was added to luci,and use it as default
20141112
- Support RPi B/B+ version
- Change default IIC speed from 1M to 400K
- Add Avalon4 MM rolling ntime offset
- Update fan adjustment
- Add a new luci theme for Raspberry Pi
- Display DNA on cgminer status page
20141029
- First version of Avalon4 firmware
NEXT-TESTING
- NOTICE: Only for testing
- TL-WR703N wifi display none
Issues
- WIFI cann't work on TL-WR703N
This issue was caused by ubus, We can enable or disable it through the button in the webpage, but the display is invalid when wifi was opened. Work around method: https://github.com/openwrt/luci/commit/ecb0c2f11b861e5035b0397d2396ee4b5e9b3c3e
- Local hashrate count lower than pool or actual.
MM Firmware (For MM-4.0)
Daily Building
20141219
- Version 401412-d31c2c10
- Fix temperautre read. read once per second not 200 times per second
- Compile MM under Virtual Machine may cause unknown problem. this version compile under ubuntu 14.04
20141217
- Version 401412-39242210
- Change api for miner work statistics
- Fix the g_local_work count
- Fix temperautre < 0
- Fix led display when post failed
20141213
- Version 401412-7ef4ab10
- Support MBOOT
- Keep the nonce2_offse and nonce2_range since g_module_id didn't change
- Keep mm working when temp is greater than IDLE_TEMP
- Add parameter for test core count
- Warning when no fan connect
20141122
- Version 401411-cad52ec0
- Fix the type on DEFAULT MDOULES
- Fix the led status when warning
- Add MM4.1 defines
- Add new power module in test/
20141111
- Version: 401411-5965e0f0
- Add ntime offset configure from outside
- Reset globe values when idle
- Update ChangeLog, README and MM_VERSION
20141109
- Version: 401410-c6ba5180
- Big Code cleanup, Update MM protocol.
- Update timeout value to 90% the theory value.
- Fix the hashrate couning.
- Fix watchdog issue. enable watchdog.
- Remove g_module_id check since we use I2C
- Move adjust fan in polling package.
- Update MM idle default fan speed to 10%
20141104
- Version: 401410-223a1c50
- Update idle timeout from 5s to 3s
- Display ID on controller LEDs for debug
- Fix the automatic module detect
- Disable watch dog
- IDLE check when both (new stratum) and (module id) was configured
20141101
- Fix the front led display
- Cutoff power after testing
20141030
- First version of Avalon4 firmware
NEXT-TESTING
MM Firmware (For MM-4.1)
Daily Building
20141231
- Version 411501-08e45110
- Based on MM-4.0 401412-d31c2c10
- Turn down cpu frequency(100MHz -> 50MHz)
- Adjust clk of three domains.
- Fix LED warning blink when get new stratum
- Support voltage adjustion by miners
- Put the frequency table to CGMiner
- Miner's localwork statistics by HW
NEXT-TESTING
- Fix negative temperatures
- Support MM Tx reset by CGMiner