TP-Link TL-WR941ND VER 2.0 unbrick след флашване с грешен firmware.

Наложи ми се да правя възстановяване този рутер след като го бяха префлашнали с firmware за хардуерна версия 4 :)

За да започне възстановяването трябва първо да си осигурим достъп до рутера различен от ethernet. А в случая това е по сериен порт (RS-232).

А за да стане това ще трябва да разглобим рутер (АКО РУТЕРА ВИ Е В ГАРАНЦИЯ ТЯ АВТОМАТИЧНО ОТПАДА!)

Сваляме 3-те антени.  След това …

Разглобяването става като първо разлепим задните крачета на рутера  и там има 2 болта и след това в предната част има 3 пластмасови щифта, които трябва да „отключим“ като с нещо пластмасово ( може и с нещо метално, но по-добре пластмаса за да не нараним рутера. )  ги натиснем от долната страна.

След като вече сме свалили горния капак на рутера е време да изключим(внимателно)  трите pigtail-а ( Това са екраните кабели, които правят връзката между платката и конекторите за антените).

Готови сме и с тази процедура :) Сега ще трябва да запоим двойна щифтова рейка за да ни е по-лесно и да не се налага да запояваме директно кабелите на рутера.
Рейка TP-Link TL-WR941ND

Запоили сме вече рейката и ще трябва да направим още някои връзки … Ще трябва да направим и две „мостчета“ за да имаме работещ сериен порт на рутера. Местата където трябва да направим тези мостчета са R355 и R356…

И това сме изпълнили :) Следва да свържем серийния порт на рутера към серийния порт на компютъра посредством преобразувател на нивата изпълен с MAX232 (примерно като този ) .

Но за да го свържем трябва да знаем разположението на RX,TX,GND:

Както се вижда на снимката RX = pin-2, TX = pin-3 GND = pin-5 … Съответно RX на рутера отива към RX(примерно 9pin)  на MAX232 и TX на рутера отива към TX(примерно 10pin) отново на MAX232  и накрая GND(Ground или масата) към масата на нашия преобразувател.

Сега е време да пробваме да установим връзка между рутера и компютъра ни. Но да вметна, че е ПРЕПОРЪЧИТЕЛНО компютъра, с които ще правим връзка и адаптера на рутера да са в един и същ разклонител, за да нямаме случайно проблеми с разлика в потенциалите и да повредим някои от серийните портове (Разбира се това не важи, ако ползваме галванично развързан конвертор.)

Сега трябва да си свалим putty ( аз го предпочитам пред hyperterminal-а на Windows(ако сме на Windows де :), ако  е Linux minicom примерно или отново putty) 

Свалихме го :) Сега трябва да му окажем на кои COM ще се връзваме и скоростта на връзката. В нашия случай тя е COM1 и скорост 115200 (115200bps, Data bits 8, Stop bits 1, Parity: None, Flow Control: None)

На различни места четох, че за U-Boot скоростта била 9600, но при мен всичко си върви на 115200.

Направи ли сме конфигурацията на putty-то и е вече, трябва да пробваме да установим връзка с рутера.

А за да стане правим следното.

1. Проверяваме дали всичко е свързано между компютъра и рутера( серийната връзка).

2. Изключили сме захранването на рутера от буксата.

3. Конфигурирали сме си putty-то както е показано и написано по-горе.

4. Кликаме върху Open …. Ще се появи един черен екран ….

5. Включваме захранването на рутера ….

И в прозореца трябва видим ….

 

U-Boot 1.1.4 (Jan 19 2008 – 10:42:07)

AP81 (ar7100) U-boot
DRAM:
sri
32 MB
id read 0x100000ff
flash size 8MB, sector count = 128
Flash:  8 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize…
Fetching MAC Address from 0x81fef100
eth0: 00:03:7f:e0:01:81
eth0 up
eth0
Hit any key to stop autoboot:  0
ar7100>

Както се вижда по-горе това bootloader-a на нашия рутер :) И за да влезнем в самия bootloader е необходимо да натиснем, които и да е клавиш (Hit any key to stop autoboot:  0), но различните версии на U-boot е необходимо да се изпълнят разлини натискания на бутоните …. Примерно за по-новата версия на U-boot е като се напише „tpl“ (без кавичките).

До тук добре :) Време е за съществената работа. И по-точно да „налеем“ верния firmware на рутера ;)

Нека първо видим текущите конфигурации на мрежата и всичко останало …

Пишем в конзолата

ar7100> printenv

И тя ни връща ….

bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ar7100-nor0:256k(u-boot),64k(u-boot-env),5120k(rootfs),1024k(uImage)
bootcmd=bootm 0xbf020000
bootdelay=1
baudrate=115200
ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee
ipaddr=192.168.1.10
serverip=192.168.1.169
stdin=serial
stdout=serial
stderr=serial
ethact=eth0

Environment size: 339/65532 bytes

 Това са настройките по подразбиране …. Ще внеса малко пояснение ….

> ipaddr=192.168.1.10 = Това е IP адреса на нашия рутер

> serverip=192.168.1.169 = Това е IP адреса, които трябва да има нашия tftp сървър.

> ethact=eth0 = Това е интерфейса през, които ще си говорят … В случая това е WAN порт-а … (поне при мен де) …

Ако искаме да сменим IP адреса на рутера и (или) tftp сървър-а трябва да използваме тази команда…

 setenv serverip 192.168.18.254; setenv ipaddr 192.168.18.1 

И за да проверим дали са приети промените отново пишем printenv

До тук сме ОК с настройката на мрежата от едната страна … Сега е ред на другата ( В нашия случай Windows-а … XP … ) Ще трябва да си свалим:

  1. TFTP сървър ( по възможност лесен за работа) . Аз съм си избрал tftpd32. Сваляме си ( tftpd32 standard edition (zip) ). По някаква странна причина NOD32 се обади, че това било вирус … Но аз не му повярвах и затова по време на тази процедура го изключих. Разархивирах го и файловете от архива ги сложих директно в C:\  (за по-лесно ) :) Стартираме го :) Ако случайно ти попита дали да го разрешим във firewall му разрешаваме. ( за да може да си отвори неговия порт 69 ) Съответно от падащото меню ще трябва да измерем и на кое IP да работи…. Не мисля да влизам в повече подробности, защото е този TFTP сървър е максимално опростен.

  2. Правилния firmware за нашия рутер.  А него може да го намерим на сайта на производителя…. Ето директен линк тук (TP-Link TL-WR941ND VER 2.0) Сваляме последния наличен от 09/06/2010 … След разархивиране вътре имаме файл… wr941nv2_en_3_11_8_up(100609).bin (аз предлагам да го преименуваме на wr941nv2_en_3_11_8_up.bin за да си нямаме излишни проблеми със скобите в конзолата) Също така нямаме думичката boot в името на  firmware и няма да ни се налага да правим допълнителни неща, които можем да прочетем тук, ако имаме тази думичка :)

След като вече сме преименували файла както описах по-горе може да го копираме в C:\

3. Свързваме компютъра и рутер посредством стандартен ethernet кабел… ( прав. )  PC ethernet карта към WAN порт-а на рутера. В състояние при, което е U-boot, трябва да сме линкнати. ( Или друго казано да не ни дава, разкачена мрежа.)

 

4. Време е да налеем firmware :)  При мен съм настройл всичко да е както е по подразбиране на рутера. Затова няма да сменям IP адрес на сървъра и рутера.

Ще изпълня командата tftp 0x80800000 wr941nv2_en_3_11_8_up.bin

И тя трябва да ни върне:

ar7100> tftp 0x80800000 wr941nv2_en_3_11_8_up.bin
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.169; our IP address is 192.168.1.10
Filename ‘wr941nv2_en_3_11_8_up.bin’.
Load address: 0x80800000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################################################
done
Bytes transferred = 3932160 (3c0000 hex)

До тук всичко е добре :) заредихме го в паммета :) Сега трябва изтрием старите неща от рутера ;)

Командата е: erase 0xbf020000 +0x3c0000

И изглежда така…

ar7100> erase 0xbf020000 +0x3c0000

First 0x2 last 0x3d sector size 0x10000                                       61
Erased 60 sectors

Всичко е супер :) Изтрихме каквото ни беше нужно :) Сега трябва да копираме от RAM-а в флаша :)

Това става с командата: cp.b 0x80800000 0xbf020000 0x3c0000

И то изглежда ….

ar7100> cp.b 0x80800000 0xbf020000 0x3c0000
Copy to Flash… write addr: bf020000
done

И накрая трябва да го рестартираме за да видим дали ще зареди :)

И за да го направим пишем: reset

ar7100>reset

Лога от зареждането на  boot-TP-Link_TL-WR941ND …..

Може и локално през серииния порт да влезнем в firmware като използваме username: ap71

Ако ли не можем да прехвърлим кабела на някои от LAN портовете и да се логнем през WEB на http://192.168.1.1 с username: admin и password: admin ….

 Ами в общи линии е това :)  Всичко си е на ВАША ОТГОВОРСНОСТ!!!

Ако имате забележки пишете :)

Иначе рутерчето е изпълнено с:

Процесор: Atheros AR9132-AC1E

Флаш: 25P32V6P = 4MB (мегабайта)

RAM Памет: Hynix HY50U561622ETP-5 = 32MB

Мрежови контролер: Marvell 88E6060-RCJ1

Това е то.

34 thoughts on “TP-Link TL-WR941ND VER 2.0 unbrick след флашване с грешен firmware.”

  1. Доста полезно аз брикнах един 841 като върху OpenWRT-то му пренаписах DD-WRT свръх насилствено :)

  2. Може ли да споделиш малко повечко за начина на дебрикване на ТP-Link 841, че и аз имам проблем с него.

  3. Да, видях линка, но не мога да осъществя връзка с рутера. Пробвах с един USB кабел, който свързах към пинчетата на рутера, както е показано, стартирах програмката PuTTY, настроих си я, после рутера, но не успях. Нещо не правя както трябва.

  4. Здрасти,

    Малко закъснях с отговора, но най-добре регистрирай се http://forum.eshop.bg/viewforum.php?f=9 и пусни нова тема ;) И там ще обсъдим всичко.
    А защо с USB кабел? Най-добре директно от RS232 на компютъра през един MAX232 (може да е захранен от външно захранване ) и към платката.
    Не си писал хардуерната версия на рутера. И Също така как го накара да спре да работи.

  5. Беше с DD-WRT, но ми се разпадаше връзката, когато пуснех торент програма – utorrent, на която ограничих връзките, но не се оправи проблема.Тогава реших да му сложа ОPEN WRT, но след настройване през WEB се оказа, че нещо се омаза. LAN портовете изобщо не отговарят, на Wi-Fi се вижда името на рутера, но и от там не мога да се конектна. Пробвах с ръчна настройка на IP, без DHCP раздаване, но пак не става. Тогава стигнах до извода, че се е омазал софта му.

  6. Пробвах то и този ресет, и 30х30х30, но безуспешно. Мисля си, че ресет бутона не функционира по подразбиране при Open WRT.

  7. Оправих го с това: Failsafe mode

    *
    Unplug the router’s power cord
    *
    Connect any router LAN port directly to your PC
    *
    Configure your PC with a static IP address: 192.168.1.2
    *
    Plug the power on to the router
    *
    Wait until the „SYS“ LED starts flashing repeatedly
    *
    Press the „QSS“ button (on the front of the router) – the „SYS“ LED will now start flashing at a faster rate
    *
    Login to the router by using telnet to connect to the IP address 192.168.1.1 – there will be an immediate unauthenticated login to a root shell

    Commands:

    *
    mount_root – will mount the normal root filesystem
    *
    firstboot – all settings will be reset

    Meрси много за помощта.

  8. Сложих му ОpenWRT, настроих си го чрез PuTTY и сега лети. Лана нещо не ми изкара нет, но аз така и не го ползвам. С DD-WRT много ми се разпадаше връзката от utorrent-а, но тук махнах всички ограничения и литна, даже бях изпържил антените на 27 dbm – 500 mW, стигна 60 Mbps download, но ги намалих, че да не „запаля“ рутера. При тези „гимнастики“ не ми се разпадна връзка. БЛАГОДАРЯ ВИ МНОГО!

  9. Здравеите и аз омазах един ТП-ЛИНК TL-WR941ND ver 3.0 направих всичко, което е написано по-горе пуснах putty и виждам само да варвят само някакви иероглифи и не мога да спра bootloaderа пробвах с какви ли не комбинации но не става. Моля за помощ.

  10. Всички скорости пробвах, но пак не иска да спре четенето може би, ако не ми излизат иероглифи ще има някаква комбинация от клавиши за спирането. Ако имаш някаква идея моля те помагай !
    А и този линк бях преглеждал всичко е направено както е описано, но нештата са едни и същи. Пробвах и Hyper Terminal същото. вече нямам никакви идеи

  11. Направи един screenshot да ви какво показва. Пробвай да смениш кодировката на putty да е UTF-8. Window->Translation.

  12. Забравих да ти пиша, но съм пробвал всичките кодировки.Пуснах и напрежение на рейката 3.3 волта ами всичко което се сетя, но пак не става, ако имаш някаква идея за спиране на autobootа предполагам че може би ще стане.А и пробвах и през Linux с putty същото.

  13. Хм … Конвертора на нивата с MAX232 ли е? Или използваш USB към сериен? Тествал ли си го дали е 100% наред? Ще ти пратя мейл от моя.

  14. Даи някой друг защото може би моят не работи.аз пробвах с MAX232 по схемата
    п.п писал съм директно, но имах предwид не е USB

  15. Провери си схемата. Поляритета на кондензаторите .. След това може да си пуснеш един Hyper Terminal и да дадеш на късо RX и TX. Ако всичко е наред трябва каквото пишеш да го получаваш.

  16. Ok. но като че ли вече му разказах играта забравих двете напрежения 3.3 волта през реиката и 9 волта статични. Пуснах ги и двете. През реиката работи но през другите умря

  17. Здравей отново ;) Имам още два вапроса рутера ще може ли да си работи на 3.3 волта от рейката и имаш вредвид на късо след MAX 232. Благодаря много за всичко написано до сега.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *