Debrick del modem Alice Gate W2+ (rev. 1.0 - 31/07/2007) by roleo

 

Questo breve tutorial descrive la procedura per il ripristino del modem Alice Gate W2+ (Pirelli Vela) dopo un aggiornamento del firmware errato che ha sovrasritto il CFE. In particolare verrà descritta la procedura di riscrittura del CFE a partire da un file di backup precedentemente eseguito (so che tutti voi l'avete fatto). Eseguito il ripristino del CFE è possibile inviare un firmware nuovo direttamente via ethernet.

Chiaramente non sono responsabile degli eventuali danni che potreste causare al modem seguendo questa procedura; penso però che sia tardi per farvi questa raccomandazione...

Vi ricordo infine che le modifiche effettuate invalidano la garanzia del prodotto.

Inoltre se il prodotto è in comodato d’uso vi sconsiglio di proseguire.

 

E ora procediamo...

A differenza di molti altri modelli di modem, il Vela ha bisogno di alcune modifiche hardware per abilitare la porta JTAG.

Il connettore JTAG non è presente sullo stampato ma ci sono le piazzole per una eventuale saldatura (a lato del lettore di smartcard identificato con la siglia CN3). Vedete voi se volete saldare un connettore sullo stampato o fare qualcosa di provvisorio.

Oltre al connettore è necessario inserire alcune resistenze (in realtà basta fare dei cortocircuiti con piccole saldature) per portare i segnali JTAG al connettore.

Le piazzole delle resistenze da mettere in corto si trovano tutte sulla parte inferiore del circuito stampato e sono:

La figura seguente mostra i punti da cortocircuitare.

Il connettore è standard MIPS EJTAG e la piedinatura è la seguente:

Segnale

PIN

PIN

Segnale

TRST

1

2

GND

TDI

3

4

GND

TDO

5

6

GND

TMS

7

8

GND

TCK

9

10

GND

SRST

11

12

GND

per il corretto funzionamento è sufficiente utilizzare i pin che ho evidenziato in giallo.

I pin pari sono rivolti verso la smartcard e il pin 1 è dal lato del connettore seriale (in ogni caso dovreste vedere la serigrafia).

A questo punto la porta JTAG dovrebbe essere attiva. Passiamo all'interfaccia verso il PC.

 

Interfaccia JTAG

Non mi dilungo troppo sulla descrizione dell'interfaccia perché trovate centinaia di pagine in rete che ne parlano. Vi dico solo che potete utilizzare interfacce diverse (xilinx, jkeys, wiggler) visto che il software le supporta.

Riporto lo schema dell'interfaccia xilinx poiché la sua costruzione richiede solo una manciata di componenti e costa probabilmente meno di 1 euro. 

Potete trovare una descrizione più ampia sul sito http://wiki.openwrt.org/OpenWrtDocs/Customizing/Hardware/JTAG_Cable

Nota bene: il cavo deve essere il più corto possibile, meglio se < 20 cm.

 

CFE.BIN

Prima di procedere alla scrittura del CFE è necessario adattare il file CFE.BIN effettuando un'operazione di swap dei byte a gruppi di double word.

Per essere più chiari ipotizzando che il file contenga i seguenti 16 byte (in esadecimale):

01 23 45 67    89 AB CD EF    08 19 2A 3B    4C 5D 6E 7F

dovete trasformarli in:

67 45 23 01    EF CD AB 89    3B 2A 19 08    7F 6E 5D 4C

Potete usare per questo un editor esadecimale come WinHex (menu Edit ---> Modify Data ---> 32-bit byte swap) oppure la funzione byteflip di Hex Workshop, selezionando treat data as 32 bit unsigned long.

 

Software

Come software dovete utilizzare Telsey MAGIC EJTAG Debrick Utility v0.9beta2 di Janniz che potete scaricare da http://www.piccato.it/openwgate/telsey_debrick sia per Windows che per Linux.

Siccome questa versione è stata adattata al Telsey Magic è necessario forzare alcuni parametri su linea di comando per poterlo utilizzare con il Vela.  Questi sono i passi da eseguire:

  1. Procurarsi il file CFE.BIN da 64KB opportunamente adattato come spiegato in precedenza
  2. Rinominarlo CUSTOM.BIN e copiarlo nella cartella dove si trova l'eseguibile telsey_debrick.exe
  3. Aprire un prompt dei comandi
  4. Connettere l'interfaccia al connettore JTAG del modem
  5. Connettere l'interfaccia alla porta parallela del PC
  6. Accendere il modem
  7. Eseguire: telsey_debrick -flash:custom /fc:29 /start:1f000000 /window:1f000000 /length:10000

Con l'opzione /fc:29 forzate la definizione della flash MX29LV640MT, mentre con gli altri parametri forzate l'indirizzo di inizio e la lunghezza dell'area da scrivere.

A questo punto il programma dovrebbe prima effettuare l'erase del blocco 0x1f000000 e poi procedere con la scrittura (operazione di pochi minuti).

 

Conclusione

Non resta che riattaccare il modem alla porta seriale per verificare se il bootloader è caricato correttamente (dovreste anche vedere la spia power rossa).

Infine è sufficiente connettere la scheda ethernet, richiamare la pagina http://192.168.1.1 e inviare il file di un firmware valido da caricare.

 

Ringraziamenti

Un grazie a tutti quelli che hanno contribuito a salvare il mio Vela: Janniz, ladroni, 30252783, JackTheVendicator, etc...