[[wiki:WikiStart|Вики MC04]] == Восстановление ПО платы SW-01 (запись заводского образа файловой системы) ''Эта инструкция предназначена для случая, если содержимое файловой системы в плате SW-01 было по какой-то причине "испорчено"''.\\ [[span(style=color: #FF0000, ''Внимание! Данное руководство предназначено для опытных пользователей. Выполнение некорректных команд на плате может привести к потере работоспособности платы. '')]] Вам понадобится: - переходник 3-pin-RS-232; - нуль-модемный шнур RS-232; - патч-корд ethernet; - архив с образом файловой системы SW-01: - [https://adc-line.ru/program/sw_img/20250130_sw_r2469ubi_r2304jffs2.zip 20250130_sw_r2469ubi_r2304jffs2.zip]. - tftp сервер (в архиве с образом содержится сервер tftp32 для Windows): - программа терминал (в архиве с образом содержится терминал PuTTY для Windows): **1.** Выключить питание блока MC04-DSL-3U, достать плату SW-01. **2.** Подключить плату SW-01 с помощью переходника 3-pin-RS-232 и нуль-модемного шнура RS-232 к COM-порту компьютера.\\ Подключить SW-01 к ПК с помощью патч-корда напрямую или через IP сеть. Переходник подключить к дальнему (если смотреть на плату с лицевой стороны) разъему X3 (3-pin) на плате SW-01, расположение и распиновка разъёма на рисунке: [[Image(2-x3.png, align=center, title=где найти разъем)]]\\ [[Image(com_sw.png, align=center)]]\\ **3.** Разархивировать архив с образом. Путь до папки `tftp` должен быть без русских букв и пробелов. **4.** Из папки `tftp` запустить `tftpd32.bat' (в данной инструкции предполагается использование ПК c ОС Windows и tftp32, при необходимости вы можете использовать по аналогии другую ОС и другой tftp-сервер). \\ Если появится окно от брандмауэра, то разрешить брандмауэру доступ в сеть.\\ В `Server interfaces` выбрать проводной интерфейс.\\ [[Image(3-tftpd.png, align=center, title=окно tftpd32)]] **Не закрывать окно tftpd32 до конца процесса! ** **5.** Из папки `tftp` запустить `putty.bat`. В среднем поле окна указать COM-порт, через который вы подключились к SW-01 (COM-порт можно узнать в Диспетчере устройств). Установить скорость порта 115200, формат символов 8N1 (8 бит данных, отсутствие бита паритета, 1 стоповый бит), отключить управление потоком.\\ Нажать кнопку `Соединиться`.\\ После этого откроется новое черное окно. [[Image(4-putty.png, align=center, title=окно putty)]] **6.** Включить питание блока. \\ В окне начнет появляться информация о загрузке. \\ При появлении в терминале сообщения `Hit any key to stop autoboot` нужно нажать любую клавишу на клавиатуре, чтобы прервать автоматическую загрузку платы. Таймер автозагрузки 3 с.\\ После прерывания автозагрузки ниже появится приглашение загрузчика `U-Boot>`. [[Image(5-cmd1.png, align=center, title=вход в U-Boot)]] **7.** Далее выполнить команды: Установить локальный IP-адрес для платы SW-01:\\ `setenv ipaddr ` Установить адрес сервера:\\ `setenv serverip ` Установить адрес шлюза:\\ `setenv gwip ` В данном случае IP-адрес сервера – это IP-адрес ПК. \\ Если SW-01 подключена к ПК напрямую, то локальный IP-адрес должен быть в той же подсети, что и IP-адрес сервера, адрес шлюза можно не указывать.\\ Если SW-01 подключена к IP-сети через шлюз, то нужно указать локальный IP-адрес и адрес шлюза. [[Image(6-cmd2.png, align=center, title=указание ip-адресов)]] **8. Этот пункт нужно выполнять только в том случае, если плата SW-01 'старая' - на печатной плате SW-01 нанесена версия 6 и ниже (например ''SW-01v6'') или плата была произведена раньше 2017 года.** Нужно выполнить команду\\ `print loadrootfs` [[Image(9-rootfs.png, align=center, title=rootfs)]] В начале вывода команды вы увидите один из вариантов {{{tftp 0x20000000}}} или {{{tftp 0x22000000}}}: - {{{tftp 0x22000000}}} Плата SW-01 действительно 'старая', продолжайте выполнение п.8 - {{{tftp 0x20000000}}} Плата SW-01 новая, вам нужно перейти к п.9 Если плата 'старая', то нужно выполнить следующую команду > **Лучше всего скопировать команду ниже и вставить в терминал.**\\ > **Опечатка при вводе команды может привести к потере работоспособности платы** `tftp 0x20000000 SW-01/rootfs; nand erase 0x3A0000 0xfc60000; nand write.e 0x20000000 0x3A0000 ${filesize}` После ввода команды начнется процесс получения файла по пути `/SW-01/rootfs` с указанного IP-адреса сервера. После успешной загрузки файла автоматически выполнятся две команды: `NAND erase` и `NAND write`. Если обе команды выполнятся без ошибок, то процесс перезаписи ФС прошел успешно. [[Image(12-cmd_done.png, align=center, title=успешное завершение)]] Когда предыдущая команда полностью выполнится и снова появится приглашение `U-Boot>`, надо выполнить команду\\ `reset`\\ или выключить и снова включить питание блока. **Если был выполнен пункт 8, то пункт 9 нужно пропустить.** **9.** Выполнить команду:\\ `run loadrootfs` Если ранее всё было сделано верно, то начнется процесс получения файла по пути `/SW-01/rootfs` (либо `rootfs.ubi`) с указанного IP-адреса сервера. В терминале и в окне tftpd32 будет отображаться прогресс загрузки. [[Image(10-cmd_run_load.png, align=center, title=запуск и процесс получения файла)]] [[Image(11-tftpd1.png, align=center, title=процесс получения файла)]] После успешной загрузки файла автоматически выполнятся две команды: `NAND erase` и `NAND write`. Если обе команды выполнятся без ошибок, то процесс перезаписи ФС прошел успешно. [[Image(12-cmd_done.png, align=center, title=успешное завершение)]] Когда предыдущая команда полностью выполнится и снова появится приглашение `U-Boot>`, надо выполнить команду\\ `reset`\\ или выключить и снова включить питание блока. Если в процессе обновления плата перезапустилась, как на скриншоте ниже, то вероятно у вас "старая" SW-01 и вам нужно действовать по алгоритму из пункта 8. [[Image(7-error.png, align=center, title=в таком случае выполнить пункт 8)]] **10.** После загрузки ОС подключиться к SW-01 через веб-браузер по адрес `192.168.0.254`, настроить сеть и обновить ПО штатным образом. \\ \\ \\ [[wiki:WikiStart|Вики MC04]]