Необходимое ПО

Ссылка на скачивание esr2x.recovery-xm_1.14.uboot

Ссылка на скачивание esr2x.recovery-xm_1.28.uboot

Ссылка на скачивание архива промежуточной версии ПО 1.20.4 build 6

Ссылка на скачивание архива версии ПО 1.28.1 build7

Описание проблемы

В инструкции по обновлению ПО до версии 1.23.6 и выше для моделей ESR-20/21 есть  предупреждение о необходимости обновления через промежуточную версию ПО 1.20.4:

Если версия ПО маршрутизатора 1.18.11 или 1.23 и выше, то для восстановления необходимо использовать esr2x.recovery-xm_1.28.uboot и ПО 1.28.1!!!


Если проигнорировать выполнение этого шага, после обновления основного ПО до версии 1.23.6 и выше маршрутизатор будет циклически перезагружаться со следующим логом:

BL1:1.14.0.18 (30/08/2021 - 19:09:05)

INFO:    BL1: RAM 0x6517a800 - 0x65180000
INFO:    Using crypto library 'mbed TLS'
INFO:    BL1: Loading BL2
INFO:    BL1: Watchdog Enabled
INFO:    memmap_block_open 0x68000000
WARNING: Firmware Image Package header check failed.
WARNING: Failed to obtain reference to image id=6 (-2)
INFO:    memmap_block_open 0x68020000
WARNING: Firmware Image Package header check failed.
WARNING: Failed to obtain reference to image id=6 (-2)
INFO:    memmap_block_open 0x68040000
WARNING: Firmware Image Package header check failed.
WARNING: Failed to obtain reference to image id=6 (-2)
INFO:    memmap_block_open 0x68060000
WARNING: Firmware Image Package header check failed.
WARNING: Failed to obtain reference to image id=6 (-2)
INFO:    memmap_block_open 0x68080000
INFO:    Loading image id=6 at address 0x65196000
INFO:    Skip reserving region [base = 0x65196000, size = 0x37f]
INFO:    Image id=6 loaded at address 0x65196000, size = 0x37f
INFO:    Authenticating image id=6 0x65196000, 0x37f
INFO:    AUTH_METHOD_SIG
INFO:    readKeys (DAUTH) from BL1
INFO:    AB
INFO:    AUTH_METHOD_NVCTR
INFO:    AUTH_METHOD_NONE
INFO:    AUTH_METHOD_NONE
INFO:    Loading image id=1 at address 0x65196000
INFO:    Free_base: 0x6517ca40, Free_size: 0x6517ca48, addr: 0x65196000, size: 0x2b4f8
INFO:    Image id=1 loaded at address 0x65196000, size = 0x2b4f8
INFO:    Authenticating image id=1 0x65196000, 0x2b4f8
INFO:    AUTH_METHOD_HASH
INFO:    AUTH_METHOD_NONE
INFO:    AUTH_METHOD_NONE
INFO:    AUTH_METHOD_NONE
NOTICE:  BL1: Booting BL2
INFO:    Entry point address = 0x65196000
INFO:    SPSR = 0x3c5
INFO:    Free_base: 0x6517ca40, Free_size: 0x6517ca48, addr: 0x6517a800, size: 0x5800
INFO:    Scan and configure IDM slave wrappers
INFO:    IDM slave wrapper scan and config complete
INFO:    Scan and configure IDM master wrappers
INFO:    IDMM 0         AXI_PCIE_M0: 0000000021000408 current ARCACHE=1 AWCACHE=1 (40008223)
INFO:    IDMM 0         AXI_PCIE_M0: 0000000021000408 updated ARCACHE=f AWCACHE=f (400083FF)
INFO:    IDMM 1         AXI_PCIE_M1: 0000000021001408 current ARCACHE=1 AWCACHE=1 (40008223)
INFO:    IDMM 1         AXI_PCIE_M1: 0000000021001408 updated ARCACHE=f AWCACHE=f (400083FF)
INFO:    IDMM 2         AXI_PCIE_M2: 0000000021002408 current ARCACHE=1 AWCACHE=1 (40008223)
INFO:    IDMM 2         AXI_PCIE_M2: 0000000021002408 updated ARCACHE=f AWCACHE=f (400083FF)
INFO:    IDMM 3         AXI_PCIE_M3: 0000000021003408 current ARCACHE=1 AWCACHE=1 (40008223)
INFO:    IDMM 3         AXI_PCIE_M3: 0000000021003408 updated ARCACHE=f AWCACHE=f (400083FF)
INFO:    IDMM 4         AXI_PCIE_M4: 0000000051000408 current ARCACHE=1 AWCACHE=1 (40008223)
INFO:    IDMM 4         AXI_PCIE_M4: 0000000051000408 updated ARCACHE=f AWCACHE=f (400083FF)
INFO:    IDMM 5         AXI_PCIE_M5: 0000000051001408 current ARCACHE=1 AWCACHE=1 (40008223)
INFO:    IDMM 5         AXI_PCIE_M5: 0000000051001408 updated ARCACHE=f AWCACHE=f (400083FF)
INFO:    IDMM 6         AXI_PCIE_M6: 0000000051002408 current ARCACHE=1 AWCACHE=1 (40008223)
INFO:    IDMM 6         AXI_PCIE_M6: 0000000051002408 updated ARCACHE=f AWCACHE=f (400083FF)
INFO:    IDMM 7         AXI_PCIE_M7: 0000000051003408 current ARCACHE=1 AWCACHE=1 (40008223)
INFO:    IDMM 7         AXI_PCIE_M7: 0000000051003408 updated ARCACHE=f AWCACHE=f (400083FF)
INFO:    IDMM 29                AMAC: 0000000061090408 current ARCACHE=3 AWCACHE=3 (00030185)
INFO:    IDMM 29                AMAC: 0000000061090408 updated ARCACHE=f AWCACHE=f (000F0785)
INFO:    IDMM 32                DMAC: 0000000067002408 current ARCACHE=0 AWCACHE=0 (3C001E01)
INFO:    IDMM 32                DMAC: 0000000067002408 updated ARCACHE=f AWCACHE=f (3CFF1E01)
INFO:    IDMM 35            USB2H_M0: 0000000067010408 current ARCACHE=0 AWCACHE=0 (03DE0000)
INFO:    IDMM 35            USB2H_M0: 0000000067010408 updated ARCACHE=f AWCACHE=f (03DE03FC)
INFO:    IDMM 36            USB2H_M1: 0000000067011408 current ARCACHE=0 AWCACHE=0 (03DE0000)
INFO:    IDMM 36            USB2H_M1: 0000000067011408 updated ARCACHE=f AWCACHE=f (03DE03FC)
INFO:    IDMM 37            USB2_DRD: 0000000067012408 current ARCACHE=0 AWCACHE=0 (03DE0000)
INFO:    IDMM 37            USB2_DRD: 0000000067012408 updated ARCACHE=f AWCACHE=f (03DE03FC)
INFO:    IDMM 38             SDIO_M0: 0000000067013408 current ARCACHE=0 AWCACHE=0 (00000001)
INFO:    IDMM 38             SDIO_M0: 0000000067013408 updated ARCACHE=f AWCACHE=f (7F800001)
INFO:    IDMM 39             SDIO_M1: 0000000067014408 current ARCACHE=0 AWCACHE=0 (00000001)
INFO:    IDMM 39             SDIO_M1: 0000000067014408 updated ARCACHE=f AWCACHE=f (7F800001)
INFO:    IDM master wrapper scan and config complete
NOTICE:  IHOST: Broadcom BCM58712 B0
INFO:    mdio_update: phy_id 3, addr 0, value 0x808
INFO:    mdio_update: phy_id 3, addr 1, value 0x1804
INFO:    mdio_update: phy_id 3, addr 2, value 0x4e8a
INFO:    mdio_update: phy_id 3, addr 3, value 0x601
INFO:    mdio_update: phy_id 3, addr 4, value 0xcce0
INFO:    mdio_update: phy_id 3, addr 5, value 0x580
INFO:    mdio_update: phy_id 3, addr 6, value 0xb000
INFO:    mdio_update: phy_id 3, addr 7, value 0x5fff
INFO:    mdio_update: phy_id 3, addr 8, value 0x0
INFO:    mdio_update: phy_id 3, addr 9, value 0x120c
INFO:    mdio_update: phy_id 4, addr 0, value 0x808
INFO:    mdio_update: phy_id 4, addr 1, value 0x1804
INFO:    mdio_update: phy_id 4, addr 2, value 0x4e8a
INFO:    mdio_update: phy_id 4, addr 3, value 0x601
INFO:    mdio_update: phy_id 4, addr 4, value 0xcce0
INFO:    mdio_update: phy_id 4, addr 5, value 0x580
INFO:    mdio_update: phy_id 4, addr 6, value 0xb000
INFO:    mdio_update: phy_id 4, addr 7, value 0x5fff
INFO:    mdio_update: phy_id 4, addr 8, value 0x0
INFO:    mdio_update: phy_id 4, addr 9, value 0x120c
INFO:    mdio_update: phy_id 2, addr 0, value 0x808

Данный лог информирует о неудачной попытке запустить системы с помощью вторичного загрузчика (u-boot). 

В данной инструкции описано, как восстановить успешную загрузку вторичного загрузчика (u-boot) и обновить ПО до промежуточной версии.

Подготовка

1. Скачать файл esr2x.recovery-xm_1.14.uboot и разместить его на ПК в удобном для выбора разделе и отправки на маршрутизатор.

2. Скачать архив с промежуточной версией ПО 1.20.4 build 6

3. Подготовить SD карту емкостью до 8 ГБ либо USB FLASH, создать таблицу разделов MBR,  один раздел и отформатировать его в FAT32.

4. Извлечь из архива и скопировать в корневой раздел SD/USB-носителя следующие файлы (ссылки на скачивание архива промежуточной версии ПО 1.20.4 приведены в начале статьи):

esr2x-1.20.4-build6.uboot - вторичный загрузчик 1.20.4

esr2x-1.20.4-build6.firmware - основное ПО 1.20.4

5. Перед началом работ по восстановлению ПО на сервисном маршрутизаторе подготовленный носитель необходимо установить в соответствующий слот маршрутизатора.

Восстановление ПО с помощью minicom на Linux

Для восстановления загрузки u-boot необходимо выполнить следующие действия:

1. Отключить питание маршрутизатора.

2. Зажать и не отпускать кнопку F.

3. Подать питание на устройство и дождаться предложение отправить данные по X-modem.

4. Отпустить кнопку F.

режим загрузки через xmodem
L1:1.14.0.18 (30/08/2021 - 19:09:05)

INFO:    BL1: RAM 0x6517a800 - 0x65180000
INFO:    Using crypto library 'mbed TLS'
INFO:    BL1: Start recovery process ...
INFO:    
Send data using the xmodem from your terminal now ...
CINFO: ... No Response 
CINFO: ... No Response 
CINFO: ... No Response 
CINFO: ... No Response 

Пример восстановления приведён с учётом использования консольного терминала  minicom в Linux. Для Windows можно использовать программу Tera Term v5.0. (пример приведен в конце статьи).

5. В терминале нажать комбинацию клавиши "Ctrl"+"A"+"Z" и далее чтобы передать файл нажать клавишу "S".
6. Выбрать "xmodem"(передать файл через x-модем)

7. Выбрать расположение нужного файла  esr2x.recovery-xm_1.14.uboot 

8. Подождать около 10 минут, пока файл загрузится на маршрутизатор.

9. По окончанию загрузки нажать любую клавишу. Произойдет перезагрузка маршрутизатора.


10. После перезагрузки маршрутизатор выведет строку приглашения восстановления  u-boot.

RECOVERY.u-boot>


Обратите внимание, что в этом режиме сеть не будет работать для ESR-21. (Вы не сможете использовать tftp_update).

11. Выполнить последовательность команд по обновлению, приведенную ниже. Команды приведены для случая использования USB FLASH.

RECOVERY.u-boot> usb_update_uboot esr2x-1.20.4-build6.uboot


resetting USB...
USB0:
Initializing USB2 Host
USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1:
Initializing USB2 Host
USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
reading esr2x-1.20.4-build6.uboot
1723838 bytes read in 140 ms (11.7 MiB/s)

Download file 'esr2x-1.20.4-build6.uboot': OK

Check U-Boot image ... OK
SF: Detected MX25L12805 with page size 256 Bytes, erase size 64 KiB, total 16 MB
................................
SF: 2097152 bytes @ 0x80000 Erased: OK
device 0 offset 0x80000, size 0x1a4dbe
SF: 1723838 bytes @ 0x80000 Written: OK

U-Boot update: OK


RECOVERY.u-boot> usb_update_firmware esr2x-1.20.4-build6.firmware image1
resetting USB...
USB0:
Initializing USB2 Host
USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1:
Initializing USB2 Host
USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
reading esr2x-1.20.4-build6.firmware
71816544 bytes read in 3718 ms (18.4 MiB/s)

Download file 'esr2x-1.20.4-build6.firmware': OK


Firmware update: OK
RECOVERY.u-boot> boot_system image1
SF: Detected MX25L12805 with page size 256 Bytes, erase size 64 KiB, total 16 MB
..
SF: 131072 bytes @ 0x2c0000 Erased: OK
device 0 offset 0x2c0000, size 0x5
SF: 5 bytes @ 0x2c0000 Written: OK

Set active image: OK
RECOVERY.u-boot> reset


12. В результате вышеперечисленных действий будет восстановлена загрузка маршрутизатора с использованием ПО версии 1.20.4.

Для обновления на актуальную версию ПО необходимо использовать инструкцию по обновлению, которая идёт в архиве с актуальной версией ПО.

Восстановление ПО с помощью Tera Term v5.0 на Windows

1. Необходимо настроить подключение к маршрутизатору через последовательный порт.

Запускаем программу Tera Term. Переходим в меню Настройка ==>>> COM-порт и задаем необходимые параметры. 

Номер COM-порта можно узнать через диспетчер устройств.


Далее настройки сохраняем (пункт меню Настройки == >>> Сохранить настройки).

Устанавливаем новое соединение Файл ==>>> Новое соединение выбираем COM-порт.

2. Отключить питание маршрутизатора.

3. Зажать и не отпускать кнопку F.

4. Подать питание на устройство и дождаться предложение отправить данные по X-modem.

5. Отпустить кнопку F.

режим загрузки через xmodem
L1:1.14.0.18 (30/08/2021 - 19:09:05)

INFO:    BL1: RAM 0x6517a800 - 0x65180000
INFO:    Using crypto library 'mbed TLS'
INFO:    BL1: Start recovery process ...
INFO:    
Send data using the xmodem from your terminal now ...
CINFO: ... No Response 
CINFO: ... No Response 
CINFO: ... No Response 
CINFO: ... No Response 

6. Передаем файл recovery uboot. Переходим в меню Файл ==>>> Трансфер ==>>>XMODEM ==>>> передача и выбираем файл для передачи.

7. Ждем около 10 минут, пока идет передача файла.

8. После полной передачи файла ESR перезагрузится самостоятельно. После загрузки появится строка приглашения recovery uboot.

Обратите внимание, что в этом режиме сеть не будет работать для ESR-21. (Вы не сможете использовать tftp_update).

9. Выполнить последовательность команд по обновлению, приведенную ниже. Команды приведены для случая использования USB FLASH.

RECOVERY.u-boot> usb_update_uboot esr2x-1.20.4-build6.uboot
resetting USB...
USB0:
Initializing USB2 Host
USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1:
Initializing USB2 Host
USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
reading esr2x-1.20.4-build6.uboot
1723838 bytes read in 140 ms (11.7 MiB/s)

Download file 'esr2x-1.20.4-build6.uboot': OK

Check U-Boot image ... OK
SF: Detected MX25L12805 with page size 256 Bytes, erase size 64 KiB, total 16 MB
................................
SF: 2097152 bytes @ 0x80000 Erased: OK
device 0 offset 0x80000, size 0x1a4dbe
SF: 1723838 bytes @ 0x80000 Written: OK

U-Boot update: OK
RECOVERY.u-boot> usb_update_firmware esr2x-1.20.4-build6.firmware image1
resetting USB...
USB0:
Initializing USB2 Host
USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1:
Initializing USB2 Host
USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
reading esr2x-1.20.4-build6.firmware
71816544 bytes read in 3718 ms (18.4 MiB/s)

Download file 'esr2x-1.20.4-build6.firmware': OK


Firmware update: OK
RECOVERY.u-boot> boot_system image1
SF: Detected MX25L12805 with page size 256 Bytes, erase size 64 KiB, total 16 MB
..
SF: 131072 bytes @ 0x2c0000 Erased: OK
device 0 offset 0x2c0000, size 0x5
SF: 5 bytes @ 0x2c0000 Written: OK

Set active image: OK
RECOVERY.u-boot> reset

10. В результате вышеперечисленных действий будет восстановлена загрузка маршрутизатора с использованием ПО версии 1.20.4.

Для обновления на актуальную версию ПО необходимо использовать инструкцию по обновлению, которая идёт в архиве с актуальной версией ПО.