Наложи ми се да правя възстановяване този рутер след като го бяха префлашнали с firmware за хардуерна версия 4 :)
За да започне възстановяването трябва първо да си осигурим достъп до рутера различен от ethernet. А в случая това е по сериен порт (RS-232).
А за да стане това ще трябва да разглобим рутер (АКО РУТЕРА ВИ Е В ГАРАНЦИЯ ТЯ АВТОМАТИЧНО ОТПАДА!)
Сваляме 3-те антени. След това …
Разглобяването става като първо разлепим задните крачета на рутера и там има 2 болта и след това в предната част има 3 пластмасови щифта, които трябва да „отключим“ като с нещо пластмасово ( може и с нещо метално, но по-добре пластмаса за да не нараним рутера. ) ги натиснем от долната страна.
След като вече сме свалили горния капак на рутера е време да изключим(внимателно) трите pigtail-а ( Това са екраните кабели, които правят връзката между платката и конекторите за антените).
Готови сме и с тази процедура :) Сега ще трябва да запоим двойна щифтова рейка за да ни е по-лесно и да не се налага да запояваме директно кабелите на рутера.
Запоили сме вече рейката и ще трябва да направим още някои връзки … Ще трябва да направим и две „мостчета“ за да имаме работещ сериен порт на рутера. Местата където трябва да направим тези мостчета са 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
Това е то.