Полный гайд: прошивка Elegoo Neptune 4 / Pro / Plus / Max через eMMC адаптер (OpenNept4une) - Блог Папы Карло

Опубликовано: 6 месяцев назад
Просмотров: 1468

Что понадобится ✅

  • 🧩 eMMC модуль из принтера (обычно 8GB)
  • 🔌 eMMC USB-адаптер (лучше Type-C; у тебя заработал только 3-й — это нормально)
  • 🪪 microSD (FAT32) для прошивки MCU (на этапе OpenNept4une)
  • 💻 ПК на Windows
  • 🌐 доступ к роутеру (чтобы найти IP)

0) Определяем модель и PCB версию (чтобы не залить “не тот образ”) 🧠

0.1. Какая модель принтера

  • Neptune 4 / 4 Pro → образ V1.x
  • Neptune 4 Plus / 4 Max → образ V2.0

0.2. Где смотреть PCB version

PCB написан на красной плате (внутри) — как ты и заметил:

  • ZNP-K1 V1.0 / V1.1 / V1.2 ... → это V1.x
  • ZNP-K1 V2.0 → это V2.0

1) Скачиваем образ OpenNept4une 📥

Рекомендованный проект:

Скачиваешь релизный файл .img.xz.

✅ Для Neptune 4 / Pro:

  • Neptune4+Pro-...-ZNP-K1-V1.x.img.xz

✅ Для Plus / Max:

  • Neptune4-Plus+Max-...-ZNP-K1-V2.0.img.xz

2) Подключаем eMMC к Windows и решаем “Нет носителя” 🧨

2.1. Проверяем, видит ли Windows диск

Открой PowerShell от администратора и выполни:

Get-Disk | Sort-Object Number | Format-Table Number, FriendlyName, OperationalStatus, Size

Если eMMC виден — будет диск примерно 7–8GB.


2.2. Если Windows пишет “Нет носителя / No media / 0 bytes”

Это частый глюк адаптера/инициализации. Твой рабочий лайфхак 👇

Шаг A: “разбудить” адаптер microSD

  1. Вставь обычную microSD в USB-microSD адаптер (если у тебя именно такой путь)
  2. Проверь, что Windows видит носитель:
Get-Volume | Format-Table DriveLetter, FileSystemLabel, FileSystem, SizeRemaining, Size
  1. Извлеки microSD.
  2. Вставь обратно eMMC в eMMC-адаптер.
  3. Снова проверь:
Get-Disk | Sort-Object Number | Format-Table Number, FriendlyName, OperationalStatus, Size

Если после “прогрева” eMMC появился как диск — отлично.


2.3. Если всё равно 0 bytes / No media

Делаем ещё 3 проверки:

Проверка 1: Diskpart

diskpart
list disk
exit

Если размер 0 B — Windows видит контроллер, но не видит память. Часто:

  • плохой адаптер
  • плохой контакт
  • eMMC реально умер

Проверка 2: другой USB порт

  • попробуй USB 2.0 порт
  • другой кабель
  • другой ПК

Проверка 3: переустановить eMMC в адаптер (контакт)

  • вынуть
  • протереть контакты
  • вставить до конца

3) Записываем образ на eMMC (Windows) 🧷

Ты уже подтвердил: Etcher записал с первого раза — это лучший вариант.


Вариант A: balenaEtcher (рекомендовано) ✅

  1. Устанавливаешь Etcher
  2. Выбираешь файл .img.xz
  3. Выбираешь target (eMMC!)
  4. Flash

Команд тут нет — это GUI, но есть контрольная проверка ниже.


Вариант B: 7-Zip + Rufus (если Etcher не хочет)

1) Распаковать .xz в .img

Через 7-Zip (GUI) или в PowerShell (если есть 7z в PATH):

7z x "Neptune4+Pro-...img.xz"

2) Rufus

  • Select: .img
  • Start
  • Write in DD Image mode (если спросит)

4) Проверяем, что eMMC записался правильно (Windows) ✅

Открой PowerShell и посмотри разметку:

Get-Partition -DiskNumber <N> | Format-Table PartitionNumber, DriveLetter, Size, Type

Где <N> — номер диска из Get-Disk.

Нормальная картина (примерно):

  • маленький раздел ~256MB (boot)
  • большой раздел ~7GB (Linux)
  • может быть немного unallocated (служебное)

Если Windows предлагает “отформатировать” — НЕ соглашайся.


5) Ставим eMMC обратно в принтер 🔩

  1. Выключи принтер из сети
  2. Вставь eMMC в плату ZNP-K1 (до упора)
  3. Собери корпус
  4. Включи питание

⏳ Первый запуск иногда дольше обычного.


6) Находим IP принтера 🌐

6.1. Через роутер

В DHCP списке будет новое устройство (часто по имени типа znp-k1 / armbian / opennept4une).

6.2. Если ты в одной сети и знаешь диапазон (Windows)

Можно просканировать nmap (если установлен). Если нет — пропусти.


7) Заходим по SSH 🔑

Пробуем варианты (в зависимости от образа):

Вариант 1

ssh root@IP_ПРИНТЕРА

Вариант 2

ssh mks@IP_ПРИНТЕРА

Если пароль неизвестен — смотри релиз/док OpenNept4une для конкретного образа. (Тут я не буду придумывать пароль.)


8) Базовая диагностика системы (обязательные команды) 🧪

После входа по SSH:

8.1. Что за ОС

cat /etc/os-release

8.2. Сеть и IP

ip a

8.3. Место на диске

df -h

8.4. Разметка eMMC

lsblk

9) (Опционально) Расширить файловую систему (обычно нужно только >8GB) 💾

Если eMMC 16/32GB — делай. Если 8GB и всё нормально — можно не трогать.

9.1. Установить утилиту (если growpart отсутствует)

sudo apt update
sudo apt install -y cloud-guest-utils

9.2. Расширить раздел 2

sudo growpart /dev/mmcblk0 2

9.3. Расширить файловую систему

sudo resize2fs /dev/mmcblk0p2

9.4. Проверить

df -h
lsblk

10) Открываем Fluidd ✅

В браузере:

http://IP_ПРИНТЕРА/

11) Самое важное: прошивка MCU (STM32) в OpenNept4une 🔥

Ты как раз дошёл до этого участка в инструкции.

11.1. Запускаем меню OpenNept4une

Команда зависит от того, как они положили скрипт. Обычно это либо алиас, либо бинарь. Пробуем так:

opennept4une

Если команда не найдена — ищем:

ls -la ~
ls -la /usr/local/bin | grep -i nept
ls -la /usr/bin | grep -i nept

Если нашёлся файл-скрипт (пример), запускаем:

sudo /path/to/opennept4une

11.2. Выбор PCB version (важно) 🧠

В меню:

  • Neptune 4 / Pro → ZNP-K1 V1.x
  • Plus / Max → ZNP-K1 V2.0

11.3. Выбор пункта прошивки MCU

В меню выбираем:

  • 4) Update MCU & Virtual MCU Firmware
  • затем 4) ALL

11.4. Скачиваем сгенерированные BIN из Fluidd

Переходим:

http://IP_ПРИНТЕРА/#/configure

Слева: Configuration Files → Firmware

Скачай файлы:

  • X_4.bin
  • elegoo_k1.bin

11.5. Готовим microSD (FAT32) 💳

На Windows форматируй microSD в FAT32 (быстрый формат).
Скопируй оба файла в корень microSD:

X_4.bin
elegoo_k1.bin

11.6. Продолжаем скрипт

Возвращаемся в SSH/скрипт и подтверждаем продолжение:

y

Если спросит про акселерометр Pico/MellowFly и у тебя его нет:

s

11.7. Виртуальный MCU (rpi) прошьётся сам

Он автоматически прошьёт “virtual mcu” и перезагрузит хост.

После перезагрузки снова зайди в Fluidd и сделай правильное выключение:

Через Fluidd:

... → Host → Shutdown

Или по SSH:

sudo shutdown -h now

⏳ Подожди ~20 секунд.


11.8. Очень важное перед MCU прошивкой с microSD ⚠️

Отключи всё лишнее из USB (камера и т.п.). Они предупреждают не просто так.


11.9. Вставляем microSD в принтер и включаем питание

  • принтер полностью выключен
  • вставь microSD в нужный слот (на плате принтера, не в экран)
  • включи питание

11.10. Признак успеха

После прошивки один из файлов на microSD переименуется в .CUR, например:

X_4.cur

11.11. Проверяем версии MCU в Fluidd

В Fluidd → System (или Machine) проверяем, что MCU живой.


12) Создаём/обновляем printer.cfg (без него Klipper “halted”) 🧾

Путь обычно:

/home/mks/printer_data/config/printer.cfg

Проверяем папку:

ls -la /home/mks/printer_data/config

Если printer.cfg нет — создаём:

nano /home/mks/printer_data/config/printer.cfg

После правок:

  • сохранить (Ctrl+X → Y → Enter)
  • перезапустить Klipper:
sudo systemctl restart klipper

13) Обслуживание: обновления модулей Fluidd 🧩

В Fluidd:

  • Settings → Software Updates → Check → Update All

14) Камера (mjpg vs yuyv) 📷

Выбор:

  • MJPG
  • Разрешение: 640x480
  • FPS: 10–15

15) Правильное выключение (чтобы не убить eMMC) ⚡

Через Fluidd:

  • Host → Shutdown

Или по SSH:

sudo shutdown -h now

Только после этого выключать тумблер.


🧨 Частые проблемы и команды диагностики

A) UI зависает, X/Y/Z = ??? на экране

Почти всегда MCU/конфиг.

Смотри логи Klipper:

tail -n 200 /home/mks/printer_data/logs/klippy.log

Сервис klipper:

systemctl status klipper --no-pager

Сервис moonraker:

systemctl status moonraker --no-pager

B) “Unable to open config file printer.cfg”

Создай файл и перезапусти:

ls -la /home/mks/printer_data/config
nano /home/mks/printer_data/config/printer.cfg
sudo systemctl restart klipper

C) “min_temp must be specified”

Добавь в [extruder] и [heater_bed]:

min_temp: 0
max_temp: 300

и для bed:

min_temp: 0
max_temp: 120

✅ Встроенные твои наблюдения (как рабочие правила)

  • ✅ Лучше писать eMMC через balenaEtcher — меньше сюрпризов.
  • ✅ Если Windows пишет “Нет носителя”, иногда помогает “прогреть” адаптер обычной microSD, потом снова eMMC.
  • ✅ PCB version читаем на красной плате.
  • ✅ Образ берём с OpenNept4une (как ты и советуешь).