воскресенье, 2 февраля 2020 г.

Восстановление прошивки openwrt в роутере tp-link mr3020 под Linux

Новый 2020 год - новые задачи и новые статьи. На днях мне подогнали 2 роутера TP-Link-а. Один живой, но с горелым WAN портом, а 2 с убитой прошивкой. Модель 2 роутера MR3020 v1.9 Что имеем на руках:
- компьютер с Ubuntu 18.04
- переходник USB-UART (pl2302)
- роутер с живым загрузчкиком U-BOOT
- патчкорд RJ45
- резистор 10 кОм
- кабель питания роутера MINI-USB
- интернет с любимым поисковиком
- прямые руки

Для начале поясню цель написания этой статьи - попытка систематизировать полученные знания, а также полностью пройти данный задачу на компьютере под управлением линукс, а также показать некие подводные камни и нюансы.

Устанавливаем и настраиваем tftpd под линукс Убунту. Нам надо 2 пакета клиент и сервер. Ставим версию HPA. Она работает сразу и без настройки.

sudo apt-get install tftpd-hpa tftp-hpa

По-умолчанию файлы прошивок для роутера необходимо разместить в каталоге /var/lib/tftpboot Файл прошивки необходимо переименовать по короче. Права доступа такие:

Рис.1 - права доступа к файлу прошивки на сервере

Далее проверяем, чтобы наш пользователь имел доступ к модемам и состоял в группе tty, иначе ничего работать не будет! Можно настроить через графическую утилиту или консоль. Как вариант сделать все работы в режиме супер-пользователя.

Подключаем переходник UART к комьютеру и в консоли проверяем его правильное распознавание:

Рис.2 - результат dmesg

Подключаем провода от UART к роутеру. Красный провод питания не подключаем. А на самом роутере ставим резистор 10 кОм между + и TX. Я просто намотал выводы на гребёнки, но можно и припоять. Я подключал переходник на "горячую" (роутер и переходник были подключены к комьютеру).

Открываем putty и прописываем настройки как на картинке:

Рис.3 - настройки подключения

Ждём OPEN и наблюдаем в консоли цикличную перезагрузку роутера с выводом подобной информации:

Рис.4 - вывод U-BOOT в консоль

Если не видим ничего, то у нас либо дохлый загрузчик, либо нет прав доступа, либо просто перепутаны провода TX и RX. Если загрузчик испорчен, то тут уже нужен программатор и выпайка микросхемы ПЗУ.

Далее выполняем сам процесс загрузки нашего файла прошивки на роутер и его прошивку в ПЗУ. Не вижу смысла копировать другие статьи. Просто оставлю ссылочки на статьи с хорошим описанием процесса. Будьте внимательны при вводе команд!

https://zepete.livejournal.com/89795.html

http://ediy.com.my/index.php/blog/item/78-recover-bricked-tl-mr3020-wireless-n-router

Обращу внимание на IP и способ подключения. Я не отцеплял компьютер и не менял на нём IP адрес, а роутер просто подцепил к своей домашней сети. Раз загрузчик позволяет назначать любой IP и загружать с любого сервера прошивку, то зачем лишние телодвижения?

Итогом прошивки будет отсутствие цветомузыки на роутере и в консоле не будет мусора и повторов:

Рис.5 - нормальная загрузка устройства

Какую прошивку заливать? Я скачал с сайта openwrt: openwrt-15.05.1-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin  со страницы https://openwrt.org/ru/toh/tp-link/tl-mr3020 Однако на станице https://openwrt.org/toh/tp-link/tl-mr3020  есть более свежие версии, но ссылки битые... Но её можно скачать по ссылке http://downloads.openwrt.org/releases/17.01.5/targets/ar71xx/generic/

Я же просто обновил установленную прошивку до последней 17.01.5: http://downloads.openwrt.org/releases/17.01.5/targets/ar71xx/generic/lede-17.01.5-ar71xx-generic-tl-mr3040-v1-squashfs-sysupgrade.bin Обновлял через WEB интерфейс luci.

Что можно почитать по данной теме?

https://habr.com/ru/post/109395/ - про интерфейс UART
http://vladimir-stupin.blogspot.com/2014/05/tftp-tftpd-hpa.html - настройка сервера tftpd-hpa под линукс
https://4pda.to/forum/index.php?showtopic=504279&st=20 - тема на 4pda про данный роутер. Подробное описание версий, решения проблем, другие прошивки и прочее...


Комментариев нет:

Отправить комментарий