Archivi categoria: MODs

Debrick via FonFlash su Fonera 2100/2200

Questo è il metodo più banale per il debrick o aggiornamento della propria fonera.
Esegue, grosso modo, gli stessi comandi dati sulla seriale ma in completa autonomia e attraverso il cavo rj45.

1. Scaricate ed installate la libreria WinCap: http://www.winpcap.org/install/default.htm
2. Scaricate FonFlash da: http://www.gargoyle-router.com/download.php
capture
3. Scarichiamo la versione più recente di dd-wrt per la nostra fonera
4. Riavviamo il pc per consentire la corretta installazione di WinCap

Colleghiamo la fonera al computer via ethernet, ma NON diamo ancora alimentazione.

Da FonFlash

1. Select Firmware Type: -> DD-WRT
2. Select Network Interface: -> la propria scheda ethernet connessa alla fonera
3. Select Firmware Type: -> Diamo il path dell’immagine dd-wrt linux.bin
4. Cliccate su Flash Router Now!
6. No packet… – fregatevene
5. Diamo alimentazione alla fonera… flashing.

Attendiamo alcuni minuti et voilà!
Fonera con firmware DD-WRT

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

Debrick Fonera? Metodi per resuscitarla…

Molti sono i motivi per un debrick: può capitare di installare male una versione di dd-wrt, salta la corrente, un collegamento può uscire fuori, diamo comandi sbagliati etc etc
E senza troppi ringraziamenti ci ritroveremo tra le mani un bel ferma carte.

Oggi vi illustro sommariamente quali sono i metodi più diffusi per il debrick delle fonera.

1. via FonFlash
2. via seriale
3. via jtag
4. desoldering, flashing via spi & soldering

Più si va avanti e più la cosa si fa seria… io li ho provati tutti e 4 su una fonera 2200.
Non vi racconto come sono arrivato al punto 4, ma vi racconto (a grosse linee) di cosa si parla per ciascun punto.

Punto 1: Via FonFlash
Esistono alcuni software che riescono a debrickare la fonera via ethernet senza neanche smontarla.
Il più blasonato è fonflash: FonFlash
Questo permette di flashare la nostra fonera in modo molto semplice senza troppi casini.
In pratica, darà gli stessi comandi del punto 2 ma in maniera autonoma.

Punto 2: Via Seriale
Questo è quello più apprezzato.
Se non avete brickato RedBoot potete entrare nei prompt dei comandi del bootloader della fonera e fare ciò che vi pare in stile “MS-Dos”.
Cancellerete le aree di memoria, uploadderete nuove immagini dd-wrt via tftp e potrete configurare manualmente alcune impostazioni di booting (vedi: fconfig).
Non solo… con questo comando potrete aggiornare anche RedBoot.
Ma ve lo sconsiglio fortemente, perchè se aggiornate male RedBoot passerete direttamente al punto 3 🙂
Il wiki di riferimento è questo: http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing

Punto 3: Via JTAG
Qui le cose si complicano ancora di più.
Esiste un software scritto in linea di comando da un certo Tornato del forum dd-wrt.com.
Questo software si chiama tjtag e lo potete scaricare donando almeno 5$ al creatore: tjtag.com
In sintesi, tramite cavo dlc5/wiggler, vi interfaccerete sul pettinte jtag presente sulla vostra fonera (non più la seriale!).
E, se sarete fortunati, potete: arare tutta la memoria e flashare RedBoot (e non dd-wrt).
In questo modo potete andare al punto 2 e aggiustare la situazione.
Ma, tjtag con me ha fatto cilecca: non mi ha riconsciuto la memoria flash dove risiede il bootloader e dd-wrt, più precisamente la memoria era una: MX25L6405

Punto 4: Desoldering, flashing, soldering.
Questo è il metodo definitivo, dissalderete la memoria e la riprogrammerete con un programmatore SPI esterno.
Per ora l’ho solo dissaldata (e male) e sto attendendo dalla Cina una memoria nuova, il programmatore e l’adattatore.

Di ognuno di questi punti, scriverò (nel tempo) un articolo di approfondimento.

A presto

Flashing con l’IDE Arduino di Optiboot 4.4 su Arduino Nano (e non solo)

Oggi mi è arrivato l’Arduino Nano, una versione ridotta dell’arduino duemilanove.
Stesso mcu (atmega 328p) , stesso ftdi, ma diverso package. Pensavo fosse un pochino più grande ma con mia grande sorpresa è davvero piccolino! Chissà la versione arduino mini quant’è piccolo a questo punto!
Non ho resistito e subito ho montato l’opitboot 4.4 (che è compatibile anche con arduino nano).

Questa volta, per aggirare l’ostacolo della compatibilità dei driver USBasp su Win 7 x64, ho flashato su un secondo pc Win7 x32 usando, però, l’ide e l’usbasp.
Quindi, niente bit bang e collegamenti strani.
Il procedimento è stato molto semplice:

1. installazione dei driver usbasp versione libusb_0.1.12.1
2. collego correttamente l’usbasp all’isp dell’arduino nano
3. modifica dell’ide 1.0 in questo modo:

  • Aprire il file programmers.txt nel path: C:…arduino-1.0hardwarearduino
  • Editare il file e aggiungere queste due righe in coda al file:

usbasp.name=USBasp
usbasp.protocol=usbasp

4. aprire l’ide, selezionare Tools>Boards> Arduino UNO
5. selezionare in Tools>Programmaer> USBasp
6. Tools> Burn Bootloader

Attendere qualche minuto e il vostro arduino nano adesso avrà l’optiboot 4.4!!!

Note:

1. Non dimenticate, però, che da adesso in poi il vostro nano è un arduino UNO a tutti gli effetti, quindi, quando andrete a caricare i vostri sketch, selezionate come target board Arduino UNO

2. Questo stesso procedimento è valido anche per arduino duemilanove, uno, etc etc… per tutte le versioni che hanno l’atmega328p

img20120228151506

Stabilizzatori tensione per auto

Qualche tempo fa vi ho parlato del fatto che volevo mettere alcuni stabilizzatori di tensione nella mia auto in modo tale da collegarvi il tomtom, il cellulare e il telecomandino dell’apricancello.
Non mi andava di utilizzare gli alimentatori per accendisigaro e volevo fare qualcosa di carino che potesse fruttarmi anche un pò di “esperienza”…
…alla fine con un paio di eurozzi avrei potuto risolvere il tutto con qualche cinesata, ma vuoi mettere la soddisfazione di costruire ed imparare qualcosa?

Bene.
La mia idea è questa:

Batteria auto -> alimentatore per pc da auto multi tensione -> 7812 -> Telecomandino apricancello
dal 7812-> 7805 -> Usb da pannello -> TomTom & Android

Note:

1. Non volevo assolutamente mettere il telecomandino direttamente alla batteria, in quanto c’era da mettere in conto l’alternatore. Quando si accellera genera circa 14V… e dare 14V ad un apparecchio che ne vuole 12v… non era proprio il caso!

2. Non potevo mettere il 7812 collegato direttamente sulla batteria in quanto ha bisogno, ovviamente, di più tensione di quanta ne stabilizzi.

Così ho optato di collegare in cascata un alimentatore per pc per auto alla batteria.
Infatti questo genere di alimentatori accettano tensioni in ingresso tra 11v e 14v (perfetto per il mio uso), convertono il tutto in tensioni da 15v 20v 24 etc etc…

Seleziono, ad esempio, 15v che passano al 7812 (opportunamente corredato dai suoi condensatori) che porta il tutto a 12v fissi e puliti.

Questi 12v possono ora andare sia nel telecomandino apricancello (che veniva alimentato con una pila da 12v) nascosto da qualche parte nel’abitacolo che al 7805.

Il 7805 genera una tensione fissa di 5v che porto ad un usb femmina da pannello che metterò da qualche parte nel cruscotto dove, poi, collegherò tomtom o android (senza più dover utilizzare gli alimentatori da accendisigaro!)

Il telecomandino, in seguito, lo nasconderò da qualche parte nell’abitacolo e userò un pulsante normalmente aperto incastonato sul cruscotto, in modo tale da dare i 12v del 7812 e aprirmi il cancello senza doverlo cercare nel portaoggetti!

Per ora è tutto in fase di beta testing:

img20120223222623  img20120223222644 img20120223222749 img20120223222858img20120223222634

Ad ogni modo sconsiglio la serie 78xx in quanto inefficienti e scaldano parecchio, suggerisco un comunissimo stepdown tipo: LM2596

Stabilizzatore tensione per fotocamere

Ispirato da questo articolo: http://www.astropix.it/appunti/canonpower.html
Oggi ho pensato di fare una cosa simile per la mia Nikon Coolpix 4100…

Avevo questa fotocamera pagata un botto di soldi buttata nel cassetto che consumava batterie che era una meraviglia.
Di solito utilizzavo un alimentatore con LM317 (quello di un qualche articolo fa) impostato a 3V e l’alimentavo con un paio di teste di coccodrillo (le clip non gli animali!).
L’unico problema era che lm317 era alimentato a sua volta da un alimentatore a 15v e quando portavo la tensione da 15v a 3v ci potevo cuocere la pasta tant’era caldo l’LM317. Così la fotocamera si spegneva perchè lo stabilizzatore andava in protezione.

Il mio spacciatore di fiducia aveva LM1117 fissi a 3V a 2.50€, mentre un 7805 mi costava 1€…
Alla fine ho optato per un 7805 e un paio di componenti di corredo e ho realizzato lo schema in questo modo:

Elettronica_regolatore_tensione_positiva_fissa

C1: 1000uF Elettrolitico 50v
C2, C3: 100nF
C4: 100uF Elettrolitico 50v

Fonte:

In questo modo, però, ottengo un buon stabilizzatore di tensione a 5v e a me ne servono circa 3v.
Così, in Vout ho messo in serie due diodio 1N100x che mi portano la tensione (0.7*2)-5v = 3.6v.
In questo modo la fotocamera vede la batteria come pienamente carica in quanto supporta le seguenti tensioni: 2.4/3/4.2v
0.9/0.7/0.5A

Il 7805 scaldava un pochino, così ho deciso di metterlo fuori… adesso ho una bella fotocamera da banco!

img20120222185855 img20120222185903 img20120222190000 img20120222190057

Ringrazio Prof. Menniti per i preziosi consigli: http://www.michelemenniti.it/