EEPROM в майнинге — что это, где находится и почему даёт ошибку (Antminer/Whatsminer)

EEPROM — энергонезависимая микросхема памяти на плате майнера (чаще — на каждом hashboard), где хранятся критичные данные: идентификаторы платы, калибровка/страпы, иногда версия/конфиг микроконтроллера (PIC controller) и служебные флаги. Если EEPROM повреждена или недоступна, майнер неправильно инициализирует плату, что приводит к ошибкам вида «EEPROM error», «EEPROM NG», «chain missing», «find 0 asic» и пр., падению хешрейта или полной остановке устройства.

EEPROM на hashboard: зачем нужна и почему ломается

Коротко о EEPROM

  • Что это: крошечная энергонезависимая память (обычно I²C/SPI), где лежат «паспорт» и настройки платы.
  • Где искать: рядом с коннекторами шлейфов/датчиков на hashboard, в паре с PIC-контроллером.
  • Чем проявляется сбой: «EEPROM error / NG», «find 0 asic», «chain X missing», высокий счётчик CRC, нестабильный старт.
  • Что делать сначала: проверить питание/шлейфы/датчики, перезагрузить в сток-профиле, сверить прошивку и лог Kernel log.
  • Когда ремонт: если ошибка воспроизводится в стоке и на заведомо исправном PSU/шлейфах/вентиляторах — плата/EEPROM/MCU требуют сервисной диагностики.

Что такое EEPROM и чем отличается от Flash

EEPROM (Electrically Erasable Programmable Read-Only Memory) — «перепрограммируемая ПЗУ»:

  • Энергонезависима: данные не пропадают при выключении.
  • По байтам/страницам: обычно доступ к небольшим объёмам (кило–десятки килобайт).
  • Интерфейс: типично I²C (серии 24Cxx: 24C02/04/08/16) или SPI (серии 25xx).
  • Ресурс перезаписи: ограничен (сотни тыс.–млн циклов в зависимости от чипа и режима записи).

Flash-память (наружная или в составе микроконтроллера) хранит «тяжёлые» данные — прошивки, большие таблицы. Flash стирают блоками, а EEPROM — мелко/странично. В майнинге EEPROM — это «паспорт + калибровка», Flash — «прошивка/код».

Где находится EEPROM на Antminer/Whatsminer

  • Antminer (Bitmain): на каждом hashboard есть малая память + микроконтроллер (часто PIC). В логе встречаются строки про PIC/EEPROM/chain. Невалидные/недоступные данные → «EEPROM error/NG», «chain X missing», «find 0 asic».
  • Whatsminer (MicroBT): конструктив и обозначения другие, но логика похожа: плата должна корректно отдать контроллеру свою «визитку» и калибровки. При провале — коды и статусы в панели/журнале (см. Kernel log).

Совет: визуально EEPROM — это маленькая SOIC/SOT-упаковка рядом со шлейфами/датчиками; по маркировке и дорожкам можно отличить 24Cxx (I²C) от 25xx (SPI).

Как проявляются ошибки EEPROM в журналах

Сводка типовых симптомов (формулировки варьируются по сериям и прошивкам):

Симптом в логе/панели Что реально происходит Почему так Первые шаги
EEPROM error / EEPROM NG Контроллер не может прочитать «паспорт»/настройки платы. Плохой контакт/шлейф, сбой питания, повреждение данных/чипа, несоответствие версии. Сброс профиля в сток, проверить шлейфы, питание, перегрев; сверить прошивку, перезагрузка, тест по одной плате.
chain X missing / find 0 asic Плата «немая» либо не проходит инициализацию чипов. Нет связи с EEPROM/PIC, дефект платы/датчика, сильные CRC-ошибки. Проверить шлейфы/коннекторы, вентиляторы/датчики, PSU; смотреть Kernel log по шагам.
PIC error / PIC init fail МК на плате не инициализирует конфиг/калибровки. Ошибка прошивки/конфигурации PIC, нет связи с EEPROM. Сток-прошивка, SD-восстановление контроллера (если доступно), изоляция платы для теста.
nonce CRC error counter is high Нестабильная связь с чипами/шинами. Питание/наводки/температура, повреждённые данные калибровки. PSU/заземление/охлаждение; вернуть сток-частоты; если повторяется — стендовая диагностика.

Подробные формулировки и примеры смотрите в разборе Kernel log — там приведены характерные строки для Antminer/Whatsminer.

Почему EEPROM «сыпется» в майнинге

  • Тепловой стресс и пыль: перегревы/охлаждения по «пилу», забитые радиаторы, локальный перегрев вокруг контроллера.
  • Питание/наводки: просадки/пики на PSU, плохое заземление, «шумная» сеть → ошибки по I²C/SPI.
  • Вибрации/механика: «гуляющие» коннекторы/шлейфы, окисленные контакты.
  • Запись «не вовремя»: выключение во время записи странички EEPROM (обрыв питания → частично записанные данные).
  • Несовместимые прошивки/профили: калибровка «от другой ревизии»; попытки тюнинга без бэкапа исходных данных.
  • Старение/брак: деградация ячеек, редкие заводские дефекты.

Чек-лист диагностики (без пайки)

1. Сток и чистый стенд: вернуть профиль/частоты по умолчанию, отключить разгон/касты. 2. Лог сразу после сбоя: снять kernel/current/history (см. инструкцию) и отметить дату/время. 3. Окружение: температура/влажность/пыль; поток воздуха; состояние вентиляторов (PWM, RPM). 4. Питание: проверить ввод/линию/кабели/контакты; по возможности — другой PSU. 5. Шлейфы/датчики: перекинуть шлейфы местами, осмотреть коннекторы; проверить NTC-термисторы на адекватные показания. 6. Изоляция модуля: запуск с одной платой; поменять слоты/кабели; сверить, какая цепочка «немая». 7. Прошивка/восстановление: убедиться в совместимости версии контроллера/платы; если предусмотрен SD-recovery, выполнить по мануалу производителя. 8. Повторяемость: если «EEPROM error/NG» воспроизводится в стоке и на второй инфраструктуре — передавать на сервисную диагностику платы (EEPROM/PIC/шины).

Таблица «симптом → причина → действие»

Симптом Вероятные причины Что сделать сначала Если не помогло
EEPROM error (Antminer/Whatsminer) Плохой контакт, повреждение данных, несоответствие ревизии/прошивки Сток-профиль, проверка шлейфов/PSU/датчиков, холодная перезагрузка SD-восстановление (если доступно), сервисная диагностика платы/EEPROM/PIC
EEPROM NG Невалидная сигнатура/контент То же + запуск с одной платой, лог после старта Проверка совместимости прошивки/ревизии; сервис
chain missing / find 0 asic Нет связи с платой (зона PIC/EEPROM/шина), аппаратная неисправность Шлейфы/питание/вентиляторы, тест по одной плате Ремонт hashboard (трассы, EEPROM/PIC, питание чипов)
CRC counter high / nonce CRC Шум/питание/перегрев/частоты; «битая» калибровка PSU/заземление/охлаждение; сток-частоты Сервис (шина, чипы, калибровка EEPROM)

Безопасное обновление и восстановление (общие принципы)

В каждом семействе есть свой порядок. Ниже — общая логика, а не инструкция к конкретной модели.

  • Бэкап перед действиями: сохранить текущие логи, версии прошивок и доступные конфиги.
  • Совместимость: сверить ревизию hashboard, требуемую версию контроллера/прошивки; не заливать «чужие» дампы.
  • Чистый стенд и стабильное питание: исключить просадки, не прерывать питание во время записи.
  • SD-recovery (если предусмотрен): загрузка «чистого» образа контроллера для повторной инициализации платы (по мануалу производителя).
  • Проверка результата: холодный старт → лог; отсутствие повторяющихся ошибок в стоке.

Если после «чистой» процедуры ошибка EEPROM/NG возвращается — это аппаратная проблема (сам чип, шина, PIC, питание платы). Нужен стенд и профильный ремонт.

Практика: как понять, что дело именно в EEPROM

  • Ошибка EEPROM появляется раньше любых попыток чипов хешировать (инициализация не проходит).
  • На другом PSU/шлейфах/вентиляторах симптом сохраняется.
  • При старте с одной платой (остальные отключены) проблема следует за конкретной платой.
  • В логе рядом — упоминания PIC/chain/EEPROM; нет стабильных значений датчиков (NTC), оборотов вентиляторов, частот.

Профилактика сбоев EEPROM

  • Температура и пыль: регулярная продувка/чистка; следить за температурным профилем (без «пилы»).
  • Питание/заземление: качественный ввод/кабели, нормальные контакты, корректная мощность PSU.
  • Сток-режим при обслуживании: любые манипуляции/обновления — только в стоке.
  • Бережно со шлейфами: фиксировать/не «ломать» коннекторы.
  • Учёт прошивок/ревизий: вести журнал комплектации и изменений (что/когда обновляли).

Мини-FAQ

Что значит «EEPROM NG»? Память откликнулась, но содержимое не проходит проверку (сигнатура/структура/контрольные поля). Это не «молчание», а некорректные данные.

Можно ли «вылечить прошивкой»? Если причина — только «битые» данные и шина/чип целые — иногда помогает восстановление/инициализация. Но аппаратный дефект (чип/шина/пайка) прошивкой не исправить.

Всегда ли «find 0 asic» — это EEPROM? Не всегда. Это общий признак «плата не инициализирована». Часто рядом будет и EEPROM/PIC-ошибка. Смотрите весь журнал.

Чем EEPROM отличается от PIC? EEPROM — память, PIC — микроконтроллер; в связке PIC читает/пишет EEPROM и инициализирует плату. Подробнее — в статье про PIC-контроллер.

Связанные термины и гайды

Task Runner