Difference between revisions of "Avalon6"

From Bitcoin Wiki
Jump to: navigation, search
(Basic Information)
(MM Error Codes)
Line 84: Line 84:
 
! TYPE
 
! TYPE
 
! MEMO
 
! MEMO
 +
! What to do
 
|- valign="top"
 
|- valign="top"
 
| 1
 
| 1
Line 89: Line 90:
 
| WARN
 
| WARN
 
| Idle
 
| Idle
 +
| Check if the network is ok or AUC is work  normally
 
|- valign="top"
 
|- valign="top"
 
| 2
 
| 2
Line 94: Line 96:
 
| FATAL
 
| FATAL
 
| Too hot
 
| Too hot
 +
| Check if the fan is connect successfully
 
|- valign="top"
 
|- valign="top"
 
| 4
 
| 4
Line 99: Line 102:
 
| FATAL
 
| FATAL
 
| Channel 0 loopback failed
 
| Channel 0 loopback failed
 +
| Replace a new hash unit  for channel 0
 
|- valign="top"
 
|- valign="top"
 
| 8
 
| 8
Line 104: Line 108:
 
| FATAL
 
| FATAL
 
| Channel 1 loopback failed
 
| Channel 1 loopback failed
 +
| Replace a new hash unit  for channel 1
 
|- valign="top"
 
|- valign="top"
 
| 16
 
| 16
Line 109: Line 114:
 
| FATAL
 
| FATAL
 
| MCU cann't be detected
 
| MCU cann't be detected
 +
| Replace a new CTRL board
 
|- valign="top"
 
|- valign="top"
 
| 32
 
| 32
Line 114: Line 120:
 
| WARN
 
| WARN
 
| No stratum
 
| No stratum
 +
| Check if the network is ok or AUC is work  normally
 
|- valign="top"
 
|- valign="top"
 
| 64
 
| 64
Line 119: Line 126:
 
| WARN
 
| WARN
 
| Nonce ringbuffer overflow
 
| Nonce ringbuffer overflow
 +
| Ignore it please, If CGMiner is restart, It will be ok.
 
|- valign="top"
 
|- valign="top"
 
| 128
 
| 128
 
| CODE_MMCRCFAILED
 
| CODE_MMCRCFAILED
 
| WARN
 
| WARN
 +
| Ignore it please, If CGMiner is restart, It will be ok.
 
| Find iic rx crc mismatch
 
| Find iic rx crc mismatch
 
|- valign="top"
 
|- valign="top"
Line 128: Line 137:
 
| CODE_MCUCRCFAILED
 
| CODE_MCUCRCFAILED
 
| WARN
 
| WARN
| Find mcu rx crc mismatch
+
| Find mcu rx irc mismatch
 +
| Ignore it please, If CGMiner is restart, It will be ok.
 
|- valign="top"
 
|- valign="top"
 
| 512
 
| 512
Line 134: Line 144:
 
| FATAL
 
| FATAL
 
| Fan cann't be found
 
| Fan cann't be found
 +
| Check the fan connection
 
|- valign="top"
 
|- valign="top"
 
| 1024
 
| 1024
Line 139: Line 150:
 
| FATAL
 
| FATAL
 
| Channel 0 power good failed
 
| Channel 0 power good failed
 +
| Check the PSU for channel 0
 
|- valign="top"
 
|- valign="top"
 
| 2048
 
| 2048
Line 144: Line 156:
 
| FATAL
 
| FATAL
 
| Channel 1 power good failed
 
| Channel 1 power good failed
 +
| Check the PSU for channel 1
 
|- valign="top"
 
|- valign="top"
 
| 4096
 
| 4096
Line 149: Line 162:
 
| FATAL
 
| FATAL
 
| Find bad chip on channel 0 or channel 1
 
| Find bad chip on channel 0 or channel 1
 +
| Replace a new hash unit if hash rate is too low, or else you can ignore it.
 
|- valign="top"
 
|- valign="top"
 
| 8192
 
| 8192
Line 154: Line 168:
 
| FATAL
 
| FATAL
 
| Temperature sensor cann't be detected on channel 0
 
| Temperature sensor cann't be detected on channel 0
 +
| Replace a new hash unit  for channel 0
 
|- valign="top"
 
|- valign="top"
 
| 16384
 
| 16384
Line 159: Line 174:
 
| FATAL
 
| FATAL
 
| Temperature sensor cann't be detected on channel 1
 
| Temperature sensor cann't be detected on channel 1
 +
| Replace a new hash unit  for channel 1
 
|- valign="top"
 
|- valign="top"
 
| 32768
 
| 32768
 
| CODE_VOL_ERR
 
| CODE_VOL_ERR
 
| FATAL
 
| FATAL
| MM is not permit to run at the voltage for safty
+
| MM is not permit to run at the voltage for safety
 +
| Change another PSU for the machine
 
|}
 
|}
 
TYPE meaning:
 
TYPE meaning:

Revision as of 21:25, 2 December 2015

Basic Information

Hashrate:
    3.5T (+-5%)

Power consumption:
    990W (measure on 12V port of the device)
    1100W (on the wall, with assumption of 90% power conversion ratio)

Power per hash:
    270J/THash (device only)
    295J/THash (on the wall, with assumption of 90% power conversion
ratio)

Overclocking:
    Support automatically optimize frequency, no need to overclock manually.

PSU output pin:
    4x6PIN PCIe power connector. *All must be connected.*

PSU requirements:
    Minimum 1100W output, recommend to use high-quality PSU for server
with more than 1200W output and high quality power cable.
    Input voltage no lower than 11.7V and no higher than 12.2V (numbers
take from the controller)
    Lower voltage leads to lower hashrate and higher voltage leads to
possible device burning down.
    NOTICE: Poor quality cable may result in low voltage.

Fan:
    Specs: 12038
    Current: between 1.6A and 2.8A.
    Minimum RPM: 3800.
    *NOTICE* If the fan is broken or the fan's RPM cannot be measure,
the device will not start.

Controller:
    Raspberry Pi (version B or B+)
    Raspberry Pi 2 will be supported at the middle of December 2015
    Each Rpi can control approximately ~12 devices.

AUC:
    Each AUC can connect up to 6 devices.

Dimensions:
    354x136x150mm

Net weight:
    ~4.8kg

Protection Degree:
    IP20

LED

LED Status MEMO
White Power on
Blue Working normally
Yellow blinking Idle normally
Green blinking Detect fan and mcu
White blinking Turn on LED manually
Red blinking Toohot/Loopback failed/PG failed/Coretest failed/Voltage error/Temperature sensor error/No fan

MM Error Codes

Find error here

CODE NAME TYPE MEMO What to do
1 CODE_IDLE WARN Idle Check if the network is ok or AUC is work normally
2 CODE_TOOHOT FATAL Too hot Check if the fan is connect successfully
4 CODE_LOOP0FAILED FATAL Channel 0 loopback failed Replace a new hash unit for channel 0
8 CODE_LOOP1FAILED FATAL Channel 1 loopback failed Replace a new hash unit for channel 1
16 CODE_INVALIDMCU FATAL MCU cann't be detected Replace a new CTRL board
32 CODE_NOSTRATUM WARN No stratum Check if the network is ok or AUC is work normally
64 CODE_RBOVERFLOW WARN Nonce ringbuffer overflow Ignore it please, If CGMiner is restart, It will be ok.
128 CODE_MMCRCFAILED WARN Ignore it please, If CGMiner is restart, It will be ok. Find iic rx crc mismatch
256 CODE_MCUCRCFAILED WARN Find mcu rx irc mismatch Ignore it please, If CGMiner is restart, It will be ok.
512 CODE_NOFAN FATAL Fan cann't be found Check the fan connection
1024 CODE_PG0FAILED FATAL Channel 0 power good failed Check the PSU for channel 0
2048 CODE_PG1FAILED FATAL Channel 1 power good failed Check the PSU for channel 1
4096 CODE_CORETESTFAILED FATAL Find bad chip on channel 0 or channel 1 Replace a new hash unit if hash rate is too low, or else you can ignore it.
8192 CODE_ADC0_ERR FATAL Temperature sensor cann't be detected on channel 0 Replace a new hash unit for channel 0
16384 CODE_ADC1_ERR FATAL Temperature sensor cann't be detected on channel 1 Replace a new hash unit for channel 1
32768 CODE_VOL_ERR FATAL MM is not permit to run at the voltage for safety Change another PSU for the machine

TYPE meaning:

 WARN-It designates potentially harmful situations, but you can ignore it.
 FATAL-It designates very severe error events that will presumably lead the Avalon6 to crash.

Firmware

RPi Firmware

20151111

  • CGMiner:Fix divide by zero in Avalon4 driver
  • CGMiner:Add stratum difficulty in pool api
  • CGMiner:Update option for Avalon6
  • CGMiner:Update Vol api display in Avalon4 driver for Avalon6
  • CGMiner:Update fan adjust for Avalon6
  • CGMiner:Update target temp settting for Avalon6
  • LuCI:Update display information for Avalon6
  • LuCI:Update device name for Avalon6
  • LuCI:Update CGMiner configuration for Avalon6
  • LuCI:Update CGMiner setting for Avalon theme

20151031

  • Fix nonce counter for multiple miners
  • Display ASIC counts as TA in CGMiner status
  • Update maximum difficulty for Avalon4 and Avalon6
  • Update temperature check for Avalon6
  • Add GHSmm for hash rate comparison
  • Display PLL information for Avalon6
  • Turn on nonce check as default for Avalon6
  • Correct on voltage decode
  • Enable adjust frequency automatically as default for Avalon6
  • Decode voltage and temperature decode for Avalon6
  • Support err code for Avalon6

20151001

  • First version of Avalon6 firmware

NEXT-TESTING

  • NOTICE: Only for testing
  • Support Raspberry Pi 2 B
  • Update SmartSpeed in CGMiner
  • Update Temperature process

MM Firmware

2015-11-24

  • Version 601511-f4f59c70
  • Update Core test check rules
  • Update Input voltage check rules (Input voltage should not >= 12.8V)
  • Fix result when run test scripts

2015-11-11

  • Version 601511-e3d244c0
  • Add voltage range detect
  • Check maximum rpm when detect fan polar
  • Check temp for bad ntc resistor
  • Check voltage when MM is starting
  • Monitor powergood when power on
  • Update temperature check
  • Update nonce process
  • Update frequency table
  • Fix conflict address
  • Enable 25MHz clock for debug purpose
  • Disable pll when if miner is invalid when process FREQ_WORK

2015-10-31

  • Version 601510-afa837a0
  • Update IIC and UART communication
  • Support core test by AVA4_P_TEST
  • Update ASIC_FREQMIN to 100MHz
  • Detect ASIC counts by LOOPBACK
  • Fix upgrade failed caused by i2c FIFO overflow
  • Update timer function
  • Use GPIO led as address indicator
  • Always disable the invalid miner when PG or LOOPBACK failed
  • Add PLL status in P_STATUS_M
  • Add err code
  • Support ADC capture
  • Keep free run if MCU can't be detected
  • Update led status
  • Rewrite boot loader with c code

2015-09-30

  • Version 601509-a2613610
  • First MM firmware for Avalon6.0 S
  • Support 2 miners
  • Detect asic counts when start
  • Support target filter

NEXT-TESTING

  • NOTICE: Only for testing

MCU Firmware

2015-10-31

  • Version 6C1508-afa837a0
  • For adc and temperature capture use MM protocal

Software Development

CGMiner Under Ubuntu 14.04

# Daily building: http://build.canaan-creative.com:8080/~buildbot/avalon6/
#Inside your home directory, download Cgminer
git clone https://github.com/Canaan-Creative/cgminer
cd cgminer
git checkout origin/avalon4 -b avalon4
./autogen.sh --enable-avalon4
make -j 4
# Run
sudo ./cgminer --avalon4-freq 200 --avalon4-voltage 7125 -o http://stratum.pool:3333 -u  work -p pass 
or
sudo ./cgminer --avalon4-freq 200 --avalon4-voltage 7125 -o http://stratum.pool:3333 -u  work -p pass --api-allow W:192.168.2,W:192.168.2.1 --api-listen $@ 2>./log

MM

* Daily building: http://build.canaan-creative.com:8080/~buildbot/mm60/
* Avalon6 TB2 ===
$ make -C firmware PLATFORM=MM60_TB2
* Avalon6.0 S ===
$ make -C firmware

TODO

OpenWrt

  1. Support Raspberry Pi 2B
  2. Update with the master branch
  3. Support Avalon6 in LuCI (Advanced version)
  4. Keep more coding on LuCI (Avalon theme)

CGMiner

  1. Add auto speed option
  2. Merge the Avalon6 code to CK's master

MM

  1. New board Avalon 6.2 support
  2. POST
  3. Temperature support
  4. LPC11U14 program/update
  5. Change stratum code to libstratum.a
  6. Support diff = 1

Known Issues

  1. MM Firmware upgrade failed