Portál AbcLinuxu, 10. května 2025 09:35

Dotaz: Debrick routeru

7.11.2012 16:08 Eagle
Debrick routeru
Přečteno: 1652×
Odpovědět | Admin

Ahoj,
kdysi se mi podařilo poškodit firmware v routeru (TL-WR741ND) a tím ho naprosto znefunkčnit.
Teď, když jsem si sehnal převodník (USB -> TTL RS232), bych ho rád nějak zkusil oživit. Problém je ale v tom, že vůbec netuším jaký software k tomu použít a jak flashování přes seriový port provést. Jediné co zvládnu je propojit tím převodníkem PC s routerem.
Předem děkuji za jakékoilv rady.


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.11.2012 16:47 javeline | skóre: 15
Rozbalit Rozbalit vše Re: Debrick routeru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, na openwrt.org jsem viděl nějakou debrick utilitu na TPlinka. Mrkni tam, příp. načti o použití. Nikdy jsem to sám ale nedělal, tedy faktickou referenci/návod podat nemohu. + Google; Hodně štěstí. Jave
7.11.2012 17:19 Eagle
Rozbalit Rozbalit vše Re: Debrick routeru
Na Googlu jsem hledal jako první, na openwrt.org jsem akorát našel popisy pinů na routeru, ale žádnou debrick utilitu...
7.11.2012 17:40 Nereknu | skóre: 23 | Neřeknu:)
Rozbalit Rozbalit vše Re: Debrick routeru
Odpovědět | | Sbalit | Link | Blokovat | Admin
driv byl na 741nd hodne spatny openwrt, jestli jsi ho tam nahral, procti nejprv http://wiki.openwrt.org/toh/tp-link/tl-wr741nd

predevsim Failsafe mode WARNING: You may be unable to access even if you see fancy fast flashing of "SYS" LED due to a bug #6922

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 /rom/sbin/reboot - will reboot even without a mounted filesystem

a das firstboot, pak ti normalne naskoci a ty tam nahrajes puvodni firmware.
7.11.2012 17:42 Nereknu | skóre: 23 | Neřeknu:)
Rozbalit Rozbalit vše Re: Debrick routeru
trosku to tu rozstrelilo enter (neco s tim tady udelejte), kazdopadne je to skoro dole a je u toho velky vykricnik v cervene ohranicenym trojuhelniku.
pavlix avatar 7.11.2012 17:44 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Debrick routeru
neco s tim tady udelejte
S čím?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
8.11.2012 14:02 Nereknu | skóre: 23 | Neřeknu:)
Rozbalit Rozbalit vše Re: Debrick routeru
zkopiroval jsem z openwrt ten uryvek, co tam je a zmizli odstavce, tim padem to je na jednom řádku ;)
pavlix avatar 8.11.2012 23:14 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Debrick routeru
A co bys tak čekal, že s tím bude někdo jiný než ty dělat?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
7.11.2012 17:49 Eagle
Rozbalit Rozbalit vše Re: Debrick routeru
V routeru bylo DD-WRT, ale při downgradu na stabilnější verzi došlo k chybě a na routeru teď cca 2s po zapnutí jen probliknou všechny diody a zase se restartuje.
Petr Tomášek avatar 7.11.2012 19:00 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Debrick routeru
Odpovědět | | Sbalit | Link | Blokovat | Admin

No, jestli máš převodník USB -> UART a znáš zapojení UARTu na té tvé krabičce, tak prostě připoj UART na převodník, nastav správné parametry sériového portu (hlavně bitrate) a podívej se přes minicom (nebo něco podobnýho), co ti z toho leze. Zřejmě tam bude naskakovat nějaký zavaděč, do kterýho se musíš v minicomu dostat (nejčastěji přes ESC). Potom - podle toho jaký je to zavaděč - je třeba natáhnout nový firmware a flešnout.

POZOR: nejdřív se ujisti, že na UARTu máš správné napěťové úrovně, pokud bys měl na převodníku 5V a krabička by jelo jenom na 3.něcoV, tak tu krabičku můžeš klidně odpálit!

Pokud by to nešlo přes sériový port (tj. byl by zmršený i zavaděč), pak je nutné na to jít přes JTAG - tj. sehnat převodník, připojit JTAG a pomocí něčeho jako OpenJTAG flešnout...

multicult.fm | monokultura je zlo | welcome refugees!
7.11.2012 19:18 Eagle
Rozbalit Rozbalit vše Re: Debrick routeru

Mám převodník, který má 5 pinů (GND,RX,TX,3.3V,5V). Na routeru jsou 4 (GND,RX,TX,3.3V). Stačí zapojit jen GND,RX,TX nebo musím připojit i 3.3V?
Jinak hodil by se mi nějaký tutoriál, jak přes toto rozhraní ten FW nahrát (nejlépe krok za krokem). Nastavit rychosti apod. snad bez problém zvládnu, ale jde mi o to, jak postupovat při zápisu FW do routeru...

7.11.2012 19:37 Viktor
Rozbalit Rozbalit vše Re: Debrick routeru
Převodník TTL/RS232 bývá z aplikace zpravidla napájený. K tomu slouží právě to napětí 3.3V, které je v routeru vyvedené na pinheaderu společně s datovými signály a GND. Nevím co je zač ten převodník, který máš, ale usuzoval bych, že ho lze napájet 3.3 nebo 5V, podle toho co je v aplikaci dostupné. Ovšem pokud je USB, jak jsi psal hned na začátku, pak by ho zřejmě stačilo napájet z PC.

Nějaký tutoriál je těžké napsat, pokud nevím jaký je v routeru bootloader. Já tento typ TP-LINKu neznám. Předpokládám, že tam bude U-boot, ale problém je v tom, že výrobci si ho různě upravují k obrazu svému, takže těžko říct jak se tato konkrétní verze bude chovat. Nejlepší bude, když se do routeru připojíš a postneš sem, co píše. Pak se uvidí co dál.

7.11.2012 19:42 Eagle
Rozbalit Rozbalit vše Re: Debrick routeru
Fajn, takže nejspíš tedy bude stačit zapojit jen GND,RX,TX. K routeru se dostanu nejdřív v pátek (až se vrátím domů), takže zatím nemůžu poskytnout další info...
7.11.2012 19:23 Viktor
Rozbalit Rozbalit vše Re: Debrick routeru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Přes RS232 se připojíš na konzolu routeru pomocí nějakého terminálového programu (Putty, CRT, Minicom...), vlezeš do bootloaderu (na SoC Atheros většinou bývá U-boot, resp. já jsem tam jiný ještě neviděl, pokud nepočítám Routerboardy a jejich RouterBoot) a přes X-MODEM nebo TFTP tam nahraješ příslušný firmware.

Žádné flashovací utility netřeba, vše se provede pomocí bootloaderu. Na terminálu uvidíš něco takového: 

U-Boot 1.1.6 (Apr 14 2010 - 14:02:36)

DRAM:  ar7100_ddr_initial_config(237) enter!
ar7100_ddr_initial_config(269) exit!


U-Boot 1.1.6 (Apr 14 2010 - 14:02:36)

AP81 (ar7100) U-boot
sri
32 MB
WRT160NL u-boot version: 1.0.0
Top of RAM usable for U-Boot at: 82000000
Reserving 279k for U-Boot at: 81fb8000
Reserving 192k for malloc() at: 81f88000
Reserving 44 Bytes for Board Info at: 81f87fd4
Reserving 36 Bytes for Global Data at: 81f87fb0
Reserving 128k for boot params() at: 81f67fb0
Stack Pointer at: 81f67f98
Now running in RAM - U-Boot at: 81fb8000
id read 0x100000ff
flash size 8MB, sector count = 128
Flash:  8 MB
In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...
ag7100 get ethaddr for device eth0
No valid address in Flash. Using fixed address

--------***** Get the RTL8306SD Manufactory ID=379c *****-------
Reg6: speed=0 nway=1 duplex=0
Reg5: speed=0 nway=0 duplex=0
Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0 a5=0
Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0
Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0
Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0
Reg1: a1=7fd9 a2=30e0 a3=15ac a4=30e0
eth0: 00:01:36:22:7e:f1
eth0 up
eth0
### main_loop entered: bootdelay=1

Hit any key to stop autoboot:  0
ar7100>
ar7100> help
?       - alias for 'help'
autoscr - run script from memory
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootwrt   - boot WRT160NL application image from memory
chpart  - change active partition
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dhcp    - invoke DHCP client to obtain IP/boot params
echo    - echo args to console
erase   - erase FLASH memory
exit    - exit script
flinfo  - print FLASH memory information
fsinfo  - print information about filesystems
fsload  - load binary file from a filesystem image
go      - boot default, i.e., run 'bootcmd'
help    - print online help
iminfo  - print header information for application image
imls    - list all images found in flash
itest   - return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
ls      - list files in a directory (default /)
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing)
mtdparts- define flash/nand partitions
mtest   - simple RAM test
mw      - memory write (fill)
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reboot   - reboot the device
run     - run commands in an environment variable
setenv  - set environment variables
sleep   - delay execution for some time
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
upgrade- upgrade bootcode, code.bin, rom.bin and mfg.bin via using TFTP protocol
upgrade <boot.bin|code.bin|rom.bin|mfg.bin>
version - print monitor version
ar7100>
7.11.2012 19:38 Eagle
Rozbalit Rozbalit vše Re: Debrick routeru
OK, komunikaci přes seriovou linku chápu, ale jakými příkazi tam dostanu ten FW a naflashuju?
Jendа avatar 7.11.2012 19:47 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Debrick routeru
(kapitola Booting custom image from TFTP)
7.11.2012 19:54 Eagle
Rozbalit Rozbalit vše Re: Debrick routeru
Fajn, a ty adresy co jsou popsané v návodu budou sedět i na tenhle router?
Jendа avatar 7.11.2012 20:39 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Debrick routeru
Nevím, ale možná by to šlo vypsat některým z dostupných příkazů (md, flinfo).
7.11.2012 20:54 Eagle
Rozbalit Rozbalit vše Re: Debrick routeru

Na openwrt.org jsem našel tohle:
tftpboot 0x80000000 openwrt-ar71xx-tl-wr740n-v1-squashfs-sysupgrade.bin
erase 0x9f020000 +0x332004 # 0x332004: size of the firmware (be aware that you may have a different size thus bricking your router)
cp.b 0x80000000 0x9f020000 0x332004 # 0x332004: size of the firmware (be aware that you may have a different size thus bricking your router)

Takže pokud tomu rozumím, stačí jen dosadit správný soubor a správně nastavit velikost FW.

8.11.2012 01:03 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Debrick routeru
Musíš vědět správné adresy kam to přijde.

tftpboot nahraje soubor do ram od adresy 0x80000000

erase vymaže flash od adresy 0x9f020000 +delka

cp.b překopíruje ram do flash z adresy 0x80000000 do adresy 0x9f020000 o délce 0x332004
Řešení 1× (Eagle (tazatel))
8.11.2012 01:15 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: Debrick routeru
Teď jsem se díval a ty adresy by měly sedět - až to bude tak to spustíš "bootm 0x9f020000".

Jinak pokud tam budeš dávat originál FW tak v názvu FW nesmí být BOOT! ten FW je větší a je i s zavaděčem - ten musíš dát pryč a nebo použít FW který nemá v názvu BOOT.
8.11.2012 14:05 Nereknu | skóre: 23 | Neřeknu:)
Rozbalit Rozbalit vše Re: Debrick routeru
Odpovědět | | Sbalit | Link | Blokovat | Admin
zde http://wiki.openwrt.org/toh/tp-link/tl-wr741nd si vse procit, predevsim serial FIX (musi se vzajemne propojit dva kontakty na tistaku). a je tam popsano i nahravani.
8.11.2012 15:47 Eagle
Rozbalit Rozbalit vše Re: Debrick routeru
Jo, z téhle stránky jsem vycházel, jen jsem ji zprvu pořádně nepochopil...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.