Archivi tag: flash

Fonera flashata via SPI

Finalmente, ieri sono riuscito a resuscitare la mia fonera.
Il risultato della saldatura non è eccelso in quanto è stata la mia primissima saldatura di un SOP.
Fatte le dovute precisazioni, ho proceduto in questo modo:

Ho acquistato un programmatore specifico per le flash serie 25, è basato su un programmatore già menzionato in questo blog: l’usbasp.
Una volta installati i driver usbasp, e lanciato il tool che il cinese di turno ti allega al giocattolino bisogna fare i dovuti collegamenti.

Io ho proceduto in una maniera un pò grezza ma efficace in quanto la mia flash era una SOP16 e il programmatore flash ha lo zoccolo ZIF 16 diviso in due in modo da programmare due DIP8.

Così ho preso l’adattatore SOP16-DIP16 e l’ho messo sulla breadboard e ho tirato un pò di cavetti direttamente nella ZIF.
Come riferimento ho preso il EN25T80 e ho collegato la mia MX25L6405 seguendo i corrispettivi datasheet.

Fatto questo ho caricato il backup dell’altra fonera (c’è un articolo su questo blog che spiega come fare il backup completo) e l’ho flashato sull’MX.
Il tool prima cancella tutti i settori della memoria e poi flasha il binario.
Alla fine, dopo diversi minuti, ho fatto un compare tra il contenuto della flash e il binario sul mio pc per verificare che non ci siano stati errori… tutto ok!

Per la saldatura ho fatto un pò di schifezze, ma la cosa è venuta funzizonale.
Le piste che avevo rotto le ho resuscitete con un filetto di rame, ho piazzato un pò di flussante e sono andato con il saldatore…

Ho acceso il tutto e… la fonera funziona benissimo!

Un paio di note sono: non ho modificato il dump dell’altra fonera, infatti avranno stesso seriale e stesso MAC address.
Inoltre avranno gli stessi dati di calibrazione dell’apparato wifi… quindi la wifi non è ottimizzata al massimo su questa fonera… anche se, devo ammettere, che facendo un rapido confronto con le altre fonere (controllando i valori rssi degli AP che vedono) la wifi funziona allo stesso modo delle altre…!

Come al solito, un pò di foto:

20120412185445 dscn0544rtdscn0543t20120412211216

Debrick via flashing SPI su Fonera 2100/2200

Quando tutto sembra finito, l’ultima spiaggia è il flashing via SPI.
Questo metodo è quello definitivo, dopodichè, dovete solo buttarla dalla finestra!
Da qualche parte si è menzionato che si può eseguire il flashing via SPI della nostra fonera, ma nessuno ha detto come.
Probabilmente questa sarà l’unica fonte dove illustro come effettuare il flash via spi.

Di cosa si tratta?
Tratteremo la nostra flash come una qualsiasi altro componente elettronico, lo dissalderemo e lo flasheremo con un programmatore apposito.
Questa soluzione non è pericolosa per chi ha dimestichezza, ma per chi non ha esperienza (come me), può creare molte difficoltà.

Le fasi sono queste:

1. Dissaldare la flash
2. Flashare via SPI la memoria (possibilmente nuova) con un programmatore apposito
3. Saldatura

Fase 1:
La nostra flash si trova nella parte sottostante della fonera e spesso ha un etichetta con il numero di serie dell’ultimo firmware fon originale installato.

258736834_e8ed2aa508_o

Ma come dissaldarla senza fare danni come questi (opera mia)?:

IMG_20120308_201016

Ci sono due metodi per fare un servizio pulito:

1. Saldatore ad aria calda, la miglior soluzione: facile, pulito ed indolore
2. ChipQuick
3. Filo di rame passante

Metodo 1:

ChipQuick è un prodotto molto simile allo stagno, si scioglie a basse temperature e si comporta, per certi versi, come l’olio sugli oggetti.
In pratica si appiccica alle pareti dei pin e non si solidifica, rendendo facile la rimozione dell’integrato.
Video:

Metodo 2:

E’ un metodo meno facile ma fa il suo lavoro:
1. Stagneremo nuovamente tutti i pin
2. rimuoveremo gli eccessi con una garza ramata o una pomepetta
3. passeremo un filo di rame sotto la giuntura tra i pin e l’integrato
4. riscalderemo i pin uno ad uno e tireremo il filo di rame sotto i pin in modo tale da staccarli dalle piazzole

Fase 2:
Dopo aver acquistato una memoria nuova (possibilmente uguale alla vecchia) non ci resta altro che riflasharla con un programmatore apposito.
In giro su ebay ce ne sono una cifra!
Ognuno di essi flasha una certa famiglia di memorie e ognuno di essi ha un proprio software per la programmazione.
Tra le tante cinesate e dubbi programmatori io vi consiglio:

1. EZP2010 -> ~30€
2. MiniPro (consigliatissimo!) -> ~50€ http://www.autoelectric.cn/minipro

Cercateli su ebay.

Procuratevi anche un adattatore SOP16 to DIP16 in modo tale da facilitare l’innesto della memoria flash sul programmatore.
Fatto ciò, dovrete usare il software che il cinese di fiducia vi ha dato assieme al programmatore.
I movimenti, grosso modo (dipende dal programmatore) sono sempre gli stessi:

1. Installate eventuali driver
2. Collegate la memoria nell’adattatore che andrà a sua volta nel pettine a leva del programmatore
3. Fate riconoscere la memoria dal software del programmatore

Esempio con MiniPro:

Immagine

4. Caricate un immagine della flash di un intera fonera funzionante [Nota a fine articolo].
5. Flashate

capture

Di solito, nel software di corredo c’è anche la funzione “Compare”/”Verify”.
Usatela per verificare se effettivamente RedBoot è stato installato correttamente confrontando ciò che avete scritto sulla memoria con il file redboot.bin che avete sul pc.

Fase 3:
Risaldare il tutto.
Se siete sicuri che la fase 1 e la fase 2 è andata a buon fine, il grosso ormai è fatto.
I metodi per risaldare smd sono moltissimi e sono molto più facili dei metodi per dissaldare.
Usate flussante di qualità, mano ferma, punta del saldatore non troppo alta e saldate il tutto.

Date alimentazione alla fonera e pregate S. WiFi!

Nota:
Bisogna avere l’immagine di un backup di una fonera con hardware uguale a quella che bisogna debrickare.
In quanto, nella parte finale della flash, oltre al template board config ci sono alcuni dati circa la calibrazione della scheda wifi.
E non è detto che l’immagine che create da una fonera funzionante funzioni anche su quella da debrickare…
Potreste ottenere errori di checksum e una wifi non ottimizzata.

Installare/ripristinare Optiboot su Arduino Duemilanove

Oggi avevo taaaaaanta voglia di installare il “nuovo” bootloader OptiBoot 4.4  sulla mia duemilanove… risultato: brickata e poi debrickata (dubbi??).
Ora cercherò di spiegarvi come installare l’ultima versione del’optiboot sul vostro microcontroller.
Ma cos’ha di così tanto speciale l’OptiBoot?
Prima di tutto OptiBoot è il bootloader nuovo utilizzato dalle Arduino UNO in poi, il link del progetto ufficiale è questo: http://code.google.com/p/optiboot/
Dalla home del progetto leggiamo:

  • Possibilità di scrivere sketch più grandi. Optiboot è grande 0.5k (un quarto più più piccolo rispetto al bootloader del duemilanove) significa che guadagnamo 1.5k di spazio per il codice. Per un totale di 32256 byte
  • Upload degli sketch molto più veloce. Velocità di upload 115200baud
  • Permette di far girare prima i propri sketch senza watchdog.

0. Prima di tutto dobbiamo fare dei collegamenti tra l’FTDI e l’interfaccia ICSP della nostra scheda:

2754610263_7d147df701_o

1. Ciò di cui abbiamo bisogno è l’ultima versione dell’optiboot scaricabile dal sito ufficiale, in particole questo file presente nel file zip: optiboot_atmega328.hex

  • In alternativa, se si vuole ripristinare il vecchio bootloader arduino duemilanove, esso è presente all’interno della cartella: arduino-0023hardwarearduinobootloadersatmegaATmegaBOOT_168_atmega328.hex

2. Ora scarichiamo e unzippiamo il package che ho preparato, da qui:     SCARICAMIII

3. Apriamo avrdude-gui.exe

3. Selezionare avrdude.exe presente nella directory appena unzippataa

4. Come programmer impostiamo: FT232R Synchronous BitBang (diecimila)

5. Device: ATmega328P

6. Command option: -P ft0 -B 4800

7. Impostare i fuse in questo modo:

  • High Fuse: 0xDE per l’OptiBoot 0xDA per la versione vecchia del bootloader duemilanove
  • Low Fuse: 0xFF
  • Extended Fuse: 0x05
  • Lock Bit: 0x0F

Se avete dubbi, potete prendere questi valori direttamente dal’ultima versione dell’IDE e precisamente nel file: arduino-0023hardwareboards.txt

8. Selezioniamo dalla casella Flash l’OptiBoot scaricato e unzippato che desideriamo installare, precisamente: optiboot_atmega328.hex

Dovreste avere una cosa del genere:

catturanh

9. Collegare il cavo USB al pc: led POWER si accende

10. Ora cliccate su “Erase – Write – Verify”

11. Aspettate un pò di tempo: circa 10 minuti.

Ora che è andato tutto a buon fine, provate ad uploaddare lo sketch “blink” nel folder degli esempi, se avete messo l’optiboot ricordandovi di impostare come target board la board UNO.

Se blinka…. avete l’ultima versione dell’optiboot sulla vostra arduino duemilanove!

Se mettete l’optiboot sulla duemilanove ricordate di cambiare le impostazioni dell’ide: ora come target board dovete mettere “Arduino UNO” e NON più duemilanove. OK???

Fonti:
http://dereenigne.org/electronics/arduino/arduino-duemilanove-optiboot
http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html

PS

Declino ogni responsibilità su probabilissimi brick delle vostre schede.

Aggiornamento:

questa è la mia guida che vi permette di aggiornare il vostro Arduino Duemilanove con l’IDE ufficiale utilizzando usbasp: http://blackstufflabs.com/2012/02/28/optiboot-4-4-su-arduino-nano

Wiring della seriale su Fonera 2100/2200

FON è un’organizzazione no-profit spagnola operante nel campo delle comunicazioni wireless nata originariamente come movimento cooperativo.

Nel settembre 2006 viene prodotta la Fonera, una piattaforma hardware/software di proprietà della stessa Fon, dotata di porta ethernet per il collegamento al router ADSL (la Fonera non è un modem ADSL) e di una antenna omnidirezionale rimovibile.

fonte: http://it.wikipedia.org/wiki/FON

Fonera divenne molto famosa in quanto spesso, per pubblicizzare questo movimento, veniva addirittura regalata o venduta a pochissimi euro.

Ciò che rende davvero interessante queste piccoli router è la possibilità di potervi installare firmware open come dd-wrt od open-wrt, entrambi derivati da firmware in uso su linksys wrt54gl.

Questi firmware rendono la fonera molto customizzabile e può essere usata sotto molte configurazioni interessanti, tra le quali la configurazione da repeater.

Oggi giorno si trovano ancora questi oggettini su ebay, ma questa stessa guida, con ogni probabilità può essere utilizzata su gran parte dei router presenti sul database dd-wrt: http://www.dd-wrt.com/site/support/router-database

Infatti basta avere una porta seriale e un convertitore USB-RS232.

Personalmente ho usato un convertitore acquistato per pochi spiccioli su ebay che monta un Silabs CP2102 (fratello scemo dell’ FTDI FT232RL)

miniusb2ttl2323

I collegamenti effettuati sono i seguenti:

PIN CP2102 – Fonera 2100

2 RXD -> Tx

3 TXD -> Rx

4 GND -> GND

1 3,3V ->Vcc

Come si può notare Rx e Tx sono invertiti.

Sotto il pinout del modulo acquistato dalla cina:

pindefinition

Seriale su Fon 2100:

fonserialpinout2100

Seriale su Fon 2200:

Conn_fon2200

Il collegamento finale risulta essere questo:

02042011185

Ora basterà collegare il cavo ethernet tra il pc e la fonera, dare alimentazione e seguire le tante guide che esistono sulla rete:

http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing

http://www.wifi-ita.com/fon/180-flash-fonera-via-seriale-v1.html

http://www.wifi-ita.com/fon/371-flash-fonera-via-seriale-v2.html

Una volta sbloccata ho eseguito altre mod: ventola e seriale leggermente più accessibile