Контроллер WB8.5 перестал загружаться

Добрый день, команда WirenBoard!
Приобрел себе WB8.5 (4/64ГБ) с предустановленными WBE2R-R-ZIGBEE-SH v1.4 и WBE2R-R-ZIGBEE v2.4 + блок питания MORNSUN LI100-20B24PR2 для построения умного дома на Sput.hub. Настроил SH оперативно, добавил ZigBee устройства и скрипты для них, все шло как по маслу, но при установке microSD карты (SanDisk Ultra 32GB) начались проблемы. Карту не было видно ни в интерфейсе Sprut.hub, ни в интерфейсе WirenBoard. Начал читать форумы, нашел папку монтирования /mnt/sdcard. Доступа к папке нет, все ее реквизиты отображаются знаками вопроса (см. ниже):

root@wirenboard-A5GP4NZN:/mnt# ls -la
ls: cannot access ‘sdcard’: No such device
total 12
drwxr-sr-x 4 root root 4096 Nov 4 00:27 .
drwxr-sr-x 17 root makesimple 4096 Jun 26 00:45 …
drwxr-xr-x 9 root root 4096 Oct 31 16:17 data
d??? ? ? ? ? ? sdcard

Проверил microSD карту, результат - один раздел, формат FAT32, ответы системы приведены ниже:

root@wirenboard-A5GP4NZN:~# fdisk -l /dev/mmcblk1
Disk /dev/mmcblk1: 29.72 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb3137c90

Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 2048 62333951 62331904 29.7G b W95 FAT32

root@wirenboard-A5GP4NZN:~# lsblk -f /dev/mmcblk1
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
mmcblk1
└─mmcblk1p1

На следующий день после тщетной попытки монтирования microSD карты контроллер перестал отвечать по SSH и был обнаружен в циклической перезагрезке. При подаче питания контроллер издает звуковой сигнал и зажигает зеленый светодиод, 11 секунд спустя диод моргает несколько раз красным цветом с частотой примерно раз в секунду и через 2 минуты контроллер уходит в перезагрузку.

Чат поддержки Sprut.hub счел проблему аппаратной и отправил в WirenBoard.

На сайте поддержки Wirenboard я нашел информацию о порте Dedub USB и утилите MobaXterm. Выполнил рекомендации по извлечению всех модулей расширения и выполнил старт с записью лога, выкладываю его в закрепе. Нажатие и удержание кнопки Watchdog таймера не особо меняет поведение контроллера. От так же останавливает загрузку на строке:

2.677736] —[ end Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance. ]—

…но не перезагружается. Диод подолжает мигать красным цветом, последующей попытки загрузки через 2 минуты не происходит.

Прошу меня направить на путь исцеления контроллера.

П.С. Хотелось бы сохранить и как-то выдернуть из его памяти бекап SH, чтобы сохранить настройки сопряженных ZigBee релешек, и не разбирать подрозетники где они спрятаны повторно.

MobaXterm_WB8.5_20251104_144708.rtf (100,7 КБ)

Мне нужно переписать файл бекапа Sprut.hub с встроенной eMMC на установленную microSD, для этого нужно разбираться в u-boot, т.к. мой WB8.5 загрузиться не может. После этого я откачусь к заводстким настройкам через firmware reset и восстановлю Sprut.hub из бекапа.

Прошу помощи тех специалиста WB, разбирающегося в u-boot загрузщике и для кого команды приведенные ниже не пустой звук.

  • mmc list
  • mmc dev 1
  • ext4load mmc 1:6 0xc2600000 /makesimple/.Backup/SprutHub-Auto-20251103231326.tar.gz
  • md.b 0xc2600000 307ff
  • fatwrite mmc 0:1 0xc2600000 backup.file 0x307ff

Получен дамп памяти файла бекапа (прикреплен), как из него сделать человеческий бекап, который примет Sprut.hub?
backup.file.txt (933,6 КБ)

Полное форматирование (не выстрое) microSD карты дало результаты: команда fatwrite mmc 0:1 0xc2600000 sh_backup 0x307ff была исполнена с результатом в виде файла

Как я могу проверить валидный ли это бекап Спрутхаба?

Добрый день.

Какая файловая система на этой карте? Какая кодировка используется на хост-машине? То есть на той с которой вы работаете с контроллером.

Хотя на первый вопрос ответ есть:

Отсутствует часть системных файлов.
Рекомендую выполнить FactoryReset.

Вот тут не подскажу, SprutHub - это закрытое ПО, у нас, к сожалению, нет никакой документации по нему.

Понимаем ваше негодование: к сожалению не можем помогать совместно со спрутхабом на одной площадке, но у нас есть с ними связь. Можете обратиться с вопросом про бэкап к SprutHub и сообщить нам, если не помогут или отправят к нам обратно.

если вы так глубоко залезли, то я бы слил целиком директорию спрутхаба, или вообще побайтный образ всего eMMC целиком. Медленно, но надёжно, и после этого вы можете уже наконец восстановить контроллер и не мучиться с u-boot-ом.

Евгений, спасибо!
Полученный мною бинарник бекапа через ю-бут не был распознан рабочим спрутхабом (есть еще одна жележка в поле доступа). Есть подозрение, что я что-то сделал неправильно. Пожалуйста, научите правильно бекапить директорию спрута или eMMC целиком.

Дмитрий, добрый вечер! Постараюсь вам помочь. Несколько уточняющих вопросов.
Насколько я помню, бекапы SH сохраняются в отдельных файлах вида /makesimple/.Backup/SprutHub-Auto-YYYYmmddHHMMSS.tar.gz – вы такой бекап копировали и проверяли? А через что переносили, через microSD?
Железка с SH – это железка СпрутХаба, или тоже контроллер Wiren Board? На компютере у вас Windows, судя по MobaXterm, машины с Linux нет?

Добрый вечер, JackDallas!
Вы абсолютно правильно помните адрес и формат бекапов спрута. Именно такой файлик (самый свежий судя по времени и дате) я перенес с eMMC на microSD с помощью команд в u-boot. Этот файл является архивом, а потому его разархивация с сохранением структуры каталогов и файлов внем было первым положительным признаком. Второй положительный момент заключался в том, что этот бекап Спрутхаб смог распознать. Да, у меня имеется еще один умный дом на Спруте, где используется контроллер Sprut.hub 2. Машину с Windows пришлось откопать для использования рекомендованного приложения MobaXterm для снятия логов. Найти машину на Linux тоже не составляет труда. Ubuntu 24 Server подойдет?

Спасибо! Понятно: получается, сам архив бекапа вы смогли перенести на спрутхаб, он без ошибок разархивируется, и распознается Спрутхабом, который на Sprut.hub 2. А вот эт, “Полученный мною бинарник бекапа через ю-бут не был распознан рабочим спрутхабом” – это про что-то другое? Кажется, что если сам файл архива не битый, то и Спрут Хаб на контроллере должен его потом подхватить нормально.

К сожалению, директорию целиком переносить можно только пофайлово, архив из ю-бута не создать: надо будет поддиректории на карточке создавать через fatmkdir и каждый файл переносить через ext4load и fatwrite (как вы, наверное, и делали с gz-шником). Поэтому, наверное, проще скопировать в образ весь раздел целиком, и на машине с Ubuntu 24 его замонтировать и вытаскивать уже файлы. Но тут другая сложность: поскольку копирование проходит через оперативную память (4 Gb) а раздел большой (~55 GiB), то копировать придется кусками, переносить и склеивать их в один образ, а потом монтировать.

Но для начала я бы посмотрел, имеются ли другие SprutHub-Auto-…tar.gz-архивы, и попробовал бы их проверить, прежде чем приниматься за ручное копирование большого числа файлов.
Если не получится с архивами, попробую завтра подробно описать, как перенести образ раздела.

2 Likes

JackDallas, благодарю Вас за терпение и желание помочь.
“Полученный мною бинарник” был неудачной попыткой сделать бекап файл из дампа памяти. Вторая попытка привела к архиву, который работает. Его видит другой спрутхаб, он разархивируется без ошибок. Описанная вами схема копирования каталогов под u-boot меня впечатлила настолько, что я решил во что бы то ни стало восстановить систему сегодня, лишь бы не прибегать к такому копированию каталогов )) В итоге у меня получилось и сейчас загружается и WB, и Sprut.hub тоже. К бекапу не пришлось обращаться, т.к. пользовался восстановлением firmware через файл wb_update.fit на microSD. Спрут будучи установленным в прежнюю директорию нашёл все свои файлы конфигурации. Zigbee устройства не пришлось сопрягать. По вашей рекомендации я сделал резервное копирование всей директории /mnt на локальный NAS. Пусть будет!

Поэтому писать инструкцию по переносу образа раздела не требуется. Разве что для будущих запросов на эту нему.

Еще раз огромное спасибо!