Восстанавливаем роутер TP-Link MR3420 V2 через Serial COM RS232

Восстанавливаем роутер TP-Link MR3420 V2 через Serial COM RS232

В прошлый раз мы прошили TP-Link TL-MR3420 v2 на OpenWRT.
Всё успешно работало.

Но этого показалось мало. В качестве эксперимента в CLI роутера (по SSH) мы выполнили команду sysupgrade -F -v http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3420-v2-squashfs-sysupgrade.bin

Почему с параметром -F (Flash image even if image checks fail, this is dangerous!)? Потому что без -F прошивка останавливалась на этапе проверки соответствия устройства новой прошивки. Предположили, что проверка не срабатывает по каким-то причинам и, ещё раз убедившись, что прошиваем именно openwrt-ar71xx-generic-tl-mr3420-v2-squashfs-sysupgrade.bin, выполнили форсированную прошивку.

Прошивка скачалась в устройство, прошилась, устройство ушло в перезагрузку и … там и осталось (в цикличной перезагрузке).

Судя по миганиям индикаторов (led) было установлено, что загрузчик живой и не загружается ядро (прошивка).

Поиск по интернету дал интересный результат, что в загрузчик нескольких роутеров TP-Link встроена система восстановления прошивки по TFTP: http://forum.tp-linkru.ru/viewtopic.php?f=234&t=4311

Всё сделали по инструкции, установили TFTP-сервер (192.168.0.66), положили образ mr3420v2_tp_recovery.bin в корень tftp-сервера. Нажали на роутере WPS/Reset. Убедились, что роутер успешно подключился к серверу tftp и скачал прошивку. Но, это не помогло, роутер оставался в цикличной перезагрузке

Оставалось только подключаться по Serial (COM RS232 TTL 3.3V): http://wiki.openwrt.org/ru/toh/tp-link/tl-mr3420

В наличии имелся преобразователь интерфейсов USB-SERIAL CH340 COM RS232.
При подключении к роутеру (даже с подтягивающими резисторами на 10кОм между TX и VCC 3.3V, и RX и VCC 3.3V) на экране PuTTY сыпался мусор.
Стало понятно, что логика USB-SERIAL CH340 COM RS232 не подходит (не TTL 3.3V).
Нужен был другой адаптер (преобразователь интерфейсов).

После подключения через PL2303 Преобразователь USB TTL UART на базе PL2303HX (с кабелем) данные успешно пошли в обе стороны! Далее по инструкции. Увидели надпись «Autoboot in ..», ввели tpl, получили строку ввода и так далее. После последней команды bootm 0x9f020000 роутер успешно загрузился.

Что использовалось для восстановления:
Слева кабель GND, далее ораньжевый кабель для подключения к VCC3.3V, два резистора по 10кОм и два кабеля для соединения линий передачи данных TX и RX (роутер — преобразователь интерфейсов), ниже — PL2303 Преобразователь USB TTL UART на базе PL2303HX (с кабелем)
IMG_3115

Данный комплект, предположительно, подходит к большинству устройств с портом Serial и логикой 3.3V/5V. Возможно, потребуются (или не потребуются вовсе) другие подтягивающие резисторы.

Кстати, пытались с помощью встроенного преобразователя интерфейсов (виртуальный COM-порт через Ethernet HW Virtual Serial Port) в Устройство удалённого контроля и управления SNR-ERD-3.2 в корпусе попытаться подключиться к Serial роутера, но безуспешно, в консоли сыпался «мусор».