Wiren Board 7 Firmware Update: различия между версиями

Материал из Wiren Board
 
(не показана 121 промежуточная версия 2 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Обновление прошивки контроллера Wiren Board 7}}
{{DISPLAYTITLE: Обновление прошивки контроллеров Wiren Board 7.2…7.3 }}
== Общая информация ==
== Общая информация ==
{{note|note| Если у вас контроллер из партии v7.2.1A, выпущенной в декабре 2021 г. и в консоли написано «This is a development release» — перед обновлением или сбросом, [[Wiren_Board_v7.2.1A_Create_Restore_Folder | переключите его на релиз]].}}
{{Anchor|info}}
Инструкции в этой статье работают на контроллере '''Wiren Board 7'''.
{{YouTube
|link=https://youtu.be/2XhPWDzYSmY
|text= Обновление ПО контроллера Wiren Board 7
|list= PL-yKQAXd5Un_fQfrVVgMt1Em5Qb1f-v6l
}}
=== Совместимость ===
{{Anchor|compatibility}}
{{Wbincludes:Update Compatibility
|model= Wiren Board 7.2…7.3
|link= Wiren_Board_7.3
}}
 
=== Как всё устроено ===
{{Wbincludes:Firmware Update How Everything Works}}
 
=== Релизы ===
{{Wbincludes:Wiren Board Software Releases}}
 
== Пользовательские настройки и файлы ==
{{Anchor|user-files}}
{{Wbincludes:Wiren Board User Settings And Files}}
 
== Проверка обновлений ==
{{Wbincludes:Wiren Board Check Firmware Update}}
 
== Обновление в консоли через apt==
{{Anchor|apt}}
[[Image: Dialog.png |400px|thumb|right| Окно ''Modified configuration Files'']]
{{note|note|Рекомендуемый способ. Если последний раз ПО контроллера обновлялось до апреля 2021 года, то сперва вам нужно перейти на релизы, для этого [[New_repository_April_2021 | смените репозиторий]].}}
 
Если вы обновляетесь с релиза wb-2207 и более раннего через apt, то прочитайте сперва описание известных проблем, с которыми вы столкнётесь: [[WB_7:_Errata#ERRWB73011 | Wiren Board 7: ERRWB73011]].
 
Важно! В релизе wb-2304 сменилась версия Debian, поэтому при переходе со старых релизов wb-21**/wb-22** надо ввести дополнительную команду ([[wb-2304|подробнее]]):
:<syntaxhighlight lang="bash">
wb-release --update-debian-release
</syntaxhighlight>
 
{{Wbincludes:Wiren Board Apt Firmware Update}}


ПО контроллера выпускается в формате релизов ''stable'' — новые функции каждые три месяца, и ''testing'' — новые функции каждый день. Между релизами можно переключаться. С завода на контроллере установлен ''stable''.
=== Решение проблем при обновлении со Stretch на Bullseye ===
{{Wbincludes:Bullseye Errata}}


Прошивку контроллера Wiren Board можно обновить в консоли с помощью apt, через веб-интерфейс.
== Прошивка через веб-интерфейс ==
Также контроллер можно сбросить к заводским настройкам и удалить пользовательские данные.
{{Anchor|web-ui}}


Для обновления через веб-интерфейс или с USB-флешки вам понадобится fit-файл прошивки, который можно скачать в нашем [http://fw-releases.wirenboard.com/?prefix=fit_image/stable/ репозитории] или по прямой ссылке на stable-релиз: [http://fw-releases.wirenboard.com/fit_image/stable/7x/latest_stretch.fit Wiren Board 7.x].
=== О способе ===
Прошивку через веб-интерфейс удобно использовать, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО. Способ подходит для обновления внутри веток stable или testing, а также для перехода со stable на testing.


== Журнал изменений в релизах ==
{{Wbincludes:Firmware Update Fit Save Data}}
{{Wbincludes:Release Log}}


== Проверка обновлений ==
=== Скачивание прошивки ===
{{Wbincludes:Wiren Board Check firmware update}}
{{Wbincludes:Fit Files Wiren Board 7}}


== Обновление в консоли через apt ==
=== Процесс ===
{{Wbincludes:Wiren Board Apt firmware update}}
{{note|info|Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его [[Enlarging_the_rootfs_partition|можно увеличить]].}}
{{Wbincludes:Wiren Board WebUI Firmware Update}}


== Обновление через веб-интерфейс ==
== Прошивка через Debug Network ==
{{Wbincludes:WebUI Wiren Board Firmware Update}}
{{Anchor|debug-network}}


== Обновление и сброс через разъём Debug Network ==
[[Image: wb7-debug-network-pc.png |300px|thumb|right| Файл обновления прошивки на съёмном накопителе ]]
[[Image: wb7-debug-network-pc.png |300px|thumb|right| Файл обновления прошивки на съёмном накопителе ]]
В контроллере есть разъём '''Debug Network''', который можно использовать для обновления прошивки или сброса настроек:
[[Image: wb7-debug-network.png |300px|thumb|right| Разъём Debug Network, USB-C ]]
{{Wbincludes:Wiren Board 7 Fit Prepare}}
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
# Выключите контроллер кнопкой на корпусе.
=== О способе ===
# Подключите контроллер к компьютеру через разъём Debug Network. Вам потребуется кабель USB-C с возможностью передачи данных.
В контроллере есть разъём [[Debug Network]], который можно использовать для обновления прошивки или удаления всех данных и настроек.
# Зажмите кнопку FW и удерживайте её.
 
# Включите контроллер и после короткого звукового сигнала отпустите кнопку FW.
{{Wbincludes:Wiren Board 7 Firmware Update Fit Save Data}}
# Индикатор контроллера медленно замигает красным, а ещё через 10 секунд компьютер определит съёмный накопитель.
 
# Скопируйте подготовленный в шаге 1 файл на определившийся накопитель.
=== Подготовка файла прошивки ===
# Извлеките (отмонтируйте) флешку программно и отключите кабель от контроллера физически.
{{Wbincludes:Fit Files Wiren Board 7}}
# В зависимости от того, какой файл вы положили, возможно два варианта:
## Контроллер начнёт обновлять прошивку.
## Контроллер издаст продолжительный звуковой сигнал, а индикатор быстро замигает красным — это запрос на сброс к заводским настройкам:
##* Чтобы подтвердить сброс настроек и удалить все пользовательские данные, зажмите и держите кнопку FW.
##* Контроллер пикнет четыре раза и перейдёт к сбросу настроек. Кнопку можно отпустить.
# После обновления прошивки или сброса настроек контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.


Вывод в [[WB Debug Console | Debug-консоль]] во время сброса настроек: выделенная строка — момент короткого звукового сигнала:
{{Wbincludes:Fit File Rename Wiren Board 7}}
:<syntaxhighlight lang="bash" highlight="27">
U-Boot 2021.10-wb1.1.1-g4c04347f3e (Feb 03 2022 - 14:48:16 +0000)


CPU:  Allwinner R40 (SUN8I 1701)
=== Процесс ===
Model: Wiren Board rev. 7.2.0 (A40i)
Вам понадобятся компьютер и кабель USB-C с возможностью передачи данных. Весь процесс займёт не больше пяти минут.
I2C:  ready
DRAM:  1 GiB
MMC:  mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from MMC... OK
In:    serial@1c28000
Out:  serial@1c28000
Err:  serial@1c28000
Will only keep env vars: mmcpart bootcount upgrade_available uenvcmd otp_program otp_aes_program
## Info: input data size = 43 = 0x2B
bootcount=0
mmcpart=2
upgrade_available=0


Environment size: 43/131068 bytes
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
## Resetting to default environment
 
## Info: input data size = 43 = 0x2B
В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
Net:  No ethernet found.
# Начало зависит от аппаратной ревизии контроллера:
Hit any key to stop autoboot: 0
#* Для ревизии 7.3:
switch to partitions #0, OK
#*# Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network. Это выключит контроллер.
mmc1(part 0) is current device
#*# Зажмите и не отпускайте кнопку FW.
eMMC found on device 1
#*# Переведите переключатель в положение ON и тут же вставьте кабель в разъём Debug Network. Если вам нужны логи из дебага, сразу подключите кабель Debug Console.
#*# Подключите к контроллеру внешнее питание — это нужно для того, чтобы при отключении кабеля контроллер корректно прошился.
#*Для ревизии 7.2:
#*# Вставьте кабель в разъём Debug Network. Если нужно, подключите кабель к Debug Console.
#*# Переведите выключатель в положение OFF.
#*# Подключите к контроллеру внешнее питание.
#*# Зажмите и не отпускайте кнопку FW.
#*# Включите контроллер переключателем и продолжайте удерживать кнопку FW.
#Держите кнопку FW до короткого звукового сигнала. В Debug Console в этот момент будут строки:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
Press FW button to enter firmware update mode
..
# <здесь вы нажали кнопку>
Entering firmware update mode.
Entering firmware update mode.
Checking if ubootenv part is present
</syntaxhighlight>
## Loading FIT header to 0x42000000 ...
# Отпустите кнопку FW.
## Loading FIT strings to 0x42000028 ...
# Через несколько секунд на компьютере обнаружится накопитель '''WB UPDATE''', откройте его. В Debug Console в это время будет сообщение:
## Loading FIT struct to 0x42000100 ...
#:<syntaxhighlight lang="bash">
Can`t find subimage 'ubootenv'
Copy .fit file to virtual USB driver and unplug the cable
Extracting kernel
</syntaxhighlight>
## Loading FIT header to 0x42000000 ...
# Скопируйте подготовленный .fit-файл на этот накопитель. В Debug Console в это время будут сообщения:
## Loading FIT strings to 0x42000028 ...
#:<syntaxhighlight lang="bash">
## Loading FIT struct to 0x42000100 ...
# приглашение скопировать файл на накопитель
7772640 bytes read in 190 ms (39 MiB/s)
Copy .fit file to virtual USB driver and unplug the cable
    Description: Update kernel
# <много сообщений с процессом копирования файла>
    Type:        Kernel Image
</syntaxhighlight>
    Compression:  uncompressed
# По окончании копирования, отключите накопитель средствами ОС и вытащите кабель Debug Network, начнётся прошивка контроллера. В Debug Console при этом будет сообщение вида:
    Data Start:  0x42000300
#:<syntaxhighlight lang="bash">
    Data Size:   7763680 Bytes = 7.4 MiB
Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    Architecture: ARM
Will look for update in USB gadget ramdisk
    OS:          Linux
 
    Load Address: unavailable
Will use wb_update.fit from USB gadget (/usb)
    Entry Point:  unavailable
# или, если вы выбрали удаление данных
    Hash algo:    sha1
Will use wb_update_FACTORYRESET.fit from USB gadget (/usb)
    Hash value:  8fa0750fc5f1738f05856b25f5a4c2fc9159b420
</syntaxhighlight>
## Verifying ... sha1+
# Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: <code>wirenboard-XXXXXXXX login:</code>.
  Loading part 0 ... OK
Extracting DTB
## Loading FIT header to 0x43000000 ...
## Loading FIT strings to 0x43000028 ...
## Loading FIT struct to 0x43000100 ...
63624 bytes read in 30 ms (2 MiB/s)
    Description:  Update DTB
    Type:         Flat Device Tree
    Compression: uncompressed
    Data Start:  0x43000440
    Data Size:    54344 Bytes = 53.1 KiB
    Architecture: ARM
    Hash algo:    sha1
    Hash value:  88cb690e62d3e2fbe97df37350c2ee8c8abab757
## Verifying ... sha1+
  Loading part 0 ... OK
Kernel image @ 0x42000000 [ 0x000000 - 0x7676e0 ]
## Flattened Device Tree blob at 43000000
  Booting using the fdt blob at 0x43000000
  Loading Device Tree to 49fef000, end 49fff447 ... OK


Starting kernel ...
Если в имени файла есть <code>FACTORYRESET</code>, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: <code>FACTORY RESET REQUESTED</code>. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные — просто выключите контроллер.


[   0.000000] Booting Linux on physical CPU 0x0
== Прошивка с помощью USB-флешки или карты Micro-SD ==
#
{{Anchor|usb-flash}}
# Служебные сообщения ОС о загрузке
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
#
=== О способе ===
mount: mounting none on /dev/pts failed: No such file or directory
Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.
Boot mode: update_auto
Board is WB7
Checking that no-one is using this disk right now ... OK


[    5.246653] random: sfdisk: uninitialized urandom read (4 bytes read)
Способ удобен, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО.
Disk /tmp/ramdisk.img: 300 MiB, 314572800 bytes, 614400 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


>>> Created a new DOS disklabel with disk identifier 0x67241b30.
{{Wbincludes:Wiren Board 7 Firmware Update Fit Save Data}}
/tmp/ramdisk.img1: Created a new partition 1 of type 'W95 FAT32' and of size 299 MiB.
/tmp/ramdisk.img2: Done.


New situation:
=== Подготовка файла прошивки ===
{{Wbincludes:Fit Files Wiren Board 7}}


Device            Boot Start    End Sectors  Size Id Type
{{Wbincludes:Fit File Rename Wiren Board 7}}
/tmp/ramdisk.img1      2048 614399  612352  299M  b W95 FAT32


The partition table has been altered.
=== Процесс ===
Syncing disks.
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать подтверждение тех или иных действий и писать сообщения о ходе процесса.
mkfs.fat 4.1 (2017-01-24)
 
[    5.367471] random: mkfs.vfat: uninitialized urandom read (16 bytes read)
В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:
Activate Mass Storage device
# Скопируйте подготовленный файл прошивки на флешку или карту памяти и вставьте её в контроллер.
[    5.588279] Mass Storage Function, version: 2009/09/11
# Следующие шаги зависят от аппаратной ревизии контроллера:
[    5.593478] LUN: removable file: (no medium)
#* Для ревизии 7.3:
[    5.597865] LUN: file: /tmp/ramdisk.img
#*# Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network.
[    5.601699] Number of LUNs=1
#*# Зажмите и не отпускайте кнопку FW.
[    5.604760] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
#*# Подключите к контроллеру внешнее питание.
[    5.611717] g_mass_storage gadget: userspace failed to provide iSerialNumber
#*# Включите контроллер кнопкой и продолжайте удерживать кнопку FW. Если вам нужны логи из дебага, быстро подключите кабель Debug Console.
[   5.618778] g_mass_storage gadget: g_mass_storage ready
#*Для ревизии 7.2:
Waiting for USB gadget to connect to host PC (1/7)
#*# Если нужно, подключите кабель к Debug Console.
[   33.762598] vcc-gmac-phy: disablingnd unplug the cable (27)
#*# Переведите выключатель в положение OFF.
[  33.766428] dc5ldo: disabling
#*# Подключите к контроллеру внешнее питание.
[  33.769710] dldo4: disabling
#*# Зажмите и не отпускайте кнопку FW.
[  33.772914] usb0_vbus: disabling
#*# Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
[  33.776143] vcc-sd: disabling
# Держите кнопку FW до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
[  47.208924] random: crng init doneand unplug the cable (41)
#:<syntaxhighlight lang="bash">
Copy .fit file to virtual USB driver and unplug the cable (85)
Press FW button to enter firmware update mode
Will look for update in USB gadget ramdisk
# <здесь вы нажали кнопку>
Will use wb_update_FACTORYRESET.fit from USB gadget (/usb)
Entering firmware update mode.
</syntaxhighlight>
# Контроллер попробует найти на подключённой флешке или карте памяти fit-файлы с прошивкой. В Debug Console при этом будут выводится строки:
#:<syntaxhighlight lang="bash">
Looking for update .fit on /dev/sda...
Looking for update .fit on /dev/sda1...
</syntaxhighlight>
# Если файл будет найден — контроллер издаст два коротких сигнала и перейдёт в режим прошивки. В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Will use wb_update.fit from virtual USB drive
# или, если вы выбрали удаление данных
Will use wb_update_FACTORYRESET.fit from virtual USB drive
</syntaxhighlight>
#: Если в имени файла есть <code>FACTORYRESET</code>, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: <code>FACTORY RESET REQUESTED</code>. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные, то просто выключите контроллер.
# Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: <code>wirenboard-XXXXXXXX login:</code>.
 
=== Массовая прошивка контроллеров ===
{{Wbincludes:Mass flashing from flash}}
 
== Удаление данных и возврат заводских настроек ==
{{Anchor|factory-reset}}
[[Image: wb7-FW.png |300px|thumb|right| Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки]]
=== О способе ===
Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек, а также релиз ПО контроллера, который был в момент его выпуска — сделайте резервную копию ваших файлов и настроек.
 
=== Процесс ===
Если у вас установлены USB-флеш, карта MicroSD или воткнут провод в Debug Network — вытащите их.
 
Для наглядности можно подключиться к [[WB Debug Console | Debug Console]], где контроллер будет несколько раз запрашивать в подтверждение тех или иных действий и писать сообщения о ходе процесса.
 
В инструкции мы просто зажмём кнопку FW и автоматом подтвердим все действия:
# Начало зависит от аппаратной ревизии контроллера:
#* Для ревизии 7.3:
#*# Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network.
#*# Зажмите и не отпускайте кнопку FW.
#*# Подключите к контроллеру внешнее питание. Если вам нужны логи из дебага, вместо внешнего питания можно подключить кабель Debug Console, контроллер включится автоматически.
#*# Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
#*Для ревизии 7.2:
#*# Если нужно, подключите кабель к Debug Console.
#*# Переведите выключатель в положение OFF.
#*# Подключите к контроллеру внешнее питание.
#*# Зажмите и не отпускайте кнопку FW.
#*# Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
# Контроллер издаст короткий звуковой сигнал — это он перешёл в режим обновления прошивки, не отпускайте кнопку FW.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Press FW button to enter firmware update mode
Entering firmware update mode.
</syntaxhighlight>
# Подождите 20-30 секунд, пока контроллер перебирает все накопители в поисках прошивки. В финале прозвучит один двойной звуковой сигнал — контроллер перешёл к процедуре сброса с помощью зашитого на заводе образа прошивки.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
Load modules for USB to work
Waiting for USB to settle (10/10)
Waiting for microSD to settle (3/3)
Wait for eMMC to become available...
 
Will use /mnt/data/.wb-restore/factoryreset.fit
</syntaxhighlight>
# Через несколько секунд контроллер спросит подтверждение на удаление всех данных, но так как кнопка у нас уже зажата, то просто прозвучат по очереди четыре коротких звуковых сигнала. После этого сразу начнётся удаление данных, откат версии прошивки к заводской и восстановление заводских настроек.
#:В Debug Console при этом будет сообщение вида:
#:<syntaxhighlight lang="bash">
##############################################################################
##############################################################################


Строка 180: Строка 239:


##############################################################################
##############################################################################
ooo....
.... #< здесь звучали четыре коротких звуковых сигнала >


Factory reset is confirmed!
Factory reset is confirmed!
===============================================================================
Fri Feb  4 16:00:13 UTC 2022: started update from /usb/wb_update_FACTORYRESET.fit
===============================================================================
Description:        WirenBoard firmware update
Compatible device:  wirenboard,wirenboard-720
Firmware version:    202202040820
Firmware compatible: unknown
Release name:        wb-2201
Release suite:      stable
Release target:      wb7/stretch
Release repo prefix:
Time of creation:    Fri Feb  4 08:21:41 UTC 2022
===============================================================================
>>> Checking SHA1 hash of install
PROGRESS: 0%
>>> SHA1 hash of install ok
>>> Wiping data partition (factory reset)
[  101.691971] EXT4-fs (mmcblk0p6): recovery complete
[  101.697817] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
>>> Extracting install script
>>> Running install script
>>> Checking SHA1 hash of rootfs
PROGRESS: 100%
>>> SHA1 hash of rootfs ok
>>> Installing firmware update
>>> Getting mmcpart from U-Boot environment
>>> Will install to /dev/mmcblk0p3
>>> Check if partition table is correct
[  109.496418] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
>>> Mounting /dev/mmcblk0p3 at /dev/shm/rootfs
[  109.525082] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
>>> Cleaning up /dev/mmcblk0p3
>>> Cleaning up using rsync
>>> Extracting files to new rootfs
/dev/shm/rootfs /
PROGRESS: 100%
/
>>> Recovering device certificates
[  143.164257] EXT4-fs (loop1): mounted filesystem without journal. Opts: (null)
>>> Mount /dev, /proc and /sys to rootfs
>>> Running post-install scripts
>>> > Processing /dev/shm/rootfs/usr/lib/wb-image-update/postinst/10update-u-boot
Trying to install u-boot using u-boot-install-wb from new rootfs
Das U-Boot installator for Wiren Board
You are about to install U-boot image '/usr/lib/u-boot/sun8i_wirenboard7/u-boot-sunxi-with-spl.bin' on '/dev/mmcblk0' (platform wb7)
Force installation requested
Writing U-boot image '/usr/lib/u-boot/sun8i_wirenboard7/u-boot-sunxi-with-spl.bin' on '/dev/mmcblk0' (options 'bs=1024 seek=8')
446+1 records in
446+1 records out
457008 bytes (457 kB, 446 KiB) copied, 0.150764 s, 3.0 MB/s
Syncing device
>>> Unmounting /dev, /proc and /sys from rootfs
>>> Unmounting new rootfs
>>> Switching to new rootfs
>>> Done, removing firmware image and rebooting
[  149.555335] reboot: Restarting system
[  149.569048] i2c i2c-0: No atomic I2C transfer handler
U-Boot SPL 2021.10-wb1.1.1-g4c04347f3e (Feb 03 2022 - 14:48:16 +0000)
DRAM: 1024 MiB
Trying to boot from MMC2
</syntaxhighlight>
</syntaxhighlight>
# Отпустите кнопку FW.
# По окончании процедуры контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.


== Сброс к заводским настройкам ==
Вся процедура занимает чуть больше 2 минут. После сброса у вас будет версия прошивки, зашитая в контроллер при производстве — обновите ПО до актуального релиза.
Если у вас контроллер из партии v7.2.1A, выпущенной в декабре 2021 года, перед первым сбросом подготовьте контроллер по [[Wiren Board v7.2.1A Create Restore Folder | инструкции]].


Процедура сброса:
== Удаление данных и возврат заводских настроек с обновлением ПО ==
# Выключите контроллер кнопкой на корпусе.
{{Wbincludes:FactoryReset WebUI}}
# Зажмите и не отпускайте кнопку FW, включите контроллер.
# Через 5-7 секунд раздастся короткий звуковой сигнал, отпустите кнопку.
# Индикатор будет некоторое время мигать красным, а потом раздастся длинный звуковой сигнал — запрос подтверждения на сброс к заводским настройкам.
# Чтобы подтвердить сброс и удалить все файлы, нажмите и держите кнопку FW.
# Контроллер четыре раза коротко пикнет, а индикатор мигнёт зелёным, кнопку можно отпустить.
# Дождитесь окончания сброса. В конце контроллер перезагрузится и загрузится в обычном режиме.
<!--
[[Image: WB6.7 USB1 + FW.png |400px|thumb|right| Порт '''USB 1''' и кнопка '''FW''' на контроллере Wiren Board 6.7]]
{{YouTube
| link= https://youtu.be/SJFLmVe6OgU
| text= Сброс Wiren Board 6 к заводским настройкам
}}
Мы не рекомендуем для обновления прошивки использовать внешние жесткие диски — может не хватить мощности USB-порта.
 
Про сохранение настроек читайте в разделе [[#Сохранение пользовательских файлов и настроек |Сохранение пользовательских файлов и настроек]].
 
'''Подготовьте флеш-накопитель''':
# [[Formatting Flash Drive | Отформатируйте флешку в FAT32]].
# Скачайте [[#Общая информация  | fit-файл прошивки]] на компьютер.
# Скопируйте скачанный ''.fit''-файл в корень флешки и убедитесь, что размер файла не равен нулю.
# Переименуйте файл на флешке:
#* '''для обновления прошивки''' контроллера в <code>wb_update.fit</code>,
#* '''для сброса контроллера к заводским настройкам''' и удаления всех данных в <code>wb_update_FACTORYRESET.fit</code>.
 
'''Чтобы обновить прошивку или сбросить контроллер к заводским настройкам''':
# Выключите контроллер.
# Подключите флешку с файлом прошивки к порту '''USB 1''' и включите контроллер.
# Если в корне флешки найден файл прошивки, то индикатор контроллера начнёт часто мигать оранжевым.
# В этот момент зажмите на одну секунду кнопку '''FW''', которая находится на плате контроллера.
# Дальнейшие шаги зависят от того, какой файл лежит на флешке:
#* <code>wb_update.fit</code> — индикатор загорится зелёным, потом мигнёт красным и замигает зелёным — это началась процедура обновления прошивки.
#* <code>wb_update_FACTORYRESET.fit</code>:
#*# Индикатор загорится зелёным, потом два раза мигнёт красным и ещё два раза зелёным.
#*# Контроллер начнёт пищать, а индикатор замигает красным — контроллер ждёт подтверждения.
#*# Подтвердите очистку контроллера, для этого нажмите кнопку '''FW''' и держите, пока контроллер не пискнет четыре раза, а индикатор не загорится зелёным — это началась процедура сброса настроек.
#*# Кнопку можно отпустить. В процессе индикатор будет мигать зелёным.
# Процедура продлится 5–10 минут, в конце контроллер перезагрузится в рабочий режим, а индикатор на нём замигает зелёным — флешку можно извлечь.
 
Если обновление или сброс завершаются с ошибкой, подключитесь к [[WB_Debug_Console | Debug-консоли]] контроллера и повторите шаги. Если увидите ошибку <code>FAT: Misaligned buffer address</code> — смените накопитель на другой.
 
<gallery mode="packed" widths ="200px" heights="250px">
Image: 2 update.png | Обновление: момент, когда нужно нажать кнопку FW на 1 секунду для начала обновления
Image: 4 update.png | Обновление: обновление прошивки началось
Image: 1 factory reset.png | Сброс: момент, когда нужно кратковременно нажать кнопку FW для сброса к заводским настройкам
Image: 2 factory reset.png | Сброс: момент, когда нужно на 4 секунды нажать кнопку FW для подтверждения сброса к заводским настройкам
Image: 3 factory reset.png | Сброс: начался сброс к заводским настройкам
</gallery>
-->
 
== Пользовательские настройки и файлы ==
{{Wbincludes:Firmware Update Save Data}}{{Wbincludes:WebUI Wiren Board Releases
|new=true}}

Текущая версия на 11:05, 14 апреля 2024

Общая информация

Обновление ПО контроллера Wiren Board 7

Совместимость

Инструкции на этой странице подходят для контроллеров Wiren Board 7.2…7.3. Инструкции для других версий.

Как всё устроено

Структура eMMC и способы обновления

Контроллер работает под управлением Debian Linux, поэтому вы можете обновлять ПО с помощью штатного пакетного менеджера apt — нужен интернет на контроллере, зато сохраняются системные настройки, а также установленное пользователем стороннее ПО и его файлы конфигурации.

Кроме этого, для контроллеров Wiren Board выпускаются прошивки в виде fit-файлов — это образ корневого раздела rootfs, который можно прошить с USB-флешки, карты памяти, через Debug Network или из веб-интерфейса контроллера. Интернет на контроллере не нужен. Сохранятся настройки, сделанные из веб-интерфейса контроллера, а установленное стороннее ПО будет удалено вместе с файлами конфигурации.

Также вы можете удалить все файлы и настройки с контроллера, получив чистое устройство с заводской версией ПО и настройками по умолчанию.

Релизы

Релизный цикл ПО Wiren Board

Программное обеспечение контроллеров Wiren Board состоит из множества пакетов, которые мы объединяем в релизы stable — стоит на новых контроллерах и testing — rolling-релиз с самыми свежими версиями пакетов.

Мы будем рады, если вы сможете присоединиться к использованию testing, ведь кроме получения новых фич вы поможете уменьшить количество ошибок в stable. Подробнее о релизах и переключении между ними на странице Программное обеспечение контроллера.

Журналы изменений в релизах
Ветка Имя
stable wb-2404wb-2401wb-2310wb-2307wb-2304wb-2207wb-2204wb-2201wb-2110wb-2108 • wb-2104
testing скользящий релиз, изменения

Пользовательские настройки и файлы

Где хранятся настройки

Файлы настроек, которые сохраняются при обновлении через fit-файл

eMMC контроллера Wiren Board разбита на несколько разделов, пользователю важно знать два из них, которые монтируются в папки:

  1. / или rootfs — корневой раздел с файлами операционной системы, ссылками на системные настройки, установленным сторонним ПО и его файлами конфигурациями.
  2. /mnt/data — большой раздел в несколько Гбайт с системными настройками и любыми пользовательскими файлами.

На большом разделе, по адресу /mnt/data/etc находятся настройки: В контроллере Wiren Board есть отдельный раздел, который монтируется в каталог /mnt/data, в котором по адресу /mnt/data/etc находятся настройки:

  • системные: сеть, часовой пояс, пароль к веб-интерфейсу, mosquitto, nginx;
  • устройств, подключенных по RS-485 — wb-mqtt-serial.conf
  • дашборды, виджеты и настройки веб-интерфейса — wb-webui.conf;
  • модулей ввода-вывода и расширения — wb-hardware.conf;
  • универсальных входов/выходов A1-A4 (A1-A3, D1) — wb-mqtt-adc.conf;
  • выводов GPIO контроллера — wb-mqtt-gpio.conf;
  • настройки архива данных — wb-mqtt-db.conf;
  • шлюза OPC UA — wb-mqtt-opcua.conf;
  • шлюза Modbus TCP/Slave — wb-mqtt-mbgate.conf.

Кроме этого, по адресу /mnt/data/etc/ хранятся:

  • wb-rules — пользовательские скрипты;
  • wb-rules-module— модули, написанные на wb-rules;
  • wb-mqtt-serial.conf.d/templates/ — пользовательские шаблоны.

В каталоге /etc находятся симлинки на файлы и каталоги из /mnt/data/etc.

Где хранятся настройки установленного стороннего ПО, уточняйте в его документации.

Резервное копирование

Чтобы сделать резервную копию настроек контроллера, скопируйте содержимое /mnt/data/etc на компьютер. Программы, установленные в /mnt/data также нужно сохранить на компьютер.

Если вы устанавливали на контроллер сторонние программы, или хранили файлы вне папки /mnt/data — их нужно сохранить отдельно.

Кроме этого вы можете скачать образ корневой файловой системы — так вы сохраните настройки сторонних программ, которых хранят файлы в /etc. Сделать это можно кнопкой в веб-интерфейсе НастройкиСистемаСкачать архив с rootfs.

Проверка обновлений

В контроллере нет механизма, который сообщит пользователю о доступном обновлении, поэтому о выходе новых версий вы можете узнать из новостей в наших социальных сетях или в консоли контроллера:

  1. Подключитесь к контроллеру через SSH.
  2. Выполните команду:
    apt update
    
  3. Если есть пакеты для обновления, то можете посмотреть их список:
    apt list --upgradable
    

Обновление в консоли через apt

Окно Modified configuration Files

Рекомендуемый способ. Если последний раз ПО контроллера обновлялось до апреля 2021 года, то сперва вам нужно перейти на релизы, для этого смените репозиторий.

Если вы обновляетесь с релиза wb-2207 и более раннего через apt, то прочитайте сперва описание известных проблем, с которыми вы столкнётесь: Wiren Board 7: ERRWB73011.

Важно! В релизе wb-2304 сменилась версия Debian, поэтому при переходе со старых релизов wb-21**/wb-22** надо ввести дополнительную команду (подробнее):

wb-release --update-debian-release

Apt — это менеджер пакетов операционной системы Debian, который обновляет изменившиеся пакеты и устанавливает новые, если это необходимо. Для работы нужен интернет или локальное зеркало apt-репозитория Wiren Board.

Обновление контроллера через apt учитывает систему релизов — следуя инструкции, вы полностью перейдёте на новый релиз, а не только обновите отдельные пакеты.

При обновлении сохраняются установленные программы, пользовательские файлы и настройки.

Чтобы обновить прошивку контроллера:

  1. Подключитесь к нему по SSH.
  2. Выполните команды:
    apt update; apt upgrade
    

В процессе обновления может появиться запрос на действие с файлами конфигурации. Если не знаете, что выбрать — оставьте значение по умолчанию keep the local version currently installed, так вы сохраните свои настройки.

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

Решение проблем при обновлении со Stretch на Bullseye

Если вы столкнулись с ошибками при переходе на новый дистрибутив, сообщите нам на портал поддержки.

Могут возникнуть проблемы с работой докер после обновления. Если докер был установлен до перехода, замените имя релиза со stretch на bullseye в файле /etc/apt/sources.list.d/docker.list и повторно запустите команду его установки по инструкции.

Кроме этого, известно о проблемах с mosquitto и nginx, если их файлы конфигурации изменялись вручную. Обычно это происходит, если вы устанавливали защиту паролем на веб-интерфейс. В этом случае после обновления надо подключиться к контроллеру по SSH и повторно настроить защиту паролем по новой инструкции: Защита паролем веб-интерфейса контроллера в Debian Bullseye.

Если вы используете модуль расширения WBE2R-R-ZIGBEE v.1 со старой прошивкой, работающей только на версии zigbee2mqtt 1.18 — у вас всё может сломаться, поэтому надо:

  1. Перед обновлением сохранить папку /root/zigbee2mqtt/data
  2. Установить специальную версию для этого адаптера:
    apt update && apt install zigbee2mqtt-1.18.1
    
  3. Восстановить данные из скопированной ранее папки.

Всё, больше этот пакет у вас обновляться не будет, а значит и ломаться будет нечему.

Прошивка через веб-интерфейс

О способе

Прошивку через веб-интерфейс удобно использовать, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО. Способ подходит для обновления внутри веток stable или testing, а также для перехода со stable на testing.

При обновлении сохраняются пользовательские файлы и настройки только в /mnt/data, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.

Скачивание прошивки

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера:

Другие версии ПО вы найдёте в нашем репозитории.

Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: НастройкиСистема

Процесс

Если у вас на контроллере релиз wb-2307 и новее, а на самом контроллере корневой раздел 1 Гбайт, то его можно увеличить.

Уровень «Администратор»

Для изменения настроек контроллера вам нужен уровень доступа Администратор, который можно выставить в разделе НастройкиПрава доступа.

После завершения настроек рекомендуем поставить уровень доступа Пользователь или Оператор — это поможет не совершить случайных ошибок при ежедневной работе с веб-интерфейсом.

При обновлении сохраняются пользовательские файлы и настройки только в /mnt/data, но стороннее ПО будет удалено. Рекомендуем сделать резервную копию.

Чтобы обновить прошивку контроллера:

  1. Скачайте fit-файл прошивки на компьютер.
  2. Зайдите в веб-интерфейс контроллера и перейдите в раздел НастройкиСистема.
  3. Нажмите кнопку Выбрать файл и выберите скачанный ранее fit-файл.
  4. Файл с прошивкой загрузится на контроллер и начнётся обновление, которое длится 5-10 минут. Не закрывайте страницу и не выключайте контроллер до завершения.
  5. После обновления контроллер перезагрузится.

После завершения обновления подключитесь к контроллеру заново и обновите страницу веб-интерфейса в браузере со сбросом кэша (Ctrl+F5 для Chrome), чтобы загрузилась обновленная версия. Проверьте версию прошивки на странице УстройстваSystem.

Прошивка через Debug Network

Файл обновления прошивки на съёмном накопителе
Разъём Debug Network, USB-C
Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки

О способе

В контроллере есть разъём Debug Network, который можно использовать для обновления прошивки или удаления всех данных и настроек.

При обновлении сохраняются пользовательские настройки и файлы в разделе /mnt/data, но стороннее ПО будет удалено. Если обновить с удалением пользовательских данных — будут стёрты пользовательские настройки и файлы, а так же установленное ПО. Рекомендуем сделать резервную копию.

Подготовка файла прошивки

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера:

Другие версии ПО вы найдёте в нашем репозитории.

Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: НастройкиСистема

Переименуйте загруженный файл в wb_update.fit — для обновления, или в wb_update_FACTORYRESET.fit — для удаления данных и сброса к заводским настройкам. Обратите внимание, что .fit — расширение файла, если у вас Windows и отключен показ расширений, то скаченный файл будет без него — не надо его добавлять, просто замените имя до точки.

Процесс

Вам понадобятся компьютер и кабель USB-C с возможностью передачи данных. Весь процесс займёт не больше пяти минут.

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

В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:

  1. Начало зависит от аппаратной ревизии контроллера:
    • Для ревизии 7.3:
      1. Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network. Это выключит контроллер.
      2. Зажмите и не отпускайте кнопку FW.
      3. Переведите переключатель в положение ON и тут же вставьте кабель в разъём Debug Network. Если вам нужны логи из дебага, сразу подключите кабель Debug Console.
      4. Подключите к контроллеру внешнее питание — это нужно для того, чтобы при отключении кабеля контроллер корректно прошился.
    • Для ревизии 7.2:
      1. Вставьте кабель в разъём Debug Network. Если нужно, подключите кабель к Debug Console.
      2. Переведите выключатель в положение OFF.
      3. Подключите к контроллеру внешнее питание.
      4. Зажмите и не отпускайте кнопку FW.
      5. Включите контроллер переключателем и продолжайте удерживать кнопку FW.
  2. Держите кнопку FW до короткого звукового сигнала. В Debug Console в этот момент будут строки:
    Press FW button to enter firmware update mode
    # <здесь вы нажали кнопку>
    Entering firmware update mode.
    
  3. Отпустите кнопку FW.
  4. Через несколько секунд на компьютере обнаружится накопитель WB UPDATE, откройте его. В Debug Console в это время будет сообщение:
    Copy .fit file to virtual USB driver and unplug the cable
    
  5. Скопируйте подготовленный .fit-файл на этот накопитель. В Debug Console в это время будут сообщения:
    # приглашение скопировать файл на накопитель
    Copy .fit file to virtual USB driver and unplug the cable
    # <много сообщений с процессом копирования файла>
    
  6. По окончании копирования, отключите накопитель средствами ОС и вытащите кабель Debug Network, начнётся прошивка контроллера. В Debug Console при этом будет сообщение вида:
    Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    Will look for update in USB gadget ramdisk
    
    Will use wb_update.fit from USB gadget (/usb)
    # или, если вы выбрали удаление данных
    Will use wb_update_FACTORYRESET.fit from USB gadget (/usb)
    
  7. Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: wirenboard-XXXXXXXX login:.

Если в имени файла есть FACTORYRESET, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: FACTORY RESET REQUESTED. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные — просто выключите контроллер.

Прошивка с помощью USB-флешки или карты Micro-SD

Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки

О способе

Для обновления прошивки или удаления данных и настроек можно воспользоваться USB-флешкой или картой памяти Micro SD.

Способ удобен, если на компьютере нет интернета и вы используете только встроенное в контроллер ПО.

При обновлении сохраняются пользовательские настройки и файлы в разделе /mnt/data, но стороннее ПО будет удалено. Если обновить с удалением пользовательских данных — будут стёрты пользовательские настройки и файлы, а так же установленное ПО. Рекомендуем сделать резервную копию.

Подготовка файла прошивки

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера:

Другие версии ПО вы найдёте в нашем репозитории.

Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: НастройкиСистема

Переименуйте загруженный файл в wb_update.fit — для обновления, или в wb_update_FACTORYRESET.fit — для удаления данных и сброса к заводским настройкам. Обратите внимание, что .fit — расширение файла, если у вас Windows и отключен показ расширений, то скаченный файл будет без него — не надо его добавлять, просто замените имя до точки.

Процесс

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

В инструкции мы будем ориентироваться на звуковые сигналы и подтверждать все запросы:

  1. Скопируйте подготовленный файл прошивки на флешку или карту памяти и вставьте её в контроллер.
  2. Следующие шаги зависят от аппаратной ревизии контроллера:
    • Для ревизии 7.3:
      1. Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network.
      2. Зажмите и не отпускайте кнопку FW.
      3. Подключите к контроллеру внешнее питание.
      4. Включите контроллер кнопкой и продолжайте удерживать кнопку FW. Если вам нужны логи из дебага, быстро подключите кабель Debug Console.
    • Для ревизии 7.2:
      1. Если нужно, подключите кабель к Debug Console.
      2. Переведите выключатель в положение OFF.
      3. Подключите к контроллеру внешнее питание.
      4. Зажмите и не отпускайте кнопку FW.
      5. Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
  3. Держите кнопку FW до короткого звукового сигнала. Кнопку можно отпустить. В Debug Console в этот момент будут строки:
    Press FW button to enter firmware update mode
    # <здесь вы нажали кнопку>
    Entering firmware update mode.
    
  4. Контроллер попробует найти на подключённой флешке или карте памяти fit-файлы с прошивкой. В Debug Console при этом будут выводится строки:
    Looking for update .fit on /dev/sda...
    Looking for update .fit on /dev/sda1...
    
  5. Если файл будет найден — контроллер издаст два коротких сигнала и перейдёт в режим прошивки. В Debug Console при этом будет сообщение вида:
    Will use wb_update.fit from virtual USB drive
    # или, если вы выбрали удаление данных
    Will use wb_update_FACTORYRESET.fit from virtual USB drive
    
    Если в имени файла есть FACTORYRESET, то контроллер издаст продолжительный звуковой сигнал — запрос подтверждения удаления всех данных. В Debug Console будет сообщение: FACTORY RESET REQUESTED. Нажмите и держите кнопку FW, пока контроллер не издаст по очереди четыре коротких звуковых сигнала. Кнопку можно отпустить. Если вы передумали удалять данные, то просто выключите контроллер.
  6. Через пару минут контроллер перезагрузится и его индикатор станет равномерно мигать зелёным, а в Debug Console появится приглашение входа: wirenboard-XXXXXXXX login:.

Массовая прошивка контроллеров

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

Версия установленного на контроллере ПО не важна, но fit-файл для обновления нужно взять свежий.

Работает это так:

  1. Подготовьте флешку с нужной прошивкой по инструкции выше.
  2. Создайте на этой флешке файл install_update.flags с текстом --mass-update — это включит режим массовой прошивки.
  3. Вставьте флешку в контроллер и прошейте его обычным способом.
  4. На флешке будет создана папка logs с файлами:
    • wb-mass-update.log, в который добавится строчка с серийным номером контроллера, данными о fit-файле (релиз, дата сборки) и сути операции (update/factory reset).
    • wb-console.XXXXXXXX.log, где XXXXXXXX — серийной номер контроллера. В этот файл будет записан полный лог процедуры прошивки.
  5. В конце прошивки контроллер издаст характерный сигнал (тили-ли-ли) — флешку можно извлекать.

Если флешку переставить в другой контроллер и прошить его — в файл wb-mass-update.log будет добавлена новая строчка с серийным номером, а также создастся ещё один файл с логом прошивки контроллера.

Удаление данных и возврат заводских настроек

Кнопка FW — переводит контроллер в режим прошивки и подтверждает запросы действий в процессе прошивки

О способе

Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек, а также релиз ПО контроллера, который был в момент его выпуска — сделайте резервную копию ваших файлов и настроек.

Процесс

Если у вас установлены USB-флеш, карта MicroSD или воткнут провод в Debug Network — вытащите их.

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

В инструкции мы просто зажмём кнопку FW и автоматом подтвердим все действия:

  1. Начало зависит от аппаратной ревизии контроллера:
    • Для ревизии 7.3:
      1. Переведите выключатель в положение OFF и вытащите кабели из разъёмов Debug Console и Debug Network.
      2. Зажмите и не отпускайте кнопку FW.
      3. Подключите к контроллеру внешнее питание. Если вам нужны логи из дебага, вместо внешнего питания можно подключить кабель Debug Console, контроллер включится автоматически.
      4. Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
    • Для ревизии 7.2:
      1. Если нужно, подключите кабель к Debug Console.
      2. Переведите выключатель в положение OFF.
      3. Подключите к контроллеру внешнее питание.
      4. Зажмите и не отпускайте кнопку FW.
      5. Включите контроллер кнопкой и продолжайте удерживать кнопку FW.
  2. Контроллер издаст короткий звуковой сигнал — это он перешёл в режим обновления прошивки, не отпускайте кнопку FW.
    В Debug Console при этом будет сообщение вида:
    Press FW button to enter firmware update mode
    Entering firmware update mode.
    
  3. Подождите 20-30 секунд, пока контроллер перебирает все накопители в поисках прошивки. В финале прозвучит один двойной звуковой сигнал — контроллер перешёл к процедуре сброса с помощью зашитого на заводе образа прошивки.
    В Debug Console при этом будет сообщение вида:
    Load modules for USB to work
    Waiting for USB to settle (10/10)
    Waiting for microSD to settle (3/3)
    Wait for eMMC to become available...
    
    Will use /mnt/data/.wb-restore/factoryreset.fit
    
  4. Через несколько секунд контроллер спросит подтверждение на удаление всех данных, но так как кнопка у нас уже зажата, то просто прозвучат по очереди четыре коротких звуковых сигнала. После этого сразу начнётся удаление данных, откат версии прошивки к заводской и восстановление заводских настроек.
    В Debug Console при этом будет сообщение вида:
    ##############################################################################
    
                              FACTORY RESET REQUESTED
    
               This WILL destroy ALL YOUR DATA: configuration, scripts,
                               files in home directory!
    
             If you are ABSOLUTELY SURE that you want to reset Wiren Board
                 to factory condition, hold the FW button for 4 seconds.
    
            If you will not do it in 10 seconds, the controller will reboot
                            without firmware update.
    
    
               If you want to perform a regular firmware update, rename
             FIT file to "wbX_update.fit" without "factory-reset" suffix.
    
    ##############################################################################
    .... #< здесь звучали четыре коротких звуковых сигнала >
    
    Factory reset is confirmed!
    
  5. Отпустите кнопку FW.
  6. По окончании процедуры контроллер перезагрузится в рабочем режиме, а его индикатор замигает зелёным.

Вся процедура занимает чуть больше 2 минут. После сброса у вас будет версия прошивки, зашитая в контроллер при производстве — обновите ПО до актуального релиза.

Удаление данных и возврат заводских настроек с обновлением ПО

О способе

Процедура удаляет все данные и установленное ПО! Убедитесь, что у вас останется доступ к контроллеру. Процедура удаляет на контроллере все данные: установленное ПО, настройки, пользовательские файлы и восстанавливает заводскую конфигурацию настроек — сделайте резервную копию ваших файлов и настроек. В отличие от аналогичного способа с кнопкой FW, происходит обновление ПО контроллера до версии, которая используется в выбранном вами fit-файле.

Подготовка файла прошивки

Функция пока доступна только для fit-образов с testing-релизом.

Cсылка для скачивания FIT-файлов в веб-интерфейсе контроллера Wiren Board

Вам понадобится fit-файл прошивки для вашей версии контроллера:

Другие версии ПО вы найдёте в нашем репозитории.

Также в свежих релизах FIT-файл можно скачать по ссылке в веб-интерфейсе: НастройкиСистема

Процесс

Страница системных настроек в веб-интерфейсе контроллера

Чтобы удалить все данные, сбросить настройки и обновить версии ПО на контроллере:

  1. Скачайте fit-файл по инструкции выше.
  2. Откройте веб-интерфейс контроллера.
  3. Перейдите НастройкиСистема.
  4. Загрузите fit-файл с прошивкой в разделе Удаление данных и сброс настроек (Factory reset) и дождитесь окончания процедуры.
  5. Перезагрузите контроллер.

Заметим, что процедура не заменяет встроенный образ заводского ПО, поэтому вы всегда можете откатиться к нему с помощью кнопки FW. Это позволит вам вернуть заводскую прошивку контроллера, на которой он проходил тесты на стенде и точно стабильно работал.