Debrick via SERIALE su Fonera 2100/2200

In un mio precedente articolo vi ho illustrato come realizzare il wiring della fonera 2100/2200 con un convertitore seriale rs232.
Oggi vi parlerò di come effettuare il debrick, via seriale, tramite comandi RedBoot.

Adessi vi linko l’articolo che ho scritto su come realizzare il wiring via seriale sulla vostra fonera: wiring su seriale

Scarichiamo la giusta versione dd-wrt per le nostre fonera, in particolare scaricate quella raccomandata la build 14986, ovviamente prendete la versione “console”.

Scaricate ed installate tftp: http://tftpd32.jounin.net/
Questo software permetterà di poter uploaddare dal proprio pc alla fonera il file .bin dd-wrt appena scaricato.

Dunque, disconnettetevi da qualsiasi rete wifi, staccate il vostro cavo ethernet e collegatelo alla fonera.
Nelle proprietà della scheda di rete, impostate un ip statico (ad esempio):
Ip Statico: 192.168.1.166
Subnet: 255.255.255.0
Gateway: 192.168.1.1
DNS: 192.168.1.1
Convalida all’uscita SI
Sicuramente vi farà tipo errore o qualcosa del genere, fregatevene e fate ok ok ok avanti avanti 🙂

Ora tftp deve essere configurato così:

1. Inserire il file bin nella cartella di tftp

2. Collegate il cavo rj45 alla fonera

3. Dovrebbe apparirvi su “Server Interface” di tftp l’indirizzo: 192.168.1.166

4. Se il punto 3 non si verifica, andate in settings > DHCP ed impostate gli stessi valori che avete impostato nella vostra scheda di rete.

Una volta realizzato ciò (e aver installato i driver del proprio convertitore seriale) dobbiamo metterci in comunicazione con la nostra fonera.
Scarichiamo ed installiamo PuTTY: PuTTY

Ora apriamo la comunicazione seriale, avendo premura di:

1. Settare il giusto baudrate, per molte versioni di RedBoot quello di default è 9600 per altre è 115200.
Se vi troverete a leggere caratteri strani cambiare il baud rate.

capture

2. Selezionare la giusta porta COM; nel mio caso è la 5, dipenderà dal vostro dispositivo su che COM è installato.

Una volta aperta la console, date alimentazione alla nostra fonera e vi apparirà per magia una cosa del genere:

+PHY ID is 00xx:xxxx
Ethernet eth0: MAC address xx:xx:xx:xx:xx:xx
IP: 0.0.0.0/255.255.255.255, Gateway: 0.0.0.0
Default server: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version v1.3.0 - built 16:57:58, Aug 7 2006
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Board: ap51


RAM: 0x80000000-0x81000000, [0x80040450-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 1.000 seconds - enter ^C to abort

Premete subito CTRL + C in modo tale da ottenere il prompt dei comandi.

RedBoot>

Una volta dentro è fatta.

Diamo questo comando: ip_address -l 192.168.1.254/24 -h 192.168.1.166
In modo tale da poter comunicare con tftp

Diamo subito il comando: fis init
E otteniamo questo:
RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa83e0000-0xa83f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa83e0000: .

Diamo il comando: load -r -b 0x80041000 linux.bin
Questo caricherà tramite tftp l’immagine linux.bin presente nella cartella tftp.
Se ci saranno errori dovrete rivedere la configurazione di rete e le impostazioni di tftp.
Otterrete una cosa del generE:
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x80662fff, assumed entry at 0x80041000

Bene… l’ultimo comando, quello di flashing: fis create linux
Ora non toccate nulla e aspettate diversi minuti: il flashing è lungo!
Output:
... Erase from 0xa8030000-0xa8652000: ...................................................................................................
... Program from 0x80041000-0x80663000 at 0xa8030000: ...................................................................................................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Il grosso è finito.
L’ultima finezza è quella di aggiustare lo script di booting.
Diamo il comando: fconfig
Ed aggiustiamo lo script in questo modo:
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>>
Boot script timeout (1000ms resolution): 10
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.1.254
Local IP address mask: 255.255.255.0
Default server IP address:
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Date: reset
Ed è finito!!!

Riassumendo, i comandi sono in tutto 4:

1. fis init
2. load -r -b 0x80041000 linux.bin
3. fis create linux
4. fconfig (opzionale)

Potreste, però, trovarvi tra le mani una fonera con firmwre originale fon, dovrete seguire la prima parte di questa guida: http://www.dd-wrt.com/wiki/index.php/La_Fonera_Flashing

Un pensiero su “Debrick via SERIALE su Fonera 2100/2200

  1. Pingback: Debrick via JTAG su fonera 2100/2200 « Italian Maker Blog

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Anti-Spam Quiz: