Проблемы с прошивкой WB 7.3.4 или как я /root увеличивал и стал шаманом

Прочитал где-то на форуме поддержки что доступно обновление с увеличением объёма памяти в корневом каталоге с 1 до 2 Гб и решил, а почему бы и да? Скачал прошивку latest.fit для 7-го контроллера с тестовой версией, обновился по инструкции - сначала без сброса к заводским - просто обновление, чтобы сохранить свои настройки.

После обновления корневой каталог остался таким же как и раньше - 1 Гб. Ну, раз такое дело, подумал я, сброшусь к заводским настройкам. Переименовал прошивку по инструкции сделал бэкап каталога mnt/data/etc и включил обновление со сбросом. Всё прошилось, контроллер перезагрузился, но почему-то память в корне осталась 1 Гб.

Что за чёрт подумал я и тут увидел в веб-интерфейсе есть опция скачать прошивку и обновиться и под этим всем делом флажок - попытаться увеличить rootFS если возможно. Увидено — сделано. Обновился, но веб-интерфейс потерял связь с контроллером, а при попытке зайти на контроллер по ssh я получал сообщение «connection refused» или «no route to host».

Более того при попытке опять обновить прошивку перестала работать кнопка FW, точнее мне так показалось сначала. На самом деле кнопка работала, раздавался один короткий сигнал при загрузке, но далее при удержании кнопки FW, не начиналась загрузка обновления, контроллер загружался с тем самым ПО, которое не позволяло доступа ни через веб-интерфейс, ни по ssh. Потом я обратил внимание, что контроллер периодически перезагружается, причём происходило это так: появлялась на короткое время связь по веб-интерфейсу буквально на 10-15 секунд и в этот момент контроллер уходил в перезагрузку. При этом по ssh сконнектиться категорически не удавалось, как не удавалось и что-либо успеть предпринять через веб-интерфейс. Первым делом я подумал про вотчдог… Короче чтобы отключать/включать watch dog - припаял к указанным на плате контроллера контактам короткий хвостик с джампером, отключил, но контроллер перезагружался всё равно. Тут до меня дошло, что его перезагружает не аппаратный, а программный watchdog.

Предпринял попытку обновиться через разъем debug network. У меня возникала при этом странная ошибка - ноутбук определял диск размером всего 512 КБ и таким образом не было ни малейшей возможности закачать туда прошивку размером в 200 мб с лишним.

Пришлось осваивать связь с контроллером через консоль отладки. Скачал-настроил minicom, загрузился. Отключил программный watchdog. Понял, что мало понимаю, а что же мне собственно дальше тут делать, но в процессе загрузок/перезагрузок наконец появилась какая-то ясность, т. к. сообщения на экране загрузки, которых я ранее не видел, помогли-таки включить обновление с флешки.

В общем - прошивка поставилась, более того наконец-то появились 2 Гб в руте, я вернул свои настройки скопировал обратно в mnt/data/etc свои файлы, и… контроллер немедленно потерял связь и с веб-интерфейсом и по ssh.

Тогда я снова обновился и стал осторожно возвращать свои настройки по частям. На всякий случай не стал возвращать сетевые настройки, настройки сервера nginx, и настройки ssh. В таком виде контроллер заработал.

Понимаю - что-то всё-же прошло нештатно. И тому есть подтверждение: при выполнении команд apt update && apt upgrade применяется обновление, указанное ниже

wb-release-info/testing 1.0-testing~wb7+bullseye~20230609150519 all [может быть обновлён с: 1.0-testing~wb7+bullseye~20230606060341]

wb-release-info/now 1.0-testing~wb7+bullseye~20230606060341 all [установлен, может быть обновлён до: 1.0-testing~wb7+bullseye~20230609150519]

и контроллер тут же теряет связь с веб-интерфейсом и по ssh.

Понимаю что изложил всё довольно сумбурно, но надеюсь основную суть передать удалось.

Какую информацию необходимо предоставить чтобы понять как это излечить? Имею в виду лечение ПО контроллера (меня-то уже поздно).

Контроллер для автоматизации Wiren Board 7
Артикул: WB7-2G-64G-IND Память и исполнение: 2 Гбайт RAM, 64 Гбайт eMMC (Industrial)
приложен диагностический архив, доступен только сотрудникам поддержки (116,9 КБ)

Здравствуйте. Здесь очень похоже, что в одном из корневых разделов были ошибки, поэтому ничего не произошло. К сожалению, об этом можно узнать только в выводе Debug Console.

Опишите, пожалуйста, состояние контроллера сейчас. Судя по тому, что вы прислали диагностический архив сейчас связь есть, что вы для этого сделали и какие сейчас проблемы с устройством?

Большое спасибо за оперативный ответ.

Сейчас связь действительно есть. Когда у меня в процессе “мытарств” контроллер не подхватывал прошивку ни с USB, ни с MicroSD, я прочитал, что еще есть опция разместить файл прошивки в /mnt/data/.wb-restore, что и выполнил, когда привел контроллер в рабочее состояние. Поэтому, чтобы связь восстановилась, я просто перезагрузился, зажав FW, а затем снова вернул свои настройки, воздержавшись от обновления и, как писал выше, не возвращал содержимого /mnt/data/etc/network, /mnt/data/etc/nginx и /mnt/data/etc/ssh на всякий случай.
Ощутимых проблем сейчас нет кроме одной, которая не факт что воспроизведется (но могу попробовать воспроизвести) - при попытке обновить по apt upgrade - контроллер теряет связь с веб-интерфейсом и по ssh.
И если поручите воспроизвести проблему, то научите как с него инфу полезную собрать, чтобы не мучиться зазря ))

Здесь ответ можно было найти в выводе Debug Console, он там подробно пишет ход обновления/сброса и ошибки, если они есть.

Обновляться когда-нибудь всё равно потребуется, поэтому предлагаю дойти до конца и выполнить apt update && apt upgrade и обязательно сохраните весь вывод в текстовый файл. Если у вас на компьютере Windows, то для подключения по ssh лучше MobaXterm, он сохранит весь вывод в консоль при потере связи, если она случится.

Если вдруг связь всё таки пропадёт, то:

  1. Подключитесь к Debug Console.
  2. Перезапустите контроллер и дождитесь приглашение на ввод логина.
  3. На всякий случай так же сохраните весь вывод в текстовый файл и пришлите сюда.
  4. Введите ваш логин и пароль, по умолчанию root/wirenboard.
  5. Проверьте состояние сетевых интерфейсов командой ip a.
  6. Вывод обновления, загрузки из Debug Console и состояние сетевых интерфейсов пришлите сюда файлами.

Если после обновления всё будет хорошо, то о причинах такого поведения можно только догадываться, например, изменился IP-адрес сетевого интерфейса контроллера, или по каким-то причинам не запустился один из сервисов, например, из-за несовместимости настроек. Вы, кстати, с какого релиза начали переход на тестинг?

Так… Сейчас попробую как-то чередовать вопросы и ответы ))

К сожалению до консоли я добрался в самом конце этой истории.

Я тоже думаю - надо закрыть гештальт по-любому. У меня на компьютере Linux Mint 20.2 Если связь останется, то все у меня в терминале будет на экране и просто откопирую в файл, но если связь пропадет, то через консоль свяжусь, видимо, через миником, но он вроде бы тоже умеет выводить в файл?

Вывод_по_ip_a.txt (1,5 КБ)

На testing перешел практически сразу после приобретения контроллера, ну, может спустя неделю. Версию прошлую сейчас и не вспомню точно, (отгрузка была 07.02.2023, 10:07 Wiren Board 7: 1 шт) но кажется стабил 2204 была.

Отлично, в Linux разрыв сеанса ssh не приводит к закрытию окна с выводом.

Судя по выводу контроллер получил адрес 192.168.1.79 на интерфейс enp4s0, по нему сейчас не подключается? Ещё у вас контроллер подключен по Wi-Fi куда-то и ему там выдан адрес 192.168.1.124.

Тут есть нюанс, осенью мы прекратили обновление тестинга на stretch (на который вы перешли с wb-2204) и там надо было явно перейти на bullseye. Поэтому могу предположить, что старые настройки настройки nginx не подхватились новой версией. Почему не заработал ssh, загадка.

Вот, что роутер показывает:

LAN1 wirenboard-AWLSAZTP 192.168.1.80 00:85:01:01:75:91 Подключено

Этот адрес у меня забит в резерве роутера для контроллера.

Очень возможно так и было. Я сейчас не помню, но какие-то глюки выскакивали при переходе. Еще была ситуация, когда я не особо понимая что к чему, установил и снес node red и еще предпринимал какие-то странные действия, пока не понял, что собственно wb-rules мне более чем достаточно )))

Ой. А вы же прислали вывод команды на компьютере. У нас в контроллере другие имена интерфейсов.

Выполните вот эту часть по шагам.

То есть в п. 1 вы должны получить доступ через minicom сперва к логам загрузки контроллера, потом и к самой ssh-консоли в п. 4.

Так, а надо на контроллере сделать было? )

Вывод_по_ip_a-2.txt (2,0 КБ)

Судя по выводу всё в порядке, адрес назначен. Вы как подключились сейчас к контролеру?

3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:85:01:01:75:91 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.80/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0

Вот это меня особо беспокоит, как мне самое начало вывести в файл и ничего не потерять?

Сейчас подключаюсь штатно как угодно и по ssh и по вебморде. Я пока не апгрейдился еще
Да, если вопрос о сетевых интерфейсах самого контроллера, то они работают. eth1 я не использую, а eth0 и wifi - работают штатно, если их особо не “дергать”. Правда, к слову, при некоторых изменениях настроек могут начаться какие-то коллизии с подключением, поэтому я просто при настройке беспроводной - отключаю опцию “точки доступа” и все. Ну, еще имя-пароль своей домашней сети ввожу.

Если вы используете обычную Linux-консоль без всяких Putty, то достаточно выделить мышкой в консоли нужный текст и выбрать «Скопировать» в контекстном меню правой кнопкой мыши.

Давайте обновляться и проверять доступ к веб-интерфейсу и по ssh.

ок

Ошибка не воспроизвелась. Обновился. Все работает.

Вывод.txt (2,6 КБ)

Upd: Перезагрузил контроллер - все работает.

Отлично, спасибо за уделённое время. Тогда тему закрываю.

Общие рекомендации для тех, кто столкнётся с проблемой расширения rootfs в контроллерах WIren Board:

  1. Если раздел не увеличивается при factoryreset с флешки, подключитесь к Debug Console и повторите процедуру. Там будет подсказка, что пошло не так. Не разберётесь сами, создайте тему на портале и приложите вывод текстовым файлом.
  2. Если вы использовали дистрибутив на базе stretch и что-то настраивали сами в файлах mosquitto, nginx, то переносите настройки не заменой файлов, а повторной настройкой по свежим инструкциям в Вики. Из-за смены версий этого ПО некоторые старые параметры теперь не работают.
1 лайк

Вам спасибо большое.

Не знаю, может ли это оказаться хоть как-нибудь полезно, я порылся в системном журнале и там нашел самый хвостик проблемы. Просто помню что примерно в это время я последний раз восстанавливал прошивку. Поиском на сообщения debug вывод такой

Вывод-debug.txt (659 байтов)

на сообщения error - такой

Вывод-error.txt (4,2 КБ)

К сожалению записей в журнале ранее этих не сохранилось.

1 лайк

Здесь интересные строки, спасибо. Попрошу во вторник разработчиков глянуть, может сможем определить источник проблем.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.