Обновление прошивки роутера RTUx68 до версии 3.x.x

Обновление прошивки роутера RTUx68 до версии 3.x.x

← Все разделы FAQ

Разделы FAQ:

Введение

В прошивке версии 3.x.x для роутеров TELEOFIS серии RTUx68 (RTU968, RTU1068) операционная система обновлена до OpenWrt 21.02, а версия ядра — до 5.4. Это позволяет устанавливать более новые версии пакетов и повышает безопасность системы.

Текущую версию прошивки можно посмотреть в веб-интерфейсе роутера в меню Статус → Обзор. Файлы прошивки опубликованы в репозитории https://github.com/teleofis/TELEOFIS-RTU968/tree/main/Firmware; для обновления потребуется версия 3.X.X S.

Вместе с прошивкой обновляется и загрузчик роутера, поэтому обновить устройство через веб-интерфейс или командную строку операционной системы нельзя. Загрузчик записывается только через TFTP-сервер из консоли U-Boot при подключении к роутеру по интерфейсу RS-232 — именно этот способ и описан далее.

Внимание: перед обновлением убедитесь, что устройство подключено к надёжному источнику питания, и не отключайте его до конца процедуры. Если питание пропадёт во время записи операционной системы, система будет потеряна, но роутер можно будет восстановить самостоятельно — из консоли загрузчика через интерфейс RS-232. Если же питание пропадёт во время записи загрузчика (раздел 6), будет потерян сам загрузчик: консоль по RS-232 перестанет отвечать и восстановить роутер своими силами уже не получится — его придётся отправить в сервисный центр TELEOFIS. Кроме того, при отключении питания во время записи возможно повреждение ПЗУ.

1. Установка TFTP-сервера

Скачайте и установите TFTP-сервер, например Tftpd32/Tftpd64: http://tftpd32.jounin.net/tftpd32_download.html. Окно программы после запуска выглядит так:

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


2. Настройка сетевого интерфейса на ПК

По умолчанию роутер RTU968/RTU1068 имеет IP-адрес 192.168.88.1 и при работе с TFTP-сервером обращается к адресу 192.168.88.11. Задайте адрес 192.168.88.11 и маску 255.255.255.0 на том сетевом интерфейсе ПК, к которому роутер подключён Ethernet-кабелем.


3. Подключение роутера

Работа со службой TFTP выполняется в командной строке загрузчика U-Boot, поэтому роутер нужно подключить к ПК двумя кабелями:


4. Подготовка к обновлению через TFTP

Распакуйте архив с прошивкой и загрузчиком в папку, которая будет использоваться TFTP-сервером. В примере ниже файлы распакованы в папку /Downloads/3.1.4S:

В окне TFTP-сервера в поле Current Directory укажите эту папку, а в поле Server interface выберите интерфейс ПК с адресом 192.168.88.11:


5. Проверка работы TFTP-сервера

Прежде чем стирать память роутера, убедитесь, что загрузчик видит файлы на TFTP-сервере и способен их загружать. Для этого в консоли загрузчика подайте команду tftp root — должен начаться процесс загрузки файла:

=> tftp root
Using FEC0 device
TFTP from server 192.168.88.11; our IP address is 192.168.88.1
Filename 'root'.
Load address: 0x42000000
Loading: *#################################################################
         #################################################################
         #################################################################
         #############################################

         1.4 MiB/s

         done

         Bytes transferred = 24506368 (175f000 hex)
Внимание: переходите к следующему разделу только в том случае, если загрузка файла прошла успешно и вывод в консоли соответствует примеру выше. Если файл не загружается, проверьте настройки сетевого интерфейса ПК, выбранный в TFTP-сервере интерфейс и рабочую папку, а также правила брандмауэра.

6. Очистка памяти и обновление загрузчика

Очистите память роутера и запишите новый загрузчик. Для этого в консоли загрузчика подайте команду:

nand erase.chip; run update_nand_full
Внимание: во время выполнения этой команды питание роутера должно быть стабильным. Отключение питания на этом шаге приведёт к удалению загрузчика — восстановить роутер после этого можно будет только в сервисном центре TELEOFIS.

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

=> nand erase.chip; run update_nand_full
NAND erase.chip: device 0 whole chip
Skipping bad block at  0x00020000
Skipping bad block at  0x00040000
Skipping bad block at  0x00060000
Skipping bad block at  0x01c00000
Skipping bad block at  0x01c20000
Skipping bad block at  0x01c40000
Skipping bad block at  0x01c60000
Erasing at 0xffe0000 -- 100% complete.
OK
Using FEC0 device
TFTP from server 192.168.88.11; our IP address is 192.168.88.1
Filename 'u-boot.nand'.
Load address: 0x42000000
Loading: T #################################################################
         #################################################################
         #################################################################
         ####################

         313.5 KiB/s

         done

         Bytes transferred = 3145728 (300000 hex)
Device 0: nand0, sector size 128 KiB
  Page size      2048 b
  OOB size         64 b
  Erase size   131072 b
NAND scrub: device 0 offset 0x0, size 0x300000
Erasing at 0x2e0000 -- 100% complete.
OK
NAND write:  540672 bytes written: OK
NAND write: device 0 offset 0x80000, size 0x280000
 2621440 bytes written: OK

Дождитесь окончания записи образа загрузчика. Не выключайте и не перезагружайте роутер до завершения процесса. Если образ по каким-то причинам не загрузился через TFTP, повторите команду run update_nand_full до успешной записи.

После успешной записи подайте команду reset для перезагрузки роутера.

Примечание: после перезагрузки система запустит новый загрузчик и выведет ошибку ERROR: Can't get kernel image!. Это ожидаемое поведение: память очищена и операционная система ещё не записана. Войдите в консоль загрузчика (по инструкции из раздела 3) и переходите к следующему шагу.

7. Обновление системы

В консоли обновлённого загрузчика подайте команду, которая запишет прошивку и перезагрузит роутер:

run update_system; reset

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

=> run update_system; reset
Using FEC0 device
TFTP from server 192.168.88.11; our IP address is 192.168.88.1
Filename 'root'.
Load address: 0x42000000
Loading: #################################################################
         #################################################################

Дождитесь окончания записи — после этого роутер перезагрузится и загрузит новую операционную систему. Обновление завершено.