mercoledì 22 luglio 2009

IP-301 reflash via jtag


Mi si è "guastato" il telefono IP. All'accensione compaiono dei caratteri strani sul display e non si avvia. E' il modello IP301 della Perfectone (www.perfectone.net). Ipotizzo che in qualche modo si sia "sputtanata" la memoria flash che contiene il firmware e pertanto risulta bloccato, inutilizzabile. Forse sono stati i fulmini del tifone tropicale dei giorni scorsi...boh. Decido allora di ripristinare il firmware originale che a suo tempo mi ero prudenzialmente salvato.
La procedura è abbastanza semplice per gli "addetti ai lavori" con un particolare ringraziamento a "Franklin Nell'Ano Roosevelt", ai ragazzi che collaborano al progetto Openwrt ed agli sviluppatori del programma che, attraverso la porta parallela, permette il dialogo tramite porta JTAG alla CPU. Quest'ultima è una CM5000 il cui datasheet è reperibile in rete e con un minimo di passione e buona volontà (oltre alla strumentazione adatta) è possibile riscrivere da zero il firmware per migliorarne le potenzialità. Ma, cosa occorre per ripristinare il firmware originale del produttore nel proprio telefono e poter godere appieno di TUTTE le funzionalità che esso offre?
Hardware:
  • Telefono PERFECTONE IP-301
  • Un pc con porta parallela.
  • Un cavo jtag auto-costruito. Per il cavo: Un connettore 25 pin maschio possibilmente con contatti placcati oro (per la porta parallela), filo sottile per wire-wrap di ottima qualita' (facoltative: 4 resistenze da 100 ohm 1/2 watt fasce marron nero marron oro)

Software:
  • un pc con sistema GNU/Linux (io ho utilizzato la Ubuntu 9.04).
  • tjtag

Files:
  • IP301_070105.rom firmware originale (reperibile direttamente dal produttore con tanto di licenza d'uso o usare quello che ci si è salvati dal proprio telefono bloccato senza avviso da un azienda che illecitamente ha truffato impunemente molti clienti senza nemmeno chiedere scusa dell'errore commesso)
  • tjtagv2-1-4_for_Lexra_LX4380_CPU_20090122.zip (da compilare per quel sistema operativo che non voglio più nominare o per linux con un paio di modifiche ai sorgenti)
Il cavo è "semplice" da realizzare. Nel mio caso non ho utilizzato le 4 resistenze da 100 ohm. La porta parallela del portatile (che ho utilizzato), è noto, ha dei livelli di tensione diversi (più bassi) da quelli di un PC (dipende dal modello) e supportano correnti più basse di quelle indicate nelle specifiche. Occorre connettere dei pin della porta parallela ad altri pin del connettore JP10 presente nella mother board del telefono. Per aprirlo ci sono solo 4 viti con testa a croce. Il JP10 è posto "sotto" il processore principale. Sono due file di piazzole da 6 disposte parallelamente. Una di queste è quadrata ed indica il pin numero 1. La numerazione dei pin di JP10 è dispari per la fila superiore (quella con la piazzola quadrata) e pari per quella inferiore che è collegata a massa (quindi tutti i pin 2,4,6,8,10,12). Le connessioni da eseguire sono:
LPT <----------> jtag JP10
2<----100ohm--->3 (DATA0)
3<----100ohm--->9 (DATA1)
4<----100ohm--->7 (DATA2)
13<---100ohm--->5 (SELECT)
17-25<--------->2 (GND)
quindi 5 fili in tutto.

La cosa che può far bestemmiare in dodici lingue è la saldatura nel circuito stampato dei fili che provengono dalla porta parallela. Serve del flussante liquido e dello stagno sottilissimo NON RoHS in quanto fonde a temperatura inferiore ed è più facile da trattare. Temperatura della punta...250-280 gradi circa se si ha la mano svelta. Senza flussante o senza una punta a spillo del saldatore...lasciate perdere. C'è il rischio di bruciare le piazzole e sollevarle dal circuito, costringendovi a provare a saldare i fili direttamente sul microprocessore... anche questa soluzione riservata solo ai malati di mente o agli incapaci, dilettanti, incompetenti. Una buona lente di ingrandimento di dimensioni generose è quasi indispensabile (come la mia, recuperata da un proiettore di lucidi). Nel mio caso è andata bene al secondo colpo. I fili non devono essere più lunghi di 8-10 centimetri e tirandoli per collegare il connettore è facile strapparne qualcuno (oops...succede). La soluzione più "professionale" è quella di avere un connettore maschio femmina del passo previsto, anche se lo sconsiglio. Questa operazione non è cosa di tutti i giorni e pertanto meglio saldare i fili direttamente sullo stampato.

Prima di spippolare il telefono è meglio fare un backup di quello che c'è...non si sa mai.
Per iniziare, nella propria linux box è meglio rimuovere il modulo lp, uccidere CUPS ed HPoj se attivo (driver stampanti HP). Meglio fermare tutto quello che ha a che fare con la porta parallela, moduli e devices personalizzati compresi. Quindi dare i comandi:

sudo rmmod lp

sudo /etc/init.d/cups stop

sudo /etc/init.d/hpoj stop

Collegare il connettore maschio 25 pin alla porta parallela del PC ed alimentare il telefono con l'alimentatore in dotazione all'apparecchio.
Provare se il cavo è ok con :

sudo ./tjtag -probeonly

Se qualcosa non va, il programma vi elenca i motivi. Generalmente, dato che contrariamente alle indicazioni la CPU è compatibile con quella indicata, c'è qualche collegamento sbagliato o qualche saldatura fredda. Controllare con un oculare illuminato prima di procedere è una cosa saggia se non indispensabile. Okkio ai corti!!

Poi il backup del firmware::

sudo ./tjtag -backup:wholeflash

Il backup dura un pò (più di trenta minuti) ed a video è possibile seguire la percentuale di avanzamento sino alla fine. Poi ci si copia nella cartella dove si trova tjtag compilato, il file IP301_070105.rom che va rinominato in WHOLEFLASH.BIN

Quindi si lancia:

sudo ./tjtag -flash:wholeflash

Il programma inizia a cancellare la memoria e poi a scriverci il file. Ci mette una vita, sia a backuppare che a riflaschare. Armatevi di pazienza e mentre aspettate... fate un pò quello che vi pare. Potete anche stare ad osservare i bytes che scorrono sullo schermo, che fa tanto da film di fantascienza...
Alla fine si spegne il PC, si staccano i fili saldati e si rimonta il tutto. All'accensione, digitare nome utente e password di default previste dal firmware originale e tutto magicamente torna a funzionare come prima. Ottimo lavoro di hacking, perfettamente legale e legittimo contrariamente alla connotazione negativa che certa stupida stampa di regime ha dato al termine "hacker".

Il modello in questione è lo stesso noto apparecchio telefonico (ethernet) che viene dato in "omaggio" da una nota azienda. Ne regalano uno per ogni 20 euro circa di ricarica del credito. Circa due anni fa, veniva "regalato" senza avvisare i clienti che l'apparecchio è bloccato, ovvero non permette di usare altri operatori al di fuori di loro. Grazie tante per il mancato avviso, ne avete fregato chissà quanti, maledetti disonesti miliardari. Sono un consumatore, un cliente, e PAGO regolarmente in anticipo il credito che mi serve per lavorare. Perchè questo trattamento?. L'apparecchio è mio, non è in comodato d'uso e pertanto ci voglio fare quello che mi pare. Se voglio mi ri-scrivo il firmware da zero, a mio piacimento e me lo installo come piace a me. E sia ben chiaro, non è illegale. Della garanzia non mi interessa. Se si guasta ci recupero il display e lo uso per altre attività...sono ca**i miei. Vorrei, data l'occasione e spinto dall'euforia della riuscita dell'operazione, mandare a fanchiulo qualcuno:
In primis, bonariamente, quei ragazzini di quel bellissimo forum, che si sono letteralmente cagati addosso dalla paura alla prima minaccia dell'azzeccagarbugli di turno ed hanno cancellato dal forum le istruzioni per sbloccare quegli apparecchi bloccati indebitamente senza avviso ai clienti. Ragaaaaaaaazzi... gli azzeccagarbugli mentono! Se c'è odore di illecito, quelli partono alla grande (per guadagnare) e non preavvisano di certo, tanto meno "bonariamente". Molti avvocati, per ordine dei propri clienti e per l'interesse dei loro padroni, mentono, mentono in aula, mentono davanti ai giudici, mentono solo per interesse...non lo sapevate? Svegliaaaaa!
In seconda istanza, un vaffanchiulo anche agli azzeccagarbugli di quell'azienda. Maledetti pezzenti, prepotenti e bugiardi. Facile minacciare dei ragazzini che permettono il libero scambio di informazioni senza commettere nulla di illegale vero?. Facile ubbidire al padrone (solo per soldi) il quale ha interessi commerciali nel mentire ai propri clienti per i propri profitti vero? Facile favorire chi non reinveste nell'attività e mette in cassa integrazione i collaboratori a progetto, che vengono usati come fazzolettini usa e getta vero?
Per ultimo...giova far notare all'azzeccagarbugli di turno che naviga alla ricerca di garbugli da azzeccare, che in questo post non vi sono dati sensibili di nessuno. La riparazione di un telefono che si guasta è consentita e perfettamente lecita. Ogni eventuale utilizzo delle informazioni qui riportate per commettere illeciti, è da attribuire a chi commette l'illecito stesso. E COMUNQUE, VAFFANCHIULO, IL TELEFONO E' MIO E CI FACCIO IL CA**O CHE MI PARE. Andatevene a fanchiulo, bastardi!.

P.S. hack the planet! Ripeto: hack the planet!

domenica 12 luglio 2009

Batteria portatile - CMB001B (approfondimento)

Chi la dura la vince. Dopo un infinità di tempo passato a "googlare" a causa della mia testardaggine che mi "impedisce" a volte di scegliere le domeniche per un più sano giro in bici, sono riuscito a decodificare i segnali della batteria in corso di analisi. Premetto che ora, sono molto più "preparato" in merito al funzionamento delle batterie al litio. Se vengono caricate con una corrente troppo alta che porta le celle ad un valore superiore a 4,8 volts, si produce ossigeno che essendo infiammabile può provocare esplosioni ed incendi. Se la tensione di cella scende sotto i 2,6 volts, si ha un degrado fisico dell'anodo, per cui la batteria si distrugge irreparabilmente. Il metodo di carica è multi-step. In una prima fase deve essere caricata con corrente regolata sino ad una certa soglia di tensione. Successivamente la carica è in tensione, sopra una soglia predefinita, con conseguente diminuzione della corrente assorbita. Il tutto va controllato con la temperatura, che deve rimanere entro limiti ben precisi in base al valore di resistenza del termistore che in questi casi è obbligatorio ed indispensabile. Si spiega così come mai le batterie al litio necessitano di uno specifico processore e di una memoria che memorizza i valori di soglia (specifici per le celle utilizzate). E' necessario inoltre memorizzare lo stato di carica totale e residua per poter riprendere in fase di ricarica il giusto step. Si spiega inoltre come mai a volte alcune batterie, di cellulari o portatili, esplodono o si incendiano. Una causa potrebbe essere la presenza di valori incongruenti o fuori specifica. La colpa viene quasi sempre addossata alle batterie "cinesi", comunque non originali cui segue sempre la raccomandazione di acquistare batterie originali. Ecco spiegato perchè quando accade, la casa madre richiede sempre il pezzo bruciato od esploso... controllano i dati. Ma se ai primi sintomi di decadimento provo a variare i parametri e far "esplodere" una batteria originale, è probabile che mi venga sostituita in garanzia con tanto di rimborso dei danni conseguenti. Basta solo distruggere l'eeprom e nessuno sarà mai in grado di dimostrare nulla.
Può però accadere che i valori memorizzati normalmente, calcolati a volte per approssimazione in base al firmware implementato e dipendenti dalla temperatura, presentino dei valori incongruenti con l'effettivo stato delle celle. Accade infatti che il portatile (quasi improvvisamente o nel giro di pochissimi giorni) si rifiuti di caricare le celle in quanto la lettura dei parametri suggerisce il contrario. Le celle a mio avviso non sono "guaste", forse presentano una piccola diminuzione di efficienza, ma possono ancora continuare a lavorare per un pò di tempo. Leggendo infatti la documentazione sulla chimica delle batterie al litio, non esiste in letteratura alcuna segnalazione che indichi o spieghi un progressivo e rapido degrado come quello che si riscontra nell'uso quotidiano delle batterie dei computer portatili. Forse c'è un "problema di firmware" e pertanto vorrei provare a modificare i valori di carica - scarica memorizzati nell'eeprom per sperimentare la "resuscitazione" di una batteria dichiarata prematuramente defunta.
Per procedere con la lettura e scrittura dei valori che mi interessano, avrei prima la necessità di decodificarli. Ho trovato nella schedina di controllo, un integrato prodotto dall'azienda Power Smart (purtroppo il sito non risponde), un PS331S il cui funzionamento di principio è visibile in figura, così come la sua piedinatura. E' un processore che controlla lo stato di 4 celle e regola la comunicazione con l'esterno e con l'eeprom. Ecco la descrizione dei pin, in inglese.
PIN # NAME DESCRIPTION
1 SWITCH (Input) Edge triggered input pin typically used for LED activation. May also be used for ‘Sleep Mode’ wake-up comparator input.
2 EE-SCK (Output) External serial EEPROM Clock. Connect to SCK pin on external serial EEPROM. 3 EE-CS (Output) External serial EEPROM Chip Select . Connect to CS pin on external serial EEPROM.
4 VREFT (Output) Reference voltage output for use with temperature measuring A/D circuit . This 150 mV output is the top leg of a voltage divider thermistor circuit.
5 VNTC (Input) Temperature measurement A/D input for use with temperature circuit. This is the mid-point connection of a voltage divider where the upper leg is a thermistor (103ETB-type) and the lower leg is a 3.65K ohm resistor . This input should not go above 150 mV.
6 VCELL1 (Input) Lowest level input for A/D measurement of cell voltages.
7 VASS1 Analog ground reference point.
8 VCELL2 (Input) Second to lowest level input for A/D measurement of cell voltages.
9 VCELL3 (Input) Second to highest level input for A/D measurement of cell voltages.
10 VCELL4 (Input) Highest level input for A/D measurement of cell voltages.
11 VADD (Input) Analog supply voltage input.
12 VSHP (Input) Current measurement A/D input from positive side of the current sense resistor.
13 VSHM (Input) Current measurement A/D input from negative side of the current sense resistor.
14 VASS2 Analog ground reference point.
15 VREG (Output) Used to control an external small signal MOSFET to provide a regulated voltage to the IC . Only required for battery packs with voltages greater than 3.6V.
16 OSCOUT (Output) Oscillator connection for an external low-power 32.768 kHz crystal which provides accurate timing for self-discharge and capacity calculations.
17 OSCIN (Input) Other oscillator connection . (See OSCOUT description.)
18 EE-SO (Output) External SPI serial EEPROM data input. Connect to the SO pin on external SPI serial EEPROM. 19 EE-SI (Input) External serial EEPROM data input. Connected to the SO pin on external serial EEPROM
20 VDDD (Input) Digital supply voltage input.
21 SAFEOUT (Output) Programmable over-voltage and/or over-temperature output. Default non-active output is low (0V)
22 LED4 (Output) Relative or Absolute State-Of-Charge visual display
23 LED3 (Output) Same as LED4 pin
24 LED2 (Output) Same as LED4 pin
25 LED1 (Output) Same as LED4 pin
26 SMB-DTA SMBus Data pin connection.
27 SMB-CLK SMBus Clock pin connection.
28 VDSS Digital ground reference point.
I pin che ci permettono il "dialogo" con la batteria, dall'esterno senza necessità di aprirla, sono il 26 ed il 27, collegati al pettine di connessione esterno assieme al positivo (P+), negativo (P-) e termistore (T), come mostrato nella foto. I pin 2, 18 e 19 invece offrono la possibilità di interfacciarsi via SPI all'eeprom, per operazioni di lettura e scrittura. Occorre programmare un micro o utilizzare un interfaccia compatibile con i protocolli previsti. Il bus-pirate che ho ordinato deve ancora arrivare, altrimenti sarebbe stato un gioco da ragazzi farlo immediatamente.
Per leggere i valori nell'eeprom, non ci sono grandi difficoltà, se non riuscire a saldare dei fili sottili (che non ho per ora) con un operazione chirurgica. Verso l'esterno, il connettore della batteria presenta i soliti segnali che abbiamo già visto con il primo post sulla batteria alla quale è stata fatta la radiografia. Oltre ai poli positivo e negativo, il terminale del termistore (per la misura e monitoraggio della temperatura, ed il segnale SMBUS (vedi foto). Per complicare la vita ai tecnici "faidate" (DIY do it yourself) il produttore ha sdoppiato il piedino di massa, mentre gli altri sono sempre i soliti (T,D,C). Nella prossima batteria che andrò ad analizzare, i punti di contatto sono 11 ma ho il sospetto che molti di essi siano sdoppiati solo per confondere (inutilmente) gli hackers. Bene. Ora manca solo l'organizzazione dei dati nell'eeprom per verificare se la mia teoria è esatta. Mi sa che avrò bisogno di tuffarmi in qualche forum specializzato per cercare qualche dritta utile. Alla prossima.

P.S. Piove dove serve. Ripeto: Piove dove serve.

sabato 11 luglio 2009

Batteria portatile - CMB001B

Questo post è in corso di aggiornamento. Potrebbe contenere informazioni non corrette. Stay tuned for further updates.
Stavolta ho aperto una batteria di un computer portatile Compaq P700, per proseguire le indagini, approfondimenti e ricerche in merito all'elettronica di controllo delle celle. Il modello della batteria è CMB001B, un elemento da 14.8V e 3.6Ah (Compaq part number 246437-001) con celle coreane assemblate a Taiwan e compatibili con i Compaq modelli CM2090 e CM2130. Il contenitore plastico non è particolarmente critico da aprire, a anche se occorre inevitabilmente romperlo un pò. Le due parti sono agganciate con due clips su ciascun lato lungo ed una per ciascun lato corto in posizione centrale. I bordi sono saldati non tanto tenacemente ad ultrasuoni e le celle all'interno sono tenute al loro posto con del bi-adesivo sottile. Otto celle, LG Chem made in Korea sono collegate in una serie di 4 coppie in parallelo fra loro, ciascuna da 3,7 volts. Per ogni coppia di celle in parallelo, è collegato un filo che entra nella scheda di controllo, probabilmente per misurare i valori di carica - scarica o per poterle caricare coppia per coppia. Potrò essere più preciso solo dopo l'analisi approfondita del circuito. Al polo positivo è collegato un fusibile mentre il termistore di controllo temperatura è incollato in prossimità dell'elemento intermedio alla serie. Su ogni cella è stampigliato un numero diverso in calce ad un codice a barre. Due codici, sono impressi a punti di inchiostro direttamente sull'involucro di ogni cella ma, a causa della bassa risoluzione, risulta difficile individuare le differenze fra una C una D o uno zero, mentre a volte il 2 sembra un 8. Confrontando le varie sigle, dovrebbero essere CCD0011102 e CAD0C30302 e si può supporre che rappresentino il codice della cella per un eventuale ricerca e riordino dei ricambi.
elettronica batteria compaqIl pettine di connessione presenta 6 contatti, ma sfortunatamente non esiste alcuna indicazione in merito al loro significato. L'elettronica risiede su un unica scheda che alloggia anche il pulsante di visualizzazione dello stato di carica ed i 4 led corrispondenti.
Cobra Ver.G2 sembra essere l'unica sigla dello stampato che alloggia due integrati interessanti siglati 1511414C e 25LC040. Il primo è sconosciuto, non si riesce di trovare il datasheet, mentre il secondo è un SPI bus serial (Simple Serial Peripheral Interface ) eeprom (electrically erasable PROM) da 4Kbyte con SCK (clock) ed uscite separate SI ed SO. E' sicuramente lì dentro che sono memorizzati i valori che vorrei leggere, solo che in mancanza dei dati del processore, è particolarmente difficile comprenderne il significato. Proverò ad approfondire la ricerca e controllare il logo del produttore stampigliato per verificare se nel suo sito è possibile reperire qualcosa... la ricerca continua, alla prossima.

P.S. Il riso è cotto. Ripeto: Il riso è cotto.

venerdì 10 luglio 2009

Batteria portatile - BTP-331

Dal mucchio di hardware in attesa di essere analizzato, stavolta ho pescato una batteria di un computer portatile. Un Extensa 335 ormai pensionato, ma che presto tornerà in attività grazie ad alcuni "magheggi" in corso di studio. Ha in dotazione una batteria al Nikel Metal Hydride modello BTP-331 da 8.4 volts e 3500mA. La batteria sembra defunta, si carica in due minuti e si scarica in due secondi...così almeno sembra. Dico così perchè mi risulta che le soglie di carica e scarica, oltre ad altri dati, sono scritte in una eprom al suo interno. I dati contenuti, sono scritti dal PC, attraverso un collegamento SMB (simile all'I2C) presente nel pettine di innesto nel suo alloggiamento. Il PC conta le accensioni e stima lo stato di carica della batteria. Con il tempo e con l'utilizzo frequente i dati vengono stimati ed aggiornati continuamente. Il problema è che a furia di stime successive, l'errore relativo si somma ad ogni calcolo, producendo alla fine la presenza di dati che a mio avviso sono errati. E più o meno lo stesso problema del PC che segnala una cartuccia vuota quando si sa che è piena. Ho il sospetto che si tratti di un errore del firmware progettato per la soddisfazione del produttore quando riceve la richiesta di acquisto di un nuovo pacco. Credo, ho il sospetto, che la batteria sia in grado di essere utilizzata per un tempo più lungo di quanto stimato dal produttore e pertanto vorrei provare a leggere il contenuto dell'eprom e provare a scriverci dentro. Questa è l'intenzione. Per procedere, ho la necessità di capire il tipo di chip contenuto all'interno della batteria e quindi ho la necessità di aprirla. Spesso gli involucri plastici delle batterie sono saldati ad ultrasuoni (non incollati come spesso si crede, a meno che non siano fatte in "cina"). Per aprirli occorre munirsi di pazienza, un dremel con disco diamantato (+ preciso) e lo schema interno della batteria. Dato che quest'ultimo non è mai disponibile, dato che vorrei evitare di danneggiare i circuiti interni ed anche le celle, dato che comunque se ho torto devo sostituire le celle, ho bisogno, prima di aprire il tutto, di capire com'è fatto l'interno. L'unico modo che conosco è fare una radiografia. Una rapida googlata ed il centro radiologico più vicino riceve una mia richiesta di appuntamento. Lasciamo perdere lo stupore dell'infermiera e del dottore quando ho presentato "...l'inusuale oggetto inanimato da sottoporre ad analisi...". Sono comunque stati disponibilissimi a ricevermi fuori orario di ricevimento del pubblico e sperimentare un metodo mai tracciato in precedenza. Dopo vari studi e prove, metodi di fissaggio degli oggetti (biadesivo, polistirolo e nastro da pacchi) abbiamo optato di utilizzare il macchinario per la radiografia degli arti superiori, calibrato alla potenza di 60Kv per 0.32 secondi (il minimo disponibile) su una lastra 24X30cm
L'analisi dei risultati (ad oggi non completi ed a cui seguiranno altri esperimenti) ha rivelato alcuni particolari interessanti. La batteria in questione contiene 7 elementi ciascuno da 1,2 volts, collegati come si può notare chiaramente, in serie. La radiografia conferma quello che già si sapeva dall'etichetta, ovvero il polo positivo e negativo del pettine di collegamento. Esistono in questo modello altri tre punti di connessione contraddistinti dalle lette T, D, C. La lettera T indica il termistore, l'elemento grazie al quale si può misurare la temperatura della batteria ed intervenire in caso di innalzamento della stessa. In breve è una resistenza il cui valore varia al variare della temperatura. Il PC "dialoga" con questo terminale e prende i necessari provvedimenti atti ad evitare disastri. Le notizie di batterie che esplodono o prendono fuoco sono probabilmente elementi che all'interno riportano dati di ricarica eccessivi e fuori specifica, per cui c'è da aspettarsi la presenza di valori di soglia anche per il sensore di temperatura. Dalla radiografia, sembra che il termistore non sia previsto all'interno, sembra che manchi il filo e per scoprirlo, si potrebbe tentare di misurare la resistenza verso massa. Se non si misura nulla, allora il termistore non c'è. I terminali C e D fanno parte del protocollo I2C (Clock SCK e Data SDA), trasmissione seriale su un filo. La scheda dati sembra nascosta sotto l'ultima batteria verso massa. Per scoprirlo, sarebbe necessaria una radiografia tomografica assiale... con troppe complicazioni per calcolare la distanza dell'asse che si vuole individuare (e lievitazione dei costi connessi).
Il pettine che si vede a destra fa parte di un altra batteria (prossimo post con altra analisi) e non c'entra nulla per ora, se non il fatto che conta più terminali di quelli previsti in questo modello. In queste condizioni e con queste informazioni, potrebbe essere possibile collegare i terminali C e D ad un micro e leggere i dati memorizzati utilizzando il protocollo standard. Per capire il significato dei dati letti e scrivere eventualmente i nuovi, occorre comunque smontare la batteria, trovare il datasheet dei componenti elettronici all'interno e decodificare il valore di ogni singolo byte, dato che con molta probabilità esiste un circuito dedicato. Con un pò di "fortuna"... Dato che di batterie ne ho, posso sacrificarne una per la scienza e riportare a nuova vita le altre. Dalla foto si vede poco (scannerizzazione artigianale del post precedente) ma si possono individuare i bordi plastici dell'involucro e scoprire che non c'è molto spazio per affondare il disco di taglio...occorrerà un taglio moooooolto preciso... La ricerca prosegue. Alla prossima.

P.S. Più e meno poi collegare il polo. Ripeto: Più e meno poi collegare il polo.

Prove tecniche di scansione

Per ora non posso sbilanciarmi sui motivi che mi spingono ad effettuare queste prove, in vista di un hack spinto oltre i limiti dell'immaginazione. Diciamo solo che per ora devo scannerizzare delle radiografie e mi manca lo scanner appositamente realizzato per questo scopo. Come fare per scannerizzare delle radiografie realizzate su lastra? Ho effettuato alcune prove. La scannerizzazione dei trasparenti (i gel) richiede che la lampada scanner venga illuminata da una lampada man mano che avanza. Alcuni modelli di scanner montano nella parte superiore un carrello che si muove in modo sincrono al sensore. Il carrello superiore illumina il gel trasparente in modo che il sensore possa acquisire la lastra trasparente. Alcuni modelli di scanner hanno l'opzione per i trasparenti, ma dato che sono solitamente utilizzati in ambito grafico o medico, per quest'ultimo motivo costano un occhio della testa. Occorre pertanto arrangiarsi come meglio si può. Il primo tentativo (foto1) è frutto di un ragionamento. Se riesco a riflettere la luce della lampada dello scanner, dovrei ottenere l'effetto desiderato. Allora ho provato con uno specchio con risultato deludente. La lampada dello scanner è troppo debole, viene riflessa poco ed il risultato è chiaramente visibile. Serve più luce. Gli apparecchi professionali hanno in dotazione delle lampade a ccfl.
Allora ho pensato di appoggiare alla lastra una lampada, una pila o una sorgente luminosa abbastanza forte. Ho usato l'illuminatore a lente che uso per le ispezioni dei circuiti. Risultato deludente (foto2). I led, oltre a non emettere una luce uniforme, emettono una luce troppo forte per il sensore e si notano delle "chiazze" sovra-esposte. Allora ho pensato fosse sufficiente la luce ambientale (foto 3).Il mio scanner è posto sotto una finestra lato ovest, non direttamente colpita dalla luce del sole al mattino. Procedo con la scannerizzazione lasciando il coperchio dello scanner aperto. Risultato deludente in quanto la luce ambiente è sempre troppo forte e va attenuata in qualche modo. Occorre una schermatura opaca, che lasci passare la luce al livello "giusto"Allora, sempre con il coperchio aperto, appoggio sopra la lastra un foglio di carta bianca... et voilà, funziona. Non sarà il massimo del dettaglio a causa della granularità della carta utilizzata, ma per i miei scopi è più che sufficiente. Alla prossima.

P.S. Il monocromo è velenoso. ripeto: Il monocromo è velenoso.

giovedì 9 luglio 2009

e-scooter - una "moto" elettrica

Gira e rigira, si incappa sempre in qualcosa di reso inutile da questa assurda mania di comprare e gettare. Tempo fa la mia compagna, per fare un regalo al figliolo, ha acquistato uno scooter elettrico. Non so il motivo che l'ha spinta a farlo. Ho preferito "sgridarla" senza chiedere spiegazioni. Il commerciante, tra l'altro, non si è premurato di avvisare che questi veicoli, per circolare per strada, hanno bisogno di bollo ed assicurazione, Lo so, la legge è stupida, fatta da stupidi per soddisfare le lobby di stupidi. Così, se vi va di contribuire a migliorare la qualità della vita e dell'ambiente a vantaggio di tutti, mettete in preventivo che occorre pagare i soliti pochi approfittatori.
A nulla comunque sono valse le proteste ed i tentativi di renderlo per avere indietro i soldi. Così, dopo i primi due kilometri in centro, il pupo si impaurisce per un eventuale multa e l'aggeggio viene appoggiato al muro del garage, ad occupare inutilmente spazio prezioso, arrugginire, prendere polvere e deteriorarsi inesorabilmente (vedi foto). Circa 250 euro buttati nel cesso nonostante le bollette arretrate ed i debiti che si accumulano... il consumismo fa brutti scherzi. Nel frattempo il pupo perde la chiave di accensione, la chiave di chiusura del vano batterie, rompe il porta fusibile, crepa la plastica del cruscotto... lasciamo perdere che l'elenco è lungo. Alla fine mi sono offerto di portarlo via, con l'idea di farci non so cosa, ma un motore elettrico fa sempre comodo così come due batterie ed il circuito di regolazione. L'ho smontato pezzo per pezzo, sempre spinto dalla curiosità di vedere com'è fatto.
Lo scooter elettrico in questione è di fattura cinese, con carrozzeria di plastica scadente molto fragile (presumo per risparmiare sul peso). I collegamenti elettrici sono pessimi così come il cablaggio ed i percorsi dei fili. La dotazione elettrica comprende fanale anteriore, fanalino di stop, frecce di direzione, clacson, cruscotto a led per monitorare la velocità ed il voltaggio della batteria, barra a led per lo stato di carica. La parte meccanica è rappresentata da ruote piccole a camera d'aria, cavalletto, freno posteriore a tamburo, ed un telaio in ferro, pesantissimo, per sorreggere il peso concentrato sul pianale e sul sellino. I cuscinetti dello sterzo si sono rivelati una vera ciofeca, con l'anello reggi-sfere andato completamente nonostante l'uso limitatissimo. Ruggine dappertutto che rivela una verniciatura e cromatura insufficiente, fili elettrici fissati col biadesivo che dopo un pò non attacca più... una vera "cineseria" assemblata in qualche baracca "cinese" in riva ad un fiume "cinese" per un pugno di riso alla cantonese. Credo che il commerciante, un vero "mago" del furto, dopo averlo venduto si sia fregato le mani soddisfatto in quanto non credo lo abbia pagato più di 50 euro. Ed ora? che ci faccio? Una carriola? un monopattino ? Magari posso recuperare il motore per un progetto eolico, giusto per qualche esperimento. Due batterie vanno sempre comode. Il circuito regolatore e la manopola di accelerazione... forse trasformo una bici normale in bici elettrica a pedalata assistita, così posso circolare tranquillamente senza timore di essere fermato dal solito vigile idiota in vena di far rispettare l'ennesima stupida legge.
Comunque, ecco l'elenco delle caratteristiche elettriche:
  • Motore in CC da 24 volts 14 ampère 250Watt Marca Hong Yuan Co. ltd mod. MS1020
  • due Batterie in serie da 12 volts cd, 24 Ah Marca Homer Mod. 6 DHM-12
  • Un regolatore San Chuan e-scooter controller pre-assemblato Marca San Chuan Electronics Co. Ltd, Mod. e Seriale illeggibile, appositamente progettato per pilotare motori per bici elettriche
  • Una manopola a potenziometro (R da misurare)
  • Fanale, stop e frecce con lampadina ad incandescenza da sostituire eventualmente con la fanaleria a led per biciclette, sicuramente più efficaci.
  • Indicatori a led per stato di carica e corrente (da analizzare più a fondo)
Tutto materiale da ri-utilizzare. Quasi dimenticavo... c'è anche il caricabatteria, speriamo regolato in corrente. Alla prossima.

P.S. Roberto va in montagna. Ripeto: Roberto va in montagna.

venerdì 3 luglio 2009

Fake Security Camera

Ogni tanto, un giro al brico me lo faccio, anche se è in vigore lo sciopero della spesa. Stavolta la curiosità mi ha spinto ad acquistare due telecamere di sicurezza... finte. Sono degli aggeggi che costano dai 10 ai 20 euro, che secondo il produttore dovrebbero servire come deterrente per i ladri. C'è da ridere, in quanto si nota lontano un miglio che sono finte telecamere. Per aumentare l'impressione che siano vere, all'interno è installato un sensore di movimento, un motorino che le fa muovere come se qualcuno le stesse manovrando ed un led rosso che lampeggia durante il movimento....Prese! Premetto che considero molto stupido installare questi giocattoli in casa. Primo, non servono a nulla e non scoraggiano certo i ladri che conoscono migliaia di trucchi per disattivare o rendere inefficace un impianto di videosorveglianza. Secondo, possono indicare come il proprietario debba proteggere qualcosa o tema di essere derubato, trasformando l'abitazione in qualcosa di più appetibile per i topi di appartamento che così possono intuire come ci sia qualcosa di valore che val la pena di rubare. Terzo....sono ridicole! Le ho prese con l'idea di trasformarle in vere telecamere, sfruttando i meccanismi di movimento (sicuramente da modificare) e il contenitore per un operazione di retrofit ovvero di ri-utilizzo (i contenitori "professionali" costano un occhio). Allora ho provveduto a smontarla per vedere com'è fatta. Viti autofilettanti a non finire, da togliere con una sequenza precisa ed ecco il contenuto.
L'obiettivo è un coperchio "cieco" di plastica la cui forma ricorda un obiettivo con lenti e ghiera di messa a fuoco. L'interno si può svuotare per alloggiarci una telecamera a spillo e non dovrebbe essere difficile trovare un ottico in grado di tagliare un paio di lenti per una messa a fuoco con focale fissa.
Un moto-riduttore collegato ad una puleggia che scorre su un intaglio della base, permette un lento movimento destra - sinistra ( circa 30-40 gradi) del corpo principale solo sull'asse orizzontale. Il meccanismo è recuperabile, mentre sarà necessario pensare ad un ingranaggio che permetta un movimento più ampio, oltre ad aggiungere un "servo" per l'asse verticale.
Un led rosso lampeggia al movimento, mentre un altro led "credo" ad infrarossi è il sensore di movimento che entra in funzione quando cattura delle variazioni nel raggio di 3-4 metri (insufficienti decisamente)
Il circuito è rappresentato da una basetta con un microprocessore affogato nella solita goccia di resina nera, giusto per nascondere un "segreto industriale" ed "impedire" che qualcuno possa copiare un "idea" tanto semplice quanto banale da realizzare in proprio. Il mega-firmware implementato dall'ingegnere di turno, misura la variazione del sensore ed alimenta per 10 secondi il motorino, "addirittura" facendo lampeggiare un led rosso!! Incredibile come possano esistere dei geni in grado di ideare e progettare cotanta tecnologia avanzatissima. Strano che non abbia pensato di isolare i terminali del led, che penzolano in aria col rischio di andare in corto in fase di assemblaggio. Strano che non si sia provveduto ad un controllo qualità nel realizzare le stagnature che appaiono connesse per miracolo. Strano...vabbè..scherzo ovviamente. Lo spazio all'interno sembra sufficiente per inserire un circuito in grado di trasformare l'involucro un una vera telecamera di sicurezza, magari azionabile con movimenti di tilt e pan, connessa in rete e perché no... wireless, con tanto di illuminatore con led ad infrarossi. Per i servomeccanismi, ho sentito un appassionato di aeromodellismo che è possibile costruirseli...devo informarmi meglio e sto pensando di utilizzare dei motori stepper da floppy. Per le lenti nessun problema, ammesso che possono servire solo per ingrandire o mettere a fuoco nel caso si utilizzi dei sensori CCD privi di ottica. Per il momento metto da parte il tutto, pensando d utilizzare il circuito rinvenuto all'interno per qualche applicazione (un allarme?) sostituendo il motorino con un relè che azioni delle luci... magari delle luci scala che devono restare accese solo per il tempo necessario. Alla prossima.

P.S. Occhio non vede, cuore non duole. Ripeto: Occhio non vede, cuore non duole.