Восстановление роутера 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.
Подготовка
Для начала давайте подготовим все необходимое. Для прошивки понадобиться: кабель-адаптер USB-RS232 для подключения роутера к ПК через serial, патч-корд, TFTP сервер, терминальная программа, файлы прошивок.
Кабель USB-RS232
Нужен адаптер USB-RS232 с TTL 3.3v . к примеру, идеально подходит кабель для старых мобильников Nokia — СА-42. Он обладает всеми нужными нам качествами.
Способ подключения приведен в таблице ниже. Как вы физически подключите кабель к разъему зависит только от вас. Можно просто припаять провода в нужней последовательности к разъему на плате, можно распаять разъем на плате роутера и подключаться уже к нему, можно припаять контактную площадку к кабелю и ее рукой прижимать к контактам serial.
СА-42 |
Serial |
GND |
GND — pin2 |
Тх |
Rx — pin 3 |
Rx |
Tx- pin 4 |
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.
Вводим вторую команду и ждем пока не появиться новое приглашение к вводу команды.
где 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».
- Поочередно вводим команды
cd tmp
wget ftp://192.168.1.100/tplink.bin
mtd -r write /tmp/tplink.bin firmware
reboot
Готово. После перезагрузки вы сможете зайти веб-интерфейс устройства и увидите родную заводскую прошивку.
Перепрошивка с DD-WRT на заводскую прошивку
Для начало в веб-интерфейс DD-WRT нужно включить поддержку USB и автоматическое монтирование устройства при его подключении. Перезагрузить роутер.
Подключиться к устройству через Putty и ввести следующие команды:
mtd -е linux -г write /mnt/<firmwarefilename.bin> linux
На экране появятся следующие надписи.
root0 router_name:/tmp# mtd -r write /mnt/<firmwarefilename.bin> linux
Unlocking linux …
Writing from /mnt/0x20200.bin to linux … [w], which the [w] will change
between [w] and [e]
После чего роутер перезагрузится.