TL-WR741ND bloccato dopo upgrade (risolto)

Salve, stamattina ho aggiornato il router in questione con l’ultima versione del firmware riportata in questa pagina (V.4) :

Alla fine non si è più riavviato. Le luci lampeggiano tutte insieme ad intervalli regolari, tranne quella di alimentazione. L’upgrade l’ho fatto via lan, ma in mezzo c’era una tratta powerline, che sia stato quello il problema. Ho possibilità di recuperarlo? Grazie in anticipo a chi mi fornirà indicazioni.

Ciao, ma tu hai versione hardware v 4?
Per il ripristino mi sa che ti serve l’interfaccia seriale.

Si, la versione hardware è la 4. Domani faccio qualche scatto e lo allego. La piastra è diversa da quella nelle immagini del link. Ma una volta trovati i punti dove saldare i cavi come procedo per scrivere l’ultima versione del firmware? Ho bisogno di un pc con la seriale?

Queste sono le immagini del router in questione.

Aggiungo un particolare. Provando a collegarlo direttamente al pc con qualsiasi porta, anche quella blu, l’icona della connessione di rete di windows, in basso a destra, si connette e disconnette in continuazione. Corrisponde all’intervallo del lampeggio dei led sul frontale del router, circa due secondi. Ci sono speranze? Grazie ancora per l’aiuto.

Devi usare putty o un altro terminale che si connetta sulla com usata dalla seriale, quando lo accendi il router se il bootloader è intatto dovresti vedere la sequenza di avvio. Quando leggi “Autobooting in 1 seconds” devi scrivere molto velocemente “tlp” e usare tftp per scrivere il firmware.

Puoi acquistare anche un modello USB, molti usano il cavo della nokia CA-42

Se il bootloader è intatto si.

Proverò a costruirmi il cavo acquistando un connettore seriale da saldare e uno spezzone di cavo per cablaggi allarmi. Questo cavo ovrebbe andare bene immagino. Sulla versione 4.20, nel tutorial openwrt, viene spiegato di ponticellare con uno spezzone di filo il pin tx al processore. La mia versione è la 4.3, non ci dovrebbero essere differenze suppongo.

Solo un dubbio, devo collegare solo TD e RD del connettore invertiti rispetto ai pin del router, la massa e nient’altro, giusto? Grazie ancora.

Io ho costruito questa seguendo uno schema trovato in un sito di elettronica, funziona benissimo, se sei pratico riesci a metterla dentro il connettore ed è compatibile con 3.3 e 5 volts

Altrimenti puoi acquistare il classico adattatore basato sul max3232, su ebay ne trovi tantissimi.

No, non invertiti e anche i 3,3V

Stamattina ho preso il materiale per costruire il convertitore, la prossima settimana monto il tutto e vediamo cosa riesco a combinare.

Comunque, credo di intuire che il lampeggio contemporaneo di tutti i led ogni due secondi equivalga all’avvio del router. Significa che tenta di riavviarsi ogni due secondi. Pensi che ci sia speranza per il bootloader visto questo comportamento?

NON vanno collegati i 3.3V, il router ci pensa da solo ad alimentarsi, e l’adattatore, se non si alimenta dalla usb, è meglio fornirgli alimentazione per conto suo piuttosto di rischiare di caricare quella del router!!

ad ogni modo la cosa più semplice e economica è appunto di usare i cavi per cell nokia ca-42 o dku-5 :wink:

tutorial istruttivo, anche se per un altro router, spiega molte cose:

http://buffalo.nas-central.org/wiki/Use_a_Nokia_Serial_Cable_on_an_ARM9_Linkstation

Io ho sempre preso l’alimentazione dal router, l’interfaccia artigianale che vedi sopra è stata testata in moltissimi router senza problemi. E’ anche vero che se non sei pratico e saldi male qualcosa o fai qualche corto nell’alimentazione puoi fare danni.

Credo di si :wink:

Allora, ho costruito il circuitino e funziona. L’unico problema riguarda l’asola tx del processore da ponticellare. Ho provato ma è troppo piccola e alla fine il piccolo spezzone di filo saldato, muovendosi, s’è tirato via la pista. Ne è rimasta un pezzettino e appoggiando uno spezzone ho ottenuto questo:

## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... ERROR: LzmaDecode.c, 543

Decoding error = 1
LZMA ERROR 1 - must RESET 

U-Boot 1.1.4 (Mar 28 2013 - 14:20:13)

AP121 (ar9330) U-boot

DRAM:  32 MB
led turning on for 1s...
id read 0x100000ff
flash size 4194304, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup 
eth0 up
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup 
eth1 up
eth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... ERROR: LzmaDecode.c, 543

Decoding error = 1
LZMA ERROR 1 - must RESET 

U-Boot 1.1.4 (Mar 28 2013 - 14:20:13)

AP121 (ar9330) U-boot

DRAM:  32 MB
led turning on for 1s...
id read 0x100000ff
flash size 4194304, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup 
eth0 up
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup 
eth1 up
eth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... ERROR: LzmaDecode.c, 543

Decoding error = 1
LZMA ERROR 1 - must RESET 

U-Boot 1.1.4 (Mar 28 2013 - 14:20:13)

AP121 (ar9330) U-boot

DRAM:  32 MB
led turning on for 1s...
id read 0x100000ff
flash size 4194304, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup 
eth0 up
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup 
eth1 up
eth0, eth1
Autobooting in 1 seconds

Da quel poco che ho capito, si riavvia in continuazione. Ammesso che riesca a mantenere il contatto, come procedo?

Bravo!
Imposta il pc con l’indirizzo ip statico 192.168.1.100 e collega il router al pc, quando leggi Autobooting in 1 seconds devi scrivere molto velocemente tlp e seguire questa guida: http://wiki.openwrt.org/toh/tp-link/tl-wr741nd#oem.installation.tftpboot.rs232
Tu invece di usare il firmware openwrt usa il tp-link e assicurati di avere scaricato il firmware giusto dal sito.
Come tftp server usa Tftpd32, se vedi che il router non accetta il file rinomina il firmware in code.bin e disattiva il firewall.

Qui mi servono alcuni chiarimenti, più in dettaglio, per capire il meccanismo. Io uso linux ubuntu. In alternativa a tftp posso usare vsftpd. Non ho chiara una cosa, dato il comando tlp il router punta in automatico sulla lan, da una delle porte dello switch integrato, all’indirizzo del server ftp 192.168.1.100 porta 22 e carica il firmware da li?

Questi sotto sono comandi da dare, oppure è la visualizzazione di avanzamento del processo sul terminale?
Scusa le domande stupide, ma è la prima volta che faccio una cosa del genere.

 Type "tpl" to escape automatic boot when "autoboot" appear.

Calc Size of firmware:

-rw-r--r-- 1 root root   3350532 Nov  1 01:22 openwrt-ar71xx-tl-wr740n-v1-squashfs-sysupgrade.bin

Dec 3350532 to Hex 0x332004

TFTP loading and flashing is done by issuing:

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)

If successful, the firmware can now be started with

bootm 0x9f020000

Se devo lanciare dei comandi da terminale dovrò tenere in maniera permanente il contatto con l’asola tx del processore rovinata, lo farò con una spilla saldata ad un filo e qualcun altro darà i comandi.
Grazie ancora per la pazienza.

No, si blocca il caricamento del firmware. Il trasferimento tftp inizia quando dai il comando tftpboot etc etc

Sono i comandi da dare ma senza quello che leggi dopo il #
Il commento serve per spiegare come procedere, ad esempio:

erase 0x9f020000 +0x332004 # 0x332004: size of the firmware (be aware that you may have a different size thus bricking your router)

Tu devi scrivere (solo se la dimensione in hex del nuovo firmware è 0x332004)

erase 0x9f020000 +0x332004



E di che? Non sono di certo domande stupide :wink:

Allora, ho installato tftpd-hpa, ho scaricato l’ultima versione del firmware direttamente nella cartella del server e l’ho scompattata. Ho fatto qualche prova e il server funziona correttamente:

tftp> status
Connected to 192.168.1.100.
Mode: netascii Verbose: off Tracing: off Literal: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp>



tftp> get wr741nv4_en_3_16_5_flash(130325).bin

ed ha scaricato correttamente il file nella mia home.

Non riesco in alcun modo a bloccare il boot con tpl. Come faccio, senza oscilloscopio, a sapere che i comandi arrivano al router?

Mi sorge un dubbio, questo è l’ultimo file disponibile adesso, per la versione 4, scaricato stamattina: wr741nv4_en_3_16_5_flash(130325).bin
Il file zip è questo: TL-WR741ND_V4_130325.zip
Quello che ha bloccato il router non è più disponibile sul sito ed è questo: TL-WR741ND_V4_130328.zip
Questo è il binario: wr741nv4_en_vietnam_3_16_5_up_boot(130328).bin

Che abbiano fatto qualche errore quelli della tp-link?

Se non riesci a bloccarlo vuol dire che l’interfaccia non va bene, ti serve per forza qualcosa del genere.

Sembra proprio di si, nel firmware che ti ha bloccato il router c’è anche il bootloader… non usare di nuovo quello!

Ok, ordinato.

È arrivato. Il punto di alimentazione 3,3V del router va connesso? Immagino di si. Oppure basta connettere solo gnd txd rxd?

Si, va collegato :wink:

Scusate il ritardo. Sono riuscito a scrivere il firmware. È tornato a funzionare! Ho perso parecchio tempo a fermare la sequenza di boot con tlp e tenere con uno spillo saldato ad un filo il pin TX del processore. Nella versione 4 il TX del processore non è connesso al punto di saldatura TXD.

Ho dato in sequenza questi comandi:

tftpboot 0x80000000 tplink.bin
erase 0x9f020000 +0x3c0000
cp.b 0x80000000 0x9f020000 0x3c0000

Il file caricato è questo: wr741nv4_en_3_16_4_up(130205).bin → rinominato per comodità in tplink.bin.

Adesso, volendo aggiornare all’ultima versione, mi sorgono alcuni dubbi, ma tutto dipende dai firmware disponibili sul sito per la versione 4 di questo router. Facendo un confronto con i file dispoibili adesso e gli stessi scaricati circa una settimana fa, mi sa che qualcosa non quadra. Cosa stanno combinando alla TP-LINK?

L’ultimo firmware disponibile adesso 6/5/2013, per la versione 4 è questo:TL-WR741ND_V4_130325.zip
Al suo interno c’è questo bin: wr741nv4_en_3_16_5_up_boot(130325).bin (Size 4.1MB)
Una settimana fa, circa, c’era lo stesso file zip ma all’interno c’era questo bin:
wr741nv4_en_3_16_5_flash(130325).bin

Ho verificato anche i file disponibili, adesso, della penultima versione, la TL-WR741ND_V4_130205.zip e dentro, adesso, c’è questo bin: wr741nv4_en_3_16_4_up_boot(130205).bin mentre una settimana fa, circa, c’era questo:
wr741nv4_en_3_16_4_up(130205).bin (Size 3.9MB) che è quello usato per ripristinare il router con i comandi sopra.

BO! Sbaglio io? Non capisco.
A questo punto lascio tutto cosi o rischio e aggiorno con la possibilità di briccare nuovamente il router?
Il firmware che ha bloccato il router e di cui si sono perse le tracce è questo: wr741nv4_en_vietnam_3_16_5_up_boot(130328).bin

Se può interessare, posso scrivere la procedura per installare il server tftp su ubuntu. Il terminale usato è gtkterm.
Ancora grazie!