#acl FreaknetGroup:read,write,admin,delete,revert All:read = 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, tali da produrre lo sgorgo dal colon. Seguendo passo passo queste istruzioni non c'e' possibilita' di sbagliare. == Connettori seriali sulle fonere == === Fonera 2100 (vecchio modello) === {{attachment:foneraseriale1.jpg}} === Fonera 2200 (Nuovo modello) === {{attachment:foneraseriale2.jpg}} == 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: {{attachment: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: {{attachment:serialefonera2.jpg}} 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... '''QUESTA COSA E' MOLTO IDIOTA.''' Redboot gestisce ymodem via seriale, QUINDI siccome abbiamo la seriale e' IDIOTA sbatterci per tirar su un server tftp, usiamo la SERIALE e YMODEM, 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. Indifferentemente che la fonera sia 2000, 2100, 2200, 2200+, basta: * 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. Il firmware dd-wrt che uso e' questo: [[attachment:linux.bin]], e' il 24sp2 credo. funziona ed e' stabile. {{{ 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! == Materiali e link == [[http://www.dd-wrt.com/dd-wrtv3/dd-wrt/hardware.html]] ---- CategoryMuseo