Archivi tag: debrick

Debrick via flashing SPI su Fonera 2100/2200

Quando tutto sembra finito, l’ultima spiaggia è il flashing via SPI.
Questo metodo è quello definitivo, dopodichè, dovete solo buttarla dalla finestra!
Da qualche parte si è menzionato che si può eseguire il flashing via SPI della nostra fonera, ma nessuno ha detto come.
Probabilmente questa sarà l’unica fonte dove illustro come effettuare il flash via spi.

Di cosa si tratta?
Tratteremo la nostra flash come una qualsiasi altro componente elettronico, lo dissalderemo e lo flasheremo con un programmatore apposito.
Questa soluzione non è pericolosa per chi ha dimestichezza, ma per chi non ha esperienza (come me), può creare molte difficoltà.

Le fasi sono queste:

1. Dissaldare la flash
2. Flashare via SPI la memoria (possibilmente nuova) con un programmatore apposito
3. Saldatura

Fase 1:
La nostra flash si trova nella parte sottostante della fonera e spesso ha un etichetta con il numero di serie dell’ultimo firmware fon originale installato.

258736834_e8ed2aa508_o

Ma come dissaldarla senza fare danni come questi (opera mia)?:

IMG_20120308_201016

Ci sono due metodi per fare un servizio pulito:

1. Saldatore ad aria calda, la miglior soluzione: facile, pulito ed indolore
2. ChipQuick
3. Filo di rame passante

Metodo 1:

ChipQuick è un prodotto molto simile allo stagno, si scioglie a basse temperature e si comporta, per certi versi, come l’olio sugli oggetti.
In pratica si appiccica alle pareti dei pin e non si solidifica, rendendo facile la rimozione dell’integrato.
Video:

Metodo 2:

E’ un metodo meno facile ma fa il suo lavoro:
1. Stagneremo nuovamente tutti i pin
2. rimuoveremo gli eccessi con una garza ramata o una pomepetta
3. passeremo un filo di rame sotto la giuntura tra i pin e l’integrato
4. riscalderemo i pin uno ad uno e tireremo il filo di rame sotto i pin in modo tale da staccarli dalle piazzole

Fase 2:
Dopo aver acquistato una memoria nuova (possibilmente uguale alla vecchia) non ci resta altro che riflasharla con un programmatore apposito.
In giro su ebay ce ne sono una cifra!
Ognuno di essi flasha una certa famiglia di memorie e ognuno di essi ha un proprio software per la programmazione.
Tra le tante cinesate e dubbi programmatori io vi consiglio:

1. EZP2010 -> ~30€
2. MiniPro (consigliatissimo!) -> ~50€ http://www.autoelectric.cn/minipro

Cercateli su ebay.

Procuratevi anche un adattatore SOP16 to DIP16 in modo tale da facilitare l’innesto della memoria flash sul programmatore.
Fatto ciò, dovrete usare il software che il cinese di fiducia vi ha dato assieme al programmatore.
I movimenti, grosso modo (dipende dal programmatore) sono sempre gli stessi:

1. Installate eventuali driver
2. Collegate la memoria nell’adattatore che andrà a sua volta nel pettine a leva del programmatore
3. Fate riconoscere la memoria dal software del programmatore

Esempio con MiniPro:

Immagine

4. Caricate un immagine della flash di un intera fonera funzionante [Nota a fine articolo].
5. Flashate

capture

Di solito, nel software di corredo c’è anche la funzione “Compare”/”Verify”.
Usatela per verificare se effettivamente RedBoot è stato installato correttamente confrontando ciò che avete scritto sulla memoria con il file redboot.bin che avete sul pc.

Fase 3:
Risaldare il tutto.
Se siete sicuri che la fase 1 e la fase 2 è andata a buon fine, il grosso ormai è fatto.
I metodi per risaldare smd sono moltissimi e sono molto più facili dei metodi per dissaldare.
Usate flussante di qualità, mano ferma, punta del saldatore non troppo alta e saldate il tutto.

Date alimentazione alla fonera e pregate S. WiFi!

Nota:
Bisogna avere l’immagine di un backup di una fonera con hardware uguale a quella che bisogna debrickare.
In quanto, nella parte finale della flash, oltre al template board config ci sono alcuni dati circa la calibrazione della scheda wifi.
E non è detto che l’immagine che create da una fonera funzionante funzioni anche su quella da debrickare…
Potreste ottenere errori di checksum e una wifi non ottimizzata.

Debrick via JTAG su fonera 2100/2200

Questo tipo di debrick è proprio un dito nell’ano…
E’ durato parecchio e sulla mia fonera, purtroppo, non ha funzionato.
Quando la seriale non risponde è l’unica soluzione che risolve al 98% dei casi il brick della nostra amatissima fonera.
Se riuscite a debrickarla in questo modo, non vi resta che aggiustare le ultime cose via seriale in quanto con questo metodo vi illustro come rimettere il solo RedBoot. Ok?

Di cosa abbiamo bisogno?
1. Porta parallela LPT (quella vecchia della stampante):

lg_lw60_case_lpt

2. Abbiamo bisogno di un programma chiamato tjtag scaricabile dopo una piccola donazione dal sito:  tjtag.com
Se volete fare solo delle *prove* io l’ho trovato versioni ancora free di questo programma: Lista tjtag [merlino60]
La più recente in versione free è la: tjtag-3.0.2-RC2
Con questo software, andremo a debrickare non solo la fonera, ma moltissimi altri router: ricordatevelo.

Realizzate un cavo (non troppo lungo) con 4 resistenze da 100Ohm chiamato wiggler cable: Costruzione Cavo DLC5 (Wiggler) unbuffered

Ora dovremo collegare la nostra fonera al cavo jtag in questo modo:

Jtag-schematic

Nota: notare la resistenza da 100Ohm tra vcc e il pin di test

Pinout fonera:

4-FONERA_2200A_JTAG_v2.6
3-FONERA_2200A_BOARD_JTAG

Nota: il pinout della fonera 2100 è identico a quello della 2200 in quanto entrambe usano il pinout standard jtag 2.6

Dovreste ottenere una cosa del genere, a me non è venuta molto bene:

dscn0392u

Ora lanciamo il servizio che ci permetterà di usare la porta lpt:

1. Unzippate questo pack: giveio.zip
2. Start > Esegui > cmd
3. Entrate nella directory del pack
4. loaddrv
5. date il path della dll giveio.sys
6. Install, start
Dovreste avere una cosa del genere:

giveio_status

Date alimentazione alla fonera.

Ora andate nel folder di tjtag sempre dal prompt dei comandi.
E date un bel -probeonly
Dovrebbe apparirvi una cosa del genere:

Probeoonly

Se si blocca in resuming cpu… premete CTRL + C
Se vi appaiono tutti 11111111111…1 CPU ID, significa che tjtag non ha riconosciuto la cpu e quasi sicuramente è un problema di wiring
Se il probe non dovesse andar a buon fine inserite anche questi switch /noemw /noreset

Se è andato tutto ok non ci resta che:

1. Cancellare tutta la flash
2. Ricaricare RedBot
3. Caricare la tabella di configurazione come partizione nascosta

Punto 1: flash erasing
tjtag3 -erase:custom /window:a8000000 /start:a8000000 /length:30000
oppure (sconsigliato)
tjtag3 -erase:wholeflash

Il primo comando cancella solo la partizione di RedBoot, infatti il lenght è proprio 30000 (il lenght tipico di RedBoot)
Il secondo (sconsigliato) è più invasivo in quanto cancella tutta la flash.

Punto 2: flashing RedBoot
Scaricate dal sito di dd-wrt la versione GIUSTA per la vostra fonera di RedBoot, rinominatela in custom.bin e inseritela nella directory di tjtag.
Date questo comando:
tjtag3 -flash:custom /window:a8000000 /start:a8000000 /length:30000

Flashiamo dall’indrizzo a8000000 per un leght di 30000 il file custom.bin
L’operazione è molto lunga, quindi aspettate con pazienza.

Punto 3: modifica e upload della tabella di configurazione
Scaricate ed installate un qualsiasi HEX Editor, ad esempio: XVI32
Io vi sconsiglio di effettuare questa operazione in quanto potreste rischiare di incorrere in problemi di calcolo del checksum.
Scaricate il file board_config_template.bin dal sito di Matteo Cicutin:  board_config_template.bin
Aprite il file board board_config_template.bin con XVI32 e andate alla riga 60:

capture
Ed inserite il MAC Address della vostra fonera (presente nell’etichetta incollata sul retro) al posto delle caselle:
00 11 22 33 44 55
Esempio:
00 11 22 33 44 55 diventa [esempio] -> 00 28 ae 87 fd f2
Questo rappresenta il MAC della scheda Ethernet della fonera.
Di seguito ci sarà un altro blocco, fate la stessa cosa ma incrementate l’ultima coppia di 1 rispetto al MAC dell’ethernet. Questo sarà il MAC della scheda wireless.
Esempio:
00 11 22 33 44 56 diventa [esempio] -> 00 28 ae 87 fd f3

capture

Ora, salvate il file e rinominatelo in custom.bin date a tjtag il comando per l’upload del file:
tjtag3 -flash:custom /window:a87f0000 /start:a87f0000 /length:10000

Benissimo, è finita!
Riavviate il tutto e caricate dalla seriale dd-wrt (seguite l’altra mia guida!).

Alcune note di chiusura:
Questo metodo non è molto documentato, il mio è stato un lavoro di ricerca e traduzione del sito ufficiale dd-wrt.com e del loro forum.

La fonte principale è:  http://www.matteocicuttin.it/

Nel caso in cui tjtag non dovesse funzionare nel modo giusto, aggiungete gli switch su ogni comando: /noemw /noreset

Se usate una versione maggiore-uguale della versione 3.0.2 di tjtag, aggiungete lo switch su ogni comando: /cable:dlc5

Nel caso in cui la cosa non dovesse andare a buon fine non vi resta che contattare mr. Tornado passandogli, però, un dump della flash aggiungedo il seguente switch al comando: tjtag3 -probeonly /flash_debug
Oppure (per versioni superiori alla 3.0.2): tjtag3 -probeonly /byte_mode /cable:dlc5

Debrick via FonFlash su Fonera 2100/2200

Questo è il metodo più banale per il debrick o aggiornamento della propria fonera.
Esegue, grosso modo, gli stessi comandi dati sulla seriale ma in completa autonomia e attraverso il cavo rj45.

1. Scaricate ed installate la libreria WinCap: http://www.winpcap.org/install/default.htm
2. Scaricate FonFlash da: http://www.gargoyle-router.com/download.php
capture
3. Scarichiamo la versione più recente di dd-wrt per la nostra fonera
4. Riavviamo il pc per consentire la corretta installazione di WinCap

Colleghiamo la fonera al computer via ethernet, ma NON diamo ancora alimentazione.

Da FonFlash

1. Select Firmware Type: -> DD-WRT
2. Select Network Interface: -> la propria scheda ethernet connessa alla fonera
3. Select Firmware Type: -> Diamo il path dell’immagine dd-wrt linux.bin
4. Cliccate su Flash Router Now!
6. No packet… – fregatevene
5. Diamo alimentazione alla fonera… flashing.

Attendiamo alcuni minuti et voilà!
Fonera con firmware DD-WRT

Debrick Fonera? Metodi per resuscitarla…

Molti sono i motivi per un debrick: può capitare di installare male una versione di dd-wrt, salta la corrente, un collegamento può uscire fuori, diamo comandi sbagliati etc etc
E senza troppi ringraziamenti ci ritroveremo tra le mani un bel ferma carte.

Oggi vi illustro sommariamente quali sono i metodi più diffusi per il debrick delle fonera.

1. via FonFlash
2. via seriale
3. via jtag
4. desoldering, flashing via spi & soldering

Più si va avanti e più la cosa si fa seria… io li ho provati tutti e 4 su una fonera 2200.
Non vi racconto come sono arrivato al punto 4, ma vi racconto (a grosse linee) di cosa si parla per ciascun punto.

Punto 1: Via FonFlash
Esistono alcuni software che riescono a debrickare la fonera via ethernet senza neanche smontarla.
Il più blasonato è fonflash: FonFlash
Questo permette di flashare la nostra fonera in modo molto semplice senza troppi casini.
In pratica, darà gli stessi comandi del punto 2 ma in maniera autonoma.

Punto 2: Via Seriale
Questo è quello più apprezzato.
Se non avete brickato RedBoot potete entrare nei prompt dei comandi del bootloader della fonera e fare ciò che vi pare in stile “MS-Dos”.
Cancellerete le aree di memoria, uploadderete nuove immagini dd-wrt via tftp e potrete configurare manualmente alcune impostazioni di booting (vedi: fconfig).
Non solo… con questo comando potrete aggiornare anche RedBoot.
Ma ve lo sconsiglio fortemente, perchè se aggiornate male RedBoot passerete direttamente al punto 3 🙂
Il wiki di riferimento è questo: http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing

Punto 3: Via JTAG
Qui le cose si complicano ancora di più.
Esiste un software scritto in linea di comando da un certo Tornato del forum dd-wrt.com.
Questo software si chiama tjtag e lo potete scaricare donando almeno 5$ al creatore: tjtag.com
In sintesi, tramite cavo dlc5/wiggler, vi interfaccerete sul pettinte jtag presente sulla vostra fonera (non più la seriale!).
E, se sarete fortunati, potete: arare tutta la memoria e flashare RedBoot (e non dd-wrt).
In questo modo potete andare al punto 2 e aggiustare la situazione.
Ma, tjtag con me ha fatto cilecca: non mi ha riconsciuto la memoria flash dove risiede il bootloader e dd-wrt, più precisamente la memoria era una: MX25L6405

Punto 4: Desoldering, flashing, soldering.
Questo è il metodo definitivo, dissalderete la memoria e la riprogrammerete con un programmatore SPI esterno.
Per ora l’ho solo dissaldata (e male) e sto attendendo dalla Cina una memoria nuova, il programmatore e l’adattatore.

Di ognuno di questi punti, scriverò (nel tempo) un articolo di approfondimento.

A presto

Wiring della seriale su Fonera 2100/2200

FON è un’organizzazione no-profit spagnola operante nel campo delle comunicazioni wireless nata originariamente come movimento cooperativo.

Nel settembre 2006 viene prodotta la Fonera, una piattaforma hardware/software di proprietà della stessa Fon, dotata di porta ethernet per il collegamento al router ADSL (la Fonera non è un modem ADSL) e di una antenna omnidirezionale rimovibile.

fonte: http://it.wikipedia.org/wiki/FON

Fonera divenne molto famosa in quanto spesso, per pubblicizzare questo movimento, veniva addirittura regalata o venduta a pochissimi euro.

Ciò che rende davvero interessante queste piccoli router è la possibilità di potervi installare firmware open come dd-wrt od open-wrt, entrambi derivati da firmware in uso su linksys wrt54gl.

Questi firmware rendono la fonera molto customizzabile e può essere usata sotto molte configurazioni interessanti, tra le quali la configurazione da repeater.

Oggi giorno si trovano ancora questi oggettini su ebay, ma questa stessa guida, con ogni probabilità può essere utilizzata su gran parte dei router presenti sul database dd-wrt: http://www.dd-wrt.com/site/support/router-database

Infatti basta avere una porta seriale e un convertitore USB-RS232.

Personalmente ho usato un convertitore acquistato per pochi spiccioli su ebay che monta un Silabs CP2102 (fratello scemo dell’ FTDI FT232RL)

miniusb2ttl2323

I collegamenti effettuati sono i seguenti:

PIN CP2102 – Fonera 2100

2 RXD -> Tx

3 TXD -> Rx

4 GND -> GND

1 3,3V ->Vcc

Come si può notare Rx e Tx sono invertiti.

Sotto il pinout del modulo acquistato dalla cina:

pindefinition

Seriale su Fon 2100:

fonserialpinout2100

Seriale su Fon 2200:

Conn_fon2200

Il collegamento finale risulta essere questo:

02042011185

Ora basterà collegare il cavo ethernet tra il pc e la fonera, dare alimentazione e seguire le tante guide che esistono sulla rete:

http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing

http://www.wifi-ita.com/fon/180-flash-fonera-via-seriale-v1.html

http://www.wifi-ita.com/fon/371-flash-fonera-via-seriale-v2.html

Una volta sbloccata ho eseguito altre mod: ventola e seriale leggermente più accessibile