воскресенье, 3 апреля 2011 г.

Восстановление LinkSys WRT54G, WRT54GS, WRT54GL

Предлагаю вашему вниманию, проверенный мною способ восстоновление замечательных  устройств фирмы Linksys, а именно моделей WRT54G, WRT54GS, WRT54GL.

Симптомы:
На передней панели постоянно мигает индикатор power, остальные светодиоды не горят. Устройство либо не отвечает по адрессу 192.168.1.1 на локальном порту, либо после определенных шаманских плясок с бубнами, все же начинает пингаеться, но как-то криво. Т.е. сразу после включения прорпадают 5-6 пакетов, потом проходит пинг пакетов в 5-6, далее опять пропадает 4-6 паккетов, потом пинг сново идет ровно и не пропадает, но при этом ни telnet ни ssh ни web-интерфейс, не отвечают, и ни в какую ни хочет заливаеться с помошью tftp-клиента прошивка на девайс.
Способ лечения: 1 и 2.

Симптомы:
При включении мигает Power потом постоянно горит. При подключении кабеля к LAN-порту загараеться порт и пингаеться 192.168.1.1. Веб-интерфейс неработает, по tftp зашить не получаеться. Вероятноая причини прошито устройство не той верией.
Способ лечения: 1.

Симптомы:
После включения мигает Power потом постоянно горит. Все Lan-индикаторы горят постоянно. По локальному порту не пингаеться. То что Power горит постоянно говорит о том что устройство загрузилось прошивкой. Просто произашел сбой в памяти устройства- его нада очистить, как правило командой erase nvram & kernel
Способ: 3.


Диагноз: криво встала фирмварина при пердыдущей прошивке. Необходимо лечить =)
Возможно вы выбрали неправельную прошивку для перовй инстоляции (DD-WRT должна быть mini прошивка; OpenWRT initial web flash).

Необходимо прошить устройство по tftp. Есть два способа:
1. Serial Console - консольный кабель COM-to-USB
2. Pin shortcut method - закоротить ножки на памяти чтобы перевести ее в recivery mode.



1. Serial Console 

Припаятся к консоле на устройстве используя кабель
Serial-to-USB (http://intervito.blogspot.com/search/label/TL-WR741ND ).
Припаяться как показанно на фото:

Pin 23.3VPin 4TX_0Pin 6RX_0Pin 8Not connectedPin 10GND
Pin 13.3VPin 3TX_1Pin 5RX_1Pin 7Not connectedPin 9GND

wrt54gl_v11_serialport___.jpg

Далее подключиться по Putty( 115200 )либо используя другую программу.
( инструкция: http://intervito.blogspot.com/search/label/TL-WR741ND )
Вы увидите что-то наподобие:

Boot version: v2.3

The boot is CFE


mac_init(): Find mac [00:xx:xx:xx:xx:xx] in location 0

Nothing...

Reading :: Failed.: Error
Reading :: Failed.: Error
Reading :: Failed.: Error
нажмите Ctrl+C, и увидите:
CFE> 
тут ввидите три команды:
CFE> nvram set boot_wait=on
CFE> nvram set boot_time=10
CFE> nvram commit && reboot

Таким образом вы создали окно в 10 сек при загрузки для того чтобы подключиться к роутору по tftp протоколу и залить на него прошивку ( http://downloads.openwrt.org/backfire/10.03.1-rc6/brcm-2.4/ )
Итак приступим к прошивке:
1. Поставте ping 192.168.1.1
2. Включите устройство
2. Когда увидите ответы на ping 192.168.1.1 нажмите сосответствующую команду:


В windows:
с:\tftp -i 192.168.1.1 PUT code.bin

В linux:
 tftp 192.168.1.1
 > binary
 > rexmt 1
 > trace 
 > put code.b
> quit     // для выхода


Дождитесь пинга от 192.168.1.1 и прейдите на web-страницу.

Ссылки:
https://forum.openwrt.org/viewtopic.php?pid=63972
http://wiki.openwrt.org/toh/linksys/wrt54g#serial.port



2. Pin shortcut method 

Инструкция:
1. Разобрать устройство.

3. Установить на сетевой карте компьютера ip-адресс 192.168.1.2 и маску 255.255.255.0, и поставить пинг на устройство 192.168.1.1.
в windows с ключем "-t"
ping 192.168.1.1 -t
2. Найти на плате флеш-память ("Intel flash"), и закоротить 15 и 16 ножки, например отверткой.
4. Далее подать питание на устройсто, тем самым Вы приведете его в состояние "recovery mode".
Подождать 10 секунд и разамкнуть ножки.(убрать отвертку)

5. Дождаться пока пойдет пинг на 192.168.1.1.
6. Теперь можно с помошью tftp-клиента залить соостетствующую прошивку на устройство размером не более 3мб (dd-wrt.v24_mini_wrt54g.bin переименовать в code.bin). Подождать около 3 минут не выулючая питания! ссылка на tftp-клиент

В windows:
с:\tftp -i 192.168.1.1 PUT code.bin


В linux:

 tftp 192.168.1.1
 > binary
 > rexmt 1
 > trace 
 > put code.bin


7. Дождаться когда вновь пойдет пинг на 192.168.1.1, далее зайти через web-интерфейс на устройства, и залить полную версию прошивки.

ссылки по которым я собирал мануал:
http://www.dd-wrt.com/wiki/index.php/Recover_from_a_Bad_Flash#Linksys_Firmware
http://voidmain.is-a-geek.net/redhat/wrt54g_revival.html#0

для прошивки через Serial port:
http://www.andrewhazelden.com/blog/2010/01/how-to-use-the-serial-ports-on-a-linksys-wrt54gs-with-dd-wrt-v24/
http://www.rwhitby.net/projects/wrt54gs
http://www.dd-wrt.com/wiki/index.php/WRT54GL_MAX232_Serial

также полезные ссылки:
http://books.google.com.ua/books?id=GBtJdvMeAJQC&printsec=frontcover&hl=ru#v=onepage&q&f=false


3. Serial Console 

Припаятся к консоле на устройстве используя кабель
Serial-to-USB (http://intervito.blogspot.com/search/label/TL-WR741ND ).
Припаяться как показанно на фото:

Pin 23.3VPin 4TX_0Pin 6RX_0Pin 8Not connectedPin 10GND
Pin 13.3VPin 3TX_1Pin 5RX_1Pin 7Not connectedPin 9GND

wrt54gl_v11_serialport___.jpg

Далее подключиться по Putty( 115200 )либо используя другую программу.
( инструкция: http://intervito.blogspot.com/search/label/TL-WR741ND )
Вы увидите что-то наподобие:

Boot version: v2.3

The boot is CFE


mac_init(): Find mac [00:xx:xx:xx:xx:xx] in location 0

Nothing...


нажмите Ctrl+C, и увидите:
CFE> 
тут ввидите две команды:
CFE> erase nvram & kernel
CFE> reboot

Дождитесь пинга от 192.168.1.1 и прейдите на web-страницу.

Ссылки:
http://www.dd-wrt.com/phpBB2/viewtopic.php?p=482044
https://forum.openwrt.org/viewtopic.php?pid=63972
http://wiki.openwrt.org/toh/linksys/wrt54g#serial.port