Восстановление роутера TP-Link TL-WR1043ND
В этой статье пойдет речь о восстановлении роутера TP-Link TL-WR1043ND после полного стирания прошивки или ее повреждения, иными словами поднятия из состояния «кирпич».
Имеем роутер TP-Link TL-WR1043ND с полностью стертой или поврежденной прошивкой. Симптомы: на роутере горит только индикатор питания, остальные индикатор одновременно загораются и тухнут через 1 секунду, при подключению роутера к компьютеру через сетевой кабель, в сетевых подключениях отображается статус «не подключен». Соответственно роутер не доступен через веб-интерфейс, telnet и ssh.
В этом случае роутер TP-Link TL-WR1043ND можно восстановить 2 способами: использовать программатор и подключиться к роутеру использую на плате разъем serial (4 pin) или JTAG (14 pin). Поскольку программатор — вещь экзотическая и доступна не любому пользователю, будет использовать 2-ой способ. Для подключения был выбрал 4 контактный разъем serial.
4 контактный разъем serial и 14 контактный разъем JTAG
Подготовка
Для начала давайте подготовим все необходимое. Для прошивки понадобиться: кабель-адаптер USB-RS232 для подключения роутера к ПК через serial, патч-корд, TFTP сервер, терминальная программа, файлы прошивок.
Кабель USB-RS232
Нужен адаптер USB-RS232 с TTL 3.3v . к примеру, идеально подходит кабель для старых мобильников Nokia — СА-42. Он обладает всеми нужными нам качествами.
Способ подключения приведен в таблице ниже. Как вы физически подключите кабель к разъему зависит только от вас. Можно просто припаять провода в нужней последовательности к разъему на плате, можно распаять разъем на плате роутера и подключаться уже к нему, можно припаять контактную площадку к кабелю и ее рукой прижимать к контактам serial.
TFTP сервер
На этом сервере будет лежать файл прошивки. Я использовал программу WinAgents TFTP Server 4. Качаете ее с сайта производителя и устанавливаете на ПК, к которому будете подключать роутер. Особых настроек она не требует.
В каталог TFTPсервера (по умолчания для — C:\DocumentsandSettings\AIIUsers\ApplicationData\WinAgents\TFTPServer 4\TFTPRoot\) копируем файл прошивки, который будем прошивать в роутер. Компьютер, на который установлен TFTP Server, должен иметь IP адрес 192.168.0.5 или 192.168.0.2. Это адреса по умолчанию для TFTP Server. Имейте виду, что на момент начала прошивки сервер должен быть запушен и в корневом каталоге
должен находится файл прошивки (*.bin).
Терминальная программа
Putty — отличная терминальная программа, работающая через SSH, Telnet, rlogin и serial. Для правильного подключения через serial, нужно сделать настройку как на картинках (разумеется, в место СОМ1 указать свой порт).
Файлы прошивок
Если вы будете прошивать в роутер сторонний софт Open-WRT или DD-WRT можете смело качать последнюю прошивку с их сайта и прошивать ее. Если вы сразу хотите прошить заводскую прошивку, то тут начинаются нюансы. Как пишут в Wiki на сайте Open-WRT для прошивки на заводскую прошивку нельзя выбирать файл прошивки в названии, которого присутствует слово «boot» к примеру, wrl043nvl_en_3_9_17_up_boot(091118).bin. При прошивке такого файла затрется бут и устройство будет полностью не рабочим. Надо выбирать прошивки с таким именем, как например, wrl043nvl_en_3_ll_5_up(100427).bin. Я не стал рисковать и решил прошить прошивку Open-WRT, а потом с нее уже перепрошился на заводскую.
Разборка TP-Link TL-WR1043ND
Теперь почти все готово для прошивки. Осталось его разобрать. Помните, что разборка устройства лишает вас гарантии. Поэтому делайте все как можно аккуратнее, не спеша, не оставляя следов.
- Переворачиваем устройство ножками к верху
- Аккуратно отклеиваем две задние ножки
- Откручиваем два шурупа соединяющие две части корпуса
- Откручиваем шайбы с выходов антенн
- Аккуратно вдавливаем выходы антенн внутрь корпуса
- Тянем на себя центральную часть корпуса (ребристую рамку). Надо приложить не большое усилие.
- По бокам на внутренней стороне лицевой части устройства отщелкиваем две защелки.
- Разделяем нижнюю и верхнюю часть корпуса.
Прошивка
- Подключаем кабель СА-42 к ПК и устанавливаем для него драйвера (идут в комплекте с кабелем).
- Другой конец кабеля подключаете к serial разъему роутера (можно подключать и во включенном и в выключенном состоянии).
- Соединяем роутер и ПК сетевым кабелем.
- Включаем роутер в розетку.
- Запускаем Putty и подключаемся к роутеру
- В окне Putty вы увидите примерно следующее:
АР83 (ar9100) U-boot 0.0.11
DRAM:
sri
32 MB
id read OxlOOOOOff
flash size 8MB, sector count = 128
Flash: 8 MB
Using default environment
Autobooting in 1 seconds
И так будет повторяться раз за разом. Для того что бы роутер перестал перезагружаться в момент когда на экране появиться «Autobooting in 1 seconds …» надо ввести на клавиатуре «tpl». Если вы успели то на экране появиться приглашение к воду команд, а сетевое подключение, не активное до этого, станет активным, индикаторы роутер перестанут мигать. Вводим первую команду и ждем пока не появиться новое приглашение к вводу команды.
erase 0xbf020000 +7с0000
где 7с0000 (8 126 464 байт в десятичной системе) это размер фала прошивки который вы будете прошивать в шестнадцатеричной системе. Обязательно учтите это! Перевести число из десятичной в шестнадцатеричной систему можно с помощью калькулятора встроенного в Windows.
Вводим вторую команду и ждем пока не появиться новое приглашение к вводу команды.
tftpboot 0x81000000 code.bin
где code.bin это имя файла прошивки лежащего у вас на TFTP сервере.
Вводим третью команду и ждем пока не появиться новое приглашение к вводу команды
ср.b 0x81000000 0xbf020000 0х7с0000
bootm 0xbf020000
после того как на экране появятся строчки:
jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
jffs2_build_filesystem (): unlocking the mtd device… done.
jffs2_build_filesystem (): erasing all blocks after the end marker… done.
mini_fo: using base directory: /
mini_fo: using storage directory: /overlay
Надо перезагрузить роутер — обесточить его на несколько секунд.
Если все было сделано правильно и после включение устройство не продолжает мигать всеми индикаторами и сетевое подключение активно то через 30 — 60 секунд вы сможете зайти веб-интерфейс устройства.
Если вы сразу зашили заводскую прошивку, то можете дальше не читать, так как ваше устройство готово к работе. Если Open-WRT или DD-WRT то читаем дальше.
Перепрошивка с Open-WRT на заводскую прошивку
Сейчас наше устройство работает, но на нем установлена альтернативная прошивка Open-WRT или DD-WRT. Начнем с Open-WRT:
- Запускаем Putty, вводим адрес 192.168.1.1, connection type SSH. При подключении у нас затребуют имя пользователя и пароль. По умолчанию root и 1234 соответственно. Имя пользователя и пароль можно изменить в веб-интерфейсе.
- Теперь необходимо закачать файл прошивки в память устройства с USB устройства или из сети/интернета. Выбираем «из сети». Для этого запускаем на компьютере (ip 192.168.1.100) FTP сервер (запущенный ранее TFTP сервер не подойдет) и копируем на него файл прошивки. При выборе прошивки учитываем рекомендации, приведенной выше, т.е. выбираем файл в имени, которого нет слова «boot».
- Поочередно вводим команды
mtd -r write /tmp/tplink.bin firmware
Готово. После перезагрузки вы сможете зайти веб-интерфейс устройства и увидите родную заводскую прошивку.
Перепрошивка с DD-WRT на заводскую прошивку
Для начало в веб-интерфейс DD-WRT нужно включить поддержку USB и автоматическое монтирование устройства при его подключении. Перезагрузить роутер.
Подключиться к устройству через Putty и ввести следующие команды:
mtd -е linux -г write /mnt/ linux
На экране появятся следующие надписи.
root0 router_name:/tmp# mtd -r write /mnt/ linux
Unlocking linux …
Writing from /mnt/0x20200.bin to linux … [w], which the [w] will change
between [w] and [e]
После чего роутер перезагрузится.
Техническая поддержка
Перед обновлением прошивки убедитесь, что устройство подключено к надежному источнику питания. Если в процессе обновления ОС произойдет отключение питания, система будет потеряна и ее обновление будет возможно только из консоли загрузчика (через интерфейс RS-232). Также при отключении питания возможны повреждения ПЗУ.
1.Обновление прошивки роутера через Web-интерфейс роутера
Для этого необходимо выполнить следующее:
1. Откройте меню «Система» -> «Резервная копия/Прошивка».
2. В подменю Установить новый образ прошивки нажмите кнопку «Выберите файл», укажите местоположение tar-архива с новой версией прошивки и нажмите «Установить».
2.Обновление прошивки роутера командной строки
Для этого необходимо выполнить следующее:
1. Любым удобным способом скопируйте в /tmp/ директорию роутера tar-архив с новой версией прошивки. Например, для этого можно использовать программу WinSCP (Как загружать и скачивать файлы в роутерах серии RTU?)
2. Введите в командной строке sysupgrade -v /tmp/*наименование прошивки*.
Появятся сообщения аналогичного содержания. После этого роутер разорвет соединение с терминалом и обновит прошивку.
3. Обновление прошивки с помощью TFTP-сервера при подключении к роутеру по RS-232
В определенных случаях, например, если шел процесс обновления прошивки на роутере и по непредвиденным обстоятельствам было произведено отключение питания, роутер необходимо будет перепрошивать с помощью TFTP-сервера.
1) Установка TFTP-сервера
Скачать и установить TFTP-сервер Вы можете по ссылке: http://tftpd32.jounin.net/tftpd32_download.html
Каких-либо предварительных настроек производить не нужно, все необходимые настройки будут произведены в дальнейшем по ходу действий.
2) Настройка сетевых интерфейсов на ПК
Роутер RTU968/1068 имеет, по умолчанию, IP-адрес 192.168.88.1 и при работе с TFTP-сервером обращается к IP-адресу 192.168.88.11. То есть необходимо осуществить настройку на сетевом интерфейсе ПК, к которому подключен роутер RTU968/1068 по Ethernet-кабелю.
3) Подключение роутера RTU968/1068
Работа со службой TFTP на роутере RTU968/1068 происходит в командой строке загрузчика(Как зайти в загрузчик U-Boot роутера ), поэтому необходимо подключить по RS-232 интерфейсу (Как подключиться к роутеру RTU?) роутер к ПК, а также подключить роутер к Ethernet-интерфейсу ПК (согласно п.2 выше).
4) Обновление прошивки через TFTP
Файл прошивки имеет формат sysupgrade_RTU968.tar, Вам необходимо открыть данный файл с помощью архиватора, например, с помощью 7-Zip и распаковать все имеющиеся файлы в папку, которая будет использоваться TFTP-сервером (в примере ниже, файлы распакованы в папку с наименованием TFTP)
В программе TFTP-сервера необходимо указать интерфейс на ПК с IP-адресом 192.168.88.11. А также указать папку, в которой находится необходимая нам прошивка.
Проверим работу TFTP сервера, и, что загрузчик видит файлы и способен их загружать:
Для этого необходимо подать команду:
tftp rootfs.img
Вы должны увидеть процесс загрузки файла.
=> tftp rootfs.img
TFTP from server 192.168.88.50; our IP address is 192.168.88.1
Bytes transferred = 24506368 (175f000 hex)
Выполняем последовательно обновление компонентов:
- обновляем FDT командой:
run update_fdt - обновляем ядро командой:
run update_kernel - обновляем файловую систему командой:
run update_fs
После выполнения всех пунктов, прошивка будет успешно обновлена! Вы можете подать команду reset в консоли загрузчика и дождаться загрузки операционной системы, после этого роутер готов к дальнейшей работе.