Введение
В статье описан откат прошивки роутеров TELEOFIS серии RTUx68 (RTU968, RTU1068) с версии 3.x.x до версии 2.x.x. Текущую версию прошивки можно посмотреть в веб-интерфейсе роутера в меню Статус → Обзор.
В прошивках версии 3.x.x обновлены версия OpenWrt и версия ядра, поэтому при откате на версию 2.x.x требуется также заменить загрузчик роутера. Сделать это через веб-интерфейс или командную строку операционной системы нельзя — загрузчик обновляется только через TFTP-сервер из консоли U-Boot при подключении к роутеру по интерфейсу RS-232.
Далее последовательно рассмотрены установка TFTP-сервера, настройка сетевого интерфейса ПК, подключение роутера, обновление загрузчика и запись прошивки версии 2.x.x.
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, поэтому роутер нужно подключить к ПК двумя кабелями:
- по интерфейсу RS-232 — для доступа к консоли загрузчика (см. статьи Как подключиться к роутеру RTU и Как зайти в загрузчик U-Boot роутера RTUx68);
- по Ethernet — к интерфейсу ПК, настроенному в разделе 2.
4. Подготовка к обновлению через TFTP
Прошивки роутера опубликованы в репозитории https://github.com/teleofis/TELEOFIS-RTU968/tree/main/Firmware. Для отката потребуется версия 2.X.X S.
Распакуйте архив с прошивкой и загрузчиком в папку, которая будет использоваться TFTP-сервером. В примере ниже файлы распакованы в папку TFTP:
В окне TFTP-сервера в поле Current Directory укажите эту папку, а в поле Server interface выберите интерфейс ПК с адресом 192.168.88.11:
5. Проверка работы TFTP-сервера
Прежде чем стирать память роутера, убедитесь, что загрузчик видит файлы на 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)
6. Очистка памяти и обновление загрузчика
Очистите память роутера и запишите новый загрузчик. Для этого в консоли загрузчика подайте команду:
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
Дождитесь окончания записи образа загрузчика. Не выключайте и не перезагружайте роутер до завершения процесса. Если образ по каким-то причинам не загрузился через TFTP, повторите команду run update_nand_full до успешной записи.
После успешной записи подайте команду reset. Роутер перезагрузится, и в загрузчик нужно будет войти заново — по инструкции из раздела 3.
7. Запись прошивки
В консоли обновлённого загрузчика последовательно обновите компоненты прошивки:
- Обновите FDT командой
run update_fdt. - Обновите ядро командой
run update_kernel. - Обновите файловую систему командой
run update_fs.
Порядок выполнения команд важен — не пропускайте шаги и не меняйте их местами. После выполнения всех команд подайте команду reset и дождитесь загрузки операционной системы. Роутер готов к дальнейшей работе.