La Fonera, almeno fino alle revisioni del gennaio 2007, sono dotate di una porta seriale con segnale TTL. Tramite questa seriale è possibile sia accedere alla console del sistema che al bootloader RedBoot, dal quale è possibile fare diverse cose, prima fra tutte riflashare il firmware tramite protocollo TFTP.
E' inoltre possibile configurare RedBoot in modo che risponda anche in telnet e non solo sulla seriale: in questo modo potrete usarlo più comodamente, senza dover connettere la Fonera (smontata) all'adattatore seriale.
Per connettere la seriale alla porta RS232 di un PC c'è bisogno di un adattatore TTL-RS232, ad esempio basato su MAX232. Costruire questo adattatore non è alla portata di tutti; è possibile acquistarlo, ad esempio su ebay, ma costa da 17 a 26 euro compresa la spedizione, a seconda che lo vogliate alimentato a 5 o 3 volt, da montare o già montato. La versione a 3 volt è più cara ma è comoda perché la potete alimentare direttamente usando la Fonera. Costruirla da se' invece costa intorno ai 5 euro (1 euro di condensatori, 1,50 euro per il max232, 50 cent per il connettore seriale, un paio d'euro per una schedina mille-fori).
None entriamo nei dettagli (almeno per il momento) della costruzione, ci limitiamo a raccogliere le informazioni necessarie.
Materiale:
Schema di collegamento max232, vedere la pagina 17 del PDF.
| Il risultato finale: | |
|---|---|
| |
Per verificare che l'adattatore funziona senza connetterlo alla Fonera: collegatelo al PC, collegate tra loro TX e RX sul lato TTL/Fonera, aprite il vostro programma di terminale preferito (in Windows c'è HyperTerminal), selezionate la porta seriale ed impostate come parametri:
velocità = 9600 numero di bit =8 parità = nessuna bit di stop =1 Controllo di flusso=nessuno
Scrivete qualcosa nel terminale: per ogni carattere che scrivete ne verrà stampato un altro identico.
Se, come spesso capita, avete solo alimentatori da due soldi, non stabilizzati o i classici da 9v o 12v, USATE uno stabilizzatore di tensione come LM7805 o LM2931, che non costa una ceppa ed eviterà che possiate bruciare il MAX232.
La Fonera possiede un connettore a 10 PIN, come indicato nella foto che segue, che indica anche i PIN della seriale:
| |
Per collegare l'adattatore TTL/RS232 alla Fonera è stato usato connettore di una vecchia scheda madre, che serviva per collegare le porte USB al case; tuttavia aveva uno dei 10 fori occluso ed è stato necessario riaprirlo (basta un taglia balsa, lo strato di plastica è molto sottile, oppure una micro-punta di trapano da girare con le dita).
Il Max 232 permette di connettere fino a 2 coppie bidirezionali, noi abbiamo usato la coppia 1 (PIN 11-12 e 13-14). Nel nostro caso abbiamo connesso il PIN TX della Fonera al PIN 11 del MAX232 ed il PIN RX al pin 12; occhio che se per caso state usando un cavo null-modem dovete invertire i cavi sul lato RS232 e non sul lato Fonera!
Tanto per completezza: il PIN 13 del MAX232 va sul pin 3 della seriale ed il 14 sul 2; la massa va sul PIN 5 della seriale.
Sulle ultime versioni hardware della Fonera 2200 non c'è più il connettore a 10 pin.
Al suo posto troverete un connettore denominato JP1 a 4 pin posto parallelamente al lato lungo della flash.
Partendo dal lato antenna (e cavo di rete) si hanno in ordine GND, TX, RX e 3.3V. Per il resto si procede come al solito.
(Aggiunto il 31/01/08 by JSfon)
ATTENZIONE: i collegamenti sono in Ordine lato antenna GND TX RX 3.3V (sono diventato matto mezza giornata)
Nota: dipende da come la intendi, è chiaro che il TX della Fonera va collegato all'RX del PC e viceversa. Come ho scritto sopra mi riferisco ai segnali visti dal lato Fonera, come lo scrivi tu sono quelli del lato PC. Se qualcosa non funziona fate prima una prova ad invertire i due segnali, come vedete è facile confondersi.
Abbiamo notato che se collegate la seriale alla Fonera e poi attaccate l'alimentazione ci sono ottime probabilità che non parta affatto. Quindi aspettate almeno 3-4 secondi prima di collegarla al PC.
Se aspettate troppo tuttavia non riuscirete ad accedere al prompt di RedBoot, ma poco male: aspettate che il boot finisca e digitate:
#> reboot
per riavviare il sistema senza togliere l'alimentazione.
All'avvio apparirà questa schermata:
+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
Dopo il boot del sistema operativo (ci vorrà un minuto buono), premendo invio si attiva la shell:
BusyBox v1.1.3 (2006.08.17-19:56+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. _______ _______ _______ | ____|| || _ | | ____|| - || | | | | | |_______||__| |__| |___| Fonera Firmware (Version 0.7.1 rev 1) ------------- * * Based on OpenWrt - http://openwrt.org * Powered by FON - http://www.fon.com --------------------------------------------------- root@OpenWrt:~#
Fatto questo la Fonera è pronta per subire gli esperimenti più rischiosi, perché tramite RedBoot potrete sempre ricaricare un firmware funzionante via TFTP.
NOTA: tenete conto che RedBoot (il bootloader) ed il firmware (Linux) potrebbero impostare due velocità diverse per la seriale; mentre RedBoot usa per default una velocità di 9600, dd-wrt usa 115200: quindi se ad un tratto non vedete più nulla o vedete solo simboli strani, è segno che la velocità di connessione è sbagliata.