В связи с тем, что в прошивке обновляется версия OpenWRT и версия ядра, необходимо также обновить загрузчик роутера, это возможно сделать только с помощью обновления через TFTP-сервер при подключении к роутеру по RS-232
Перед обновлением прошивки убедитесь, что устройство подключено к надежному источнику питания. Если в процессе обновления ОС произойдет отключение питания, система будет потеряна и ее обновление будет возможно только из консоли загрузчика (через интерфейс RS-232). Также при отключении питания возможны повреждения ПЗУ.
1) Установка TFTP-сервера
Скачать и установить TFTP-сервер Вы можете по ссылке: http://tftpd32.jounin.net/tftpd32_download.html
Каких-либо предварительных настроек производить не нужно, все необходимые настройки будут произведены в дальнейшем по ходу действий.
2) Настройка сетевых интерфейсов на ПК
Роутер RTU968/1068 имеет, по умолчанию, IP-адрес 192.168.88.1 и при работе с TFTP-сервером обращается к IP-адресу 192.168.88.11. То есть необходимо осуществить настройку на сетевом интерфейсе ПК, к которому подключен роутер RTU968/1068 по Ethernet-кабелю.
3) Подключение роутера RTU968/1068
Работа со службой TFTP на роутере RTU968/1068 происходит в командой строке загрузчика(Как зайти в загрузчик U-Boot роутера), поэтому необходимо подключить по RS-232 интерфейсу (Как подключиться к роутеру RTU?) роутер к ПК, а также подключить роутер к Ethernet-интерфейсу ПК (согласно п.2 выше).
4) Подготовка к обновлению прошивки через TFTP
Прошивка доступна по ссылке: https://github.com/teleofis/TELEOFIS-RTU968/tree/main/Firmware (необходима версия прошивки 2.X.X S)
Файл с загрузчиком необходимо распаковать в папку, которая будет использоваться TFTP-сервером (в примере ниже, файлы распакованы в папку с наименованием TFTP)
В программе TFTP-сервера необходимо указать интерфейс на ПК с IP-адресом 192.168.88.11. А также указать папку, в которой находится необходимая нам прошивка.
Проверим работу TFTP сервера, и, что загрузчик видит файлы и способен их загружать:
Для этого необходимо подать команду:
tftp rootfs.img
Вы должны увидеть процесс загрузки файла...=> tftp rootfs.img
Using FEC0 device
TFTP from server 192.168.88.11; our IP address is 192.168.88.1
Filename 'rootfs.img'.
Load address: 0x42000000
Loading*#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#############################################
1.4 MiB/s
done
Bytes transferred = 24506368 (175f000 hex)
Если данный процесс прошел успешно и похож по логу на пример выше, то можно переходить к следующему пункту.
5) Обновление прошивки через TFTP
5.1 Для начала необходимо очистить всю память, обновить загрузчик загрузчик и перезагрузиться. Для этого необходимо подать команду:nand erase.chip; run update_nand_full
ВАЖНО!!! При выполнении данной команды необходимо быть уверенным, что питание на роутере стабильно и не отключать его, в противном случае, есть шанс удаления загрузчика и восстановить роутер можно будет только отправив его к нам в сервисный центр!
Вы должны увидеть процесс загрузки файла...
=> 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
Обязательно дождитесь успешной загрузки образа загрузчика! Не выключайте роутер и не перезагружайте его до окончания процесса! При необходимости, команду run update_nand_full нужно повторить до успешной загрузки образа через TFTP.
Далее подадим команду reset для перезагрузки роутера. Система перезапустит загрузчик и снова нужно будет войти в него (по инструкции п.3)
6) Далее необходимо выполнить ряд команд для обновления прошивки роутера:
- обновляем FDT командой:
run update_fdt
- обновляем ядро командой:
run update_kernel
- обновляем файловую систему командой:
run update_fs
После выполнения всех пунктов, прошивка будет успешно обновлена! Вы можете подать команду reset в консоли загрузчика и дождаться загрузки операционной системы, после этого роутер готов к дальнейшей работе.