 +	info->fan_pwm = get_fan_pwm(3 * t - 110);
 +}
 +
-+static inline int mm_cmp_1204(struct avalon2_info *info, int modular)
++static inline int mm_cmp_1404(struct avalon2_info *info, int modular)
 +{
-+	char *mm_1204 = "1204";
-+	return strncmp(info->mm_version[modular] + 2, mm_1204, 4) >= 0 ? 1 : 0;
++	char *mm_1404 = "1404";
++	return strncmp(info->mm_version[modular] + 2, mm_1404, 4) >= 0 ? 0 : 1;
 +}
 +
 +extern void submit_nonce2_nonce(struct thr_info *thr, struct pool *pool, struct pool *real_pool, uint32_t nonce2, uint32_t nonce);

 	submit_nonce(thr, work, nonce);
 	free_work(work);
diff --git a/driver-avalon2.c b/driver-avalon2.c
index 1a318ab..3da93ce 100644
--- a/driver-avalon2.c
+++ b/driver-avalon2.c
@@ -42,6 +42,8 @@

+			tmp = be32toh(i); /* ID */
 			memcpy(send_pkg.data + 28, &tmp, 4);
-			avalon2_init_pkg(&send_pkg, AVA2_P_POLLING, 1, 1);
+			if (info->led_red[i] && mm_cmp_1404(info, i)) {
+				avalon2_init_pkg(&send_pkg, AVA2_P_TEST, 1, 1);
+				while (avalon2_send_pkg(info->fd, &send_pkg, thr) != AVA2_SEND_OK)
+					;
