Резервное обновление встроенного ПО устройства через RS-232
В случае, когда не удается обновить ПО через web-конфигуратор или консоль (Тelnet, SSH), существует возможность резервного обновления ПО через RS-232.
Для того чтобы обновить встроенное ПО устройства, необходимы следующие программы:
- Программа терминалов (например, TERATERM);
- Программа TFTP-сервера.
Последовательность действий при обновлении устройства:
- Подключиться к порту Ethernet устройства;
- Подключить скрещенным кабелем COM-порт компьютера к Console-порту устройства;
- Запустить терминальную программу;
- Настроить скорость передачи 115200, формат данных 8 бит, без паритета, 1 бит стоповый, без управления потоком;
- Запустить на компьютере программу tftp сервера и указать путь к папке smg_files, в ней создать папку smg, в которую поместить файлы SMG_kernel, SMG_initrd (компьютер, на котором запущен TFTP server, и устройство должны находиться в одной сети);
Включить устройство и в окне терминальной программы остановить загрузку путем введения команды “stop”:
U-Boot 2009.06 (Feb 09 2010 – 20:57:21) CPU: AMCC PowerPC 460GT Rev. A at 800 MHz (PLB=200, OPB=100, EBC=100 MHz) Security/Kasumi support Bootstrap Option B – Boot ROM Location EBC (16 bits) 32 kB I-Cache 32 kB D-Cache Board: SMG-1016Mv2 board, AMCC PPC460GT Glacier based, 2*PCIe, Rev. FF I2C: ready DRAM: 512 MB SDRAM test phase 1: SDRAM test phase 2: SDRAM test passed. Ok! FLASH: 64 MB NAND: 128 MiB DTT: 1 FAILED INIT Net: ppc_4xx_eth0, ppc_4xx_eth1 Type run flash_nfs to mount root filesystem over NFS Autobooting in 3 seconds, press 'stop' for stop =>
- Ввести 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 Ввести mii si <ENTER> для активации сетевого интерфейса:
=> mii si Init switch 0: ..Ok! Init switch 1: ..Ok! Init phy 1: ..Ok! Init phy 2: ..Ok! =>
Обновить ядро Linux командой run flash_kern:
=> run flash_kern About preceeding transfer (eth0): - Sent packet number 0 - Received packet number 0 - Handled packet number 0 ENET Speed is 1000 Mbps – FULL duplex connection (EMAC0) Using ppc_4xx_eth0 device TFTP from server 192.168.2.5; our IP address is 192.168.2.2 Filename ' smg/SMG_kernel'. Load address: 0x400000 Loading: ################################################################# ################################### done Bytes transferred = 1455525 (1635a5 hex) Un-Protected 15 sectors ............... done Erased 15 sectors Copy to Flash... 9....8....7....6....5....4....3....2....1....done =>
Обновить файловую систему командой run flash_initrd:
=> run flash_initrd Using ppc_4xx_eth0 device TFTP from server 192.168.2.5; our IP address is 192.168.2.2 Filename ' smg/SMG_initrd'. Load address: 0x400000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# #################### done Bytes transferred = 25430113 (1840861 hex) Erase Flash Sectors 56-183 in Bank # 2 Un-Protected 256 sectors ........................................................... done Erased 256 sectors Copy to Flash... 9....8....7....6....5....4....3....2....1....done =>
- Запустить устройство командой run bootcmd.
Резервное обновление встроенного ПО устройства с 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> – наименование файла ПО.
- Дождаться завершения обновления ПО и перезапустить устройство.