Резервное обновление встроенного ПО устройства через RS-232
В случае, когда не удается обновить ПО через web-конфигуратор или консоль (Тelnet, SSH), существует возможность резервного обновления ПО через RS-232.
Для того чтобы обновить встроенное ПО устройства, необходимы следующие программы:
- Программа терминалов (например, TERATERM);
- Программа TFTP-сервера.
Последовательность действий при обновлении устройства:
- Подключиться к порту Ethernet устройства;
- Подключить скрещенным кабелем COM-порт компьютера к Console-порту устройства;
- Запустить терминальную программу;
- Настроить скорость передачи 115200, формат данных 8 бит, без паритета, 1 бит стоповый, без управления потоком;
- Запустить на компьютере программу tftp сервера и указать путь к папке smg200_files, в ней создать папку smg200, в которую поместить файлы smg200_kernel, smg200_initrd , smg200_devtree (компьютер, на котором запущен TFTP server, и устройство должны находиться в одной сети);
Для SMG-500 имена файлов будут соответственно smg500_kernel, smg500_initrd, smg500_devtree.
Включить устройство и в окне терминальной программы остановить загрузку путем введения команды “stop”:
UU-Boot 2017.03-armada-17.06.3-gbddd5b3 (Dec 12 2017 - 14:43:45 +0700) Model: Eltex Ltd SMG-200 board Clock: CPU 1200 [MHz] DDR 800 [MHz] FABRIC 800 [MHz] MSS 200 [MHz] DRAM: 2 GiB U-Boot DT blob at : 000000007faee7d8 Comphy-0: SATA1 5 Gbps Comphy-1: SGMII2 1.25 Gbps Comphy-2: SGMII0 1.25 Gbps Comphy-3: SGMII1 1.25 Gbps Comphy-4: IGNORE Comphy-5: IGNORE UTMI PHY 0 initialized to USB Host0 UTMI PHY 1 initialized to USB Host1 NAND: 0 MiB MMC: sdhci@6e0000: 0, sdhci@780000: 1 Net: eth0: mvpp2-0, eth1: mvpp2-1 [PRIME], eth2: mvpp2-2 Autoboot in 3 seconds stop smg200>>
- Ввести set ipaddr <IP-адрес устройства> <ENTER>;
Пример: set ipaddr 192.168.2.2 - Ввести set netmask <сетевая маска устройства> <ENTER>;
Пример: set netmask 255.255.255.0 - Ввести set serverip <IP-адрес компьютера, на котором запущен tftp сервер> <ENTER>;
Пример: set serverip 192.168.2.5 Запустить устройство командой run netboot:
smg200>> run netboot TFTP from server 192.168.2.5; our IP address is 192.168.2.2 Filename 'smg200/smg200_kernel'. Load address: 0x5000000 Loading: ################################################################# ... TFTP from server 192.168.2.5; our IP address is 192.168.2.2 Filename 'smg200/smg200_devtree'. Load address: 0x4f00000 Loading: ###### ... TFTP from server 192.168.2.5; our IP address is 192.168.2.2 Filename 'smg200/smg200_initrd'. Load address: 0x8000000 Loading: ################################################################# ... ## Loading init Ramdisk from Legacy Image at 08000000 ... Image Name: smg200 Ramdisk Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 21910437 Bytes = 20.9 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 04f00000 Booting using the fdt blob at 0x4f00000 Loading Ramdisk to 7e607000, end 7faec3a5 ... OK Using Device Tree in place at 0000000004f00000, end 0000000004f09b72 Starting kernel ...
- После запуска устройства можно обновить ПО согласно разделу Обновление ПО через web-конфигуратор.
Резервное обновление встроенного ПО устройства с USB-flash накопителя
В случае, когда остальные способы обновления ПО недоступны, существует возможность обновления ПО при помощи USB-flash накопителя.
Для того чтобы обновить встроенное ПО устройства при помощи USB-flash, необходимо следующее:
- USB-flash накопитель;
- Программа терминалов (например, TERATERM).
Последовательность действий при обновлении устройства:
- Скопировать файл ПО в корневую директорию USB-flash накопителя;
- Подключить скрещенным кабелем COM-порт компьютера к Console-порту устройства либо установить соединение с устройством по протоколу Telnet/SSH;
- Запустить терминальную программу;
- Настроить скорость передачи 115200, формат данных 8 бит, без паритета, 1 бит стоповый, без управления потоком (в случае соединения по RS-232);
- Включить устройство и дождаться его загрузки;
- После загрузки подключиться в терминальном режиме по протоколу Telnet/SSH либо по RS-232;
В режиме CLI ввести команду:
firmware update <file-name> usb
В случае если режим CLI недоступен, обновление возможно в режиме shell, для этого нужно ввести в режиме shell:/usr/local/scripts/get_firmware <file-name> usb
где <file-name> – наименование файла ПО.
- Дождаться завершения обновления ПО и перезапустить устройство.