Differences between revisions 16 and 17
Revision 16 as of 2011-09-01 15:26:00
Size: 5871
Editor: asbesto
Comment:
Revision 17 as of 2011-09-01 15:26:33
Size: 5898
Editor: asbesto
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
by Asbesto, 20/7/09 by Asbesto, 20/7/09, aggiornamento: 01/09/2011

Flashare le fonere con dd-wrt

by Asbesto, 20/7/09, aggiornamento: 01/09/2011

Ho deciso di scrivere questo howto perche' in rete le informazioni sono abbastanza confuse. Seguendo passo passo queste istruzioni non c'e' possibilita' di sbagliare.

INTERFACCIA SERIALE PER FONERA 2000, 2100, 2200, 2201, LINKSYS, USROBOTICS ETC.

Costruire l'interfaccia seriale e' facile. Usare l'integrato MAX232 e' una MINCHIATA, perche' richiede 4 condensatori e componenti di vario tipo. Usare l'integrato MAX233 e' la scelta giusta. Io ho usato questo schema:

  • serialefonera1.jpg

ATTENZIONE alle connessioni specie sul connettore DB9: l'1 al 4 ed al 6, mentre il 5 va alla massa (GND) dell'integrato, sui pin 6 e 9 !!!

Se invece avete solo i chip MAX232, avrete bisogno anche di componenti esterni, 4 condensatori almeno. C'e' un mare di roba in rete ed ora non mi va di entrare nei dettagli, cmq lo schema e' questo:

Una volta realizzata l'interfaccia (o comprata gia' fatta su ebay ;) ) possiamo cominciare!

UPPIAMO IL FIRMWARE VIA SERIALE DIRETTAMENTE CON MINICOM

Ovunque leggete che serve installare e configurare un server tftpd, impostare indirizzi ip, netmask, usare un cavo cross ethernet... SONO TUTTE STRONZATE!!!

Redboot gestisce ymodem via seriale, QUINDI NON CI SERVE ALTRO!!!

Basta usare un qualsiasi programma di comunicazione; per linux, c'e' Minicom che e' ottimo. Impostatelo a 9600, 8N1, e si parte! Minicom va settato a 9600,8N1, no hardware flow control altrimenti ctrl-c non funziona.

  • connettere la seriale
  • dare:

baudrate -b 115200

Ora dovete configurate opportunamente minicom a 115200 altrimenti non vedrete piu' un cazzo! CTRL-A P e scegliete 115200. Un paio di enter e riotterrete il prompt di Redboot.

Ora cancelliamo la memoria della fonera, inizializzandola:

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: .

Ora, trasferiamo l'immagine di linux.bin CON YMODEM su di essa:

load -m ymodem -r -v -b 0x80041000 linux.bin

Premete CTRL-A S su Minicom, selezionate il protocollo YMODEM e scegliete il file da mandare. ET VOILA'

A upload completato, creiamo tutta la struttura sulla fonera (ci mettera' una decina di minuti):

RedBoot> fis create linux

... Erase from 0xa8030000-0xa82f0000: ............................................
... Program from 0x80041000-0x80301000 at 0xa8030000: ............................................
... Erase from 0xa83e0000-0xa83f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa83e0000: .

Ora diamo un minimo di configurazione:

RedBoot> fconfig

Rispondiamo alle domande, configuriamo gli indirizzi desiderati, RICORDANDOCI DI INSERIRE questo script di 2 righe DOVE VERRA' CHIESTO ALTRIMENTI LA FONERA NON PARTE:

fis load -l linux
exec

Salviamo la config uscendo, cosi':

reset

FINE!

VECCHIO HOWTO CON TFTPD, DEPRECATED

Installare tftpd, tftp: nelle dipendenze software c'e' pure openbsd-inetd.

apt-get install tftpd tftp

(Il client vi servira' per fare i test.)

Configurare /etc/inetd.conf cosi':

tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /tftpboot

Creare la dir /tftpboot, modo 777, user nobody; metti li' dentro linux.bin, modo 777, owner nobody.

Risultato finale:

   root@gemini:~# ls -la /tftpboot/
   total 6604
   drwxrwxrwx  2 nobody root    4096 2009-07-19 18:57 .
   drwxr-xr-x 22 root   root    4096 2009-07-19 18:47 ..
   -rwxrwxrwx  1 nobody root 6754304 2009-07-19 18:57 linux.bin
   root@gemini:~# 

Ovviamente il server tftpd va lanciato, quindi:

/etc/init.d/openbsd-inetd start

Bella minchiata, eh? :) Usare ora tftp su localhost per provare se tutto funziona. Dovrebbe essere possibile poter prelevare linux.bin.

Seconda parte: collegamenti hardware

Collegare la fonera all'adattatore. questo dipende dall'adattatore! PARTE DA INSERIRE.

Terza parte: Riprogrammiamo la fonera

Enter the RedBoot console by pressing CTRL+C (entro 2 secondi)...

Configure the RedBoot bootloader IP and TFTP server settings using

ip_address -l [local ip address] -h [remote server address]

Cancelliamo la memoria della fonera, inizializzandola:

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: .

Ora, trasferiamo l'immagine di linux.bin su di essa:

RedBoot> load -r -v -b 0x80041000 linux.bin

Using default protocol (TFTP)
Raw file loaded 0x80041000-0x802e3fff, assumed entry at 0x80041000

E per finire, creiamo tutta la struttura sulla fonera (ci mettera' una decina di minuti):

RedBoot> fis create linux

... Erase from 0xa8030000-0xa82f0000: ............................................
... Program from 0x80041000-0x80301000 at 0xa8030000: ............................................
... Erase from 0xa83e0000-0xa83f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa83e0000: .

Ora diamo un minimo di configurazione:

RedBoot> fconfig

Rispondiamo alle domande, configuriamo gli indirizzi desiderati, poi inseriamo questo script di 2 righe:

fis load -l linux
exec

Salviamo la config uscendo, cosi':

reset

FINE!

http://www.dd-wrt.com/dd-wrtv3/dd-wrt/hardware.html

Fonera (last edited 2017-09-14 12:26:25 by asbesto)