 -			return 0;
 +			applog(LOG_INFO, "Avalon2: Miner Manager pool coinbase length(%d) is more than %d",
 +				pool->coinbase_len, AVA2_P_COINBASE_SIZE);
++			if (mm_cmp_1406(info)) {
++				applog(LOG_ERR, "Avalon2: MM version less then 1406");
++				return 0;
++			}
 +			if ((pool->coinbase_len - pool->nonce2_offset + 64) > AVA2_P_COINBASE_SIZE) {
 +				applog(LOG_ERR, "Avalon2: Miner Manager pool modified coinbase length(%d) is more than %d",
 +					pool->coinbase_len - pool->nonce2_offset + 64, AVA2_P_COINBASE_SIZE);

 		sprintf(buf, "ID%d MM Version", i + 1);
 		root = api_add_string(root, buf, &(info->mm_version[i]), false);
 	}
@@ -802,15 +986,15 @@ static struct api_data *avalon2_api_stats(struct cgpu_info *cgpu)
 	minerindex = 0;
 	minercount = 0;
 	for (i = 0; i < AVA2_DEFAULT_MODULARS; i++) {

 
 	/* Send out the first stratum message STATIC */
 	applog(LOG_DEBUG, "Avalon2: Pool stratum message STATIC: %d, %d, %d, %d, %d",
@@ -454,35 +557,62 @@ static int avalon2_stratum_pkgs(int fd, struct pool *pool, struct thr_info *thr)
 	while (avalon2_send_pkg(fd, &pkg, thr) != AVA2_SEND_OK)
 		;
 
