EEPROM — энергонезависимая микросхема памяти на плате майнера (чаще — на каждом hashboard), где хранятся критичные данные: идентификаторы платы, калибровка/страпы, иногда версия/конфиг микроконтроллера (PIC controller) и служебные флаги. Если EEPROM повреждена или недоступна, майнер неправильно инициализирует плату, что приводит к ошибкам вида «EEPROM error», «EEPROM NG», «chain missing», «find 0 asic» и пр., падению хешрейта или полной остановке устройства.
Коротко о 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-контроллер.
Связанные термины и гайды
- Hashboard — как устроена плата и что на ней важно.
- PIC-контроллер — роль МК на плате и инициализация.
- CRC/nonce CRC — контроль целостности и почему ошибки растут.
- PWM вентилятора — обороты и защита по вентилятору.
- NTC-термистор — датчик температуры и его отказы.
- PSU (блок питания) — защита и типовые просадки/перегрузки.
- Kernel log: коды и расшифровка — где смотреть и как читать.
- Ошибки майнеров: индекс кодов и сообщений — быстрый переход к нужной ошибке
