Nokia 9303 e Strong SRT8000

Guida all'upgrade e note tecniche

 
     DISCLAIMER
   

Tutte le informazioni contenute in questo documento sono frutto di prove e studio di altri documenti e discussioni su forum italiani e principalmente spagnoli. Le informazioni sono alquanto lacunose in quanto manca una documentazione ufficiale e, proprio per questo motivo, non esistono garanzie sull'esito delle operazioni descritte. Alcune procedure potrebbero danneggiare il decoder costringendovi a ricorrere all'assistenza. Il sottoscritto declina quindi ogni responsabilità.

   
AndreMales
pippopluto@hotmail.com
Night Ranger
nightranger@libero.it

 
   Sommario
   

1. Introduzione
      1.1 Il Decoder
      1.2 I Cavi
      1.3 I Programmi

2. Come operare
      2.1 Primi passi
      2.2 Individuare i casi pericolosi
      2.3 Ultimare i preparativi

3. Al lavoro
      3.1 I diversi firmware
      3.2 Installare un nuovo firmware
      3.3 Editare la lista canali

4. Descrizione dei programmi
      4.1 Loader 2000
      4.2 Ed8000 v.1
      4.3 Ed8000 v.2
      4.4 Nokia Tools
      4.5 Quieres Cafe

5. Modifiche al firmware
      5.1 Usare un editor hex
      5.2 Media Highway e strumenti
      5.3 MHW Studio

6. Risoluzione dei problemi
      6.1 Decoder Bloccato

7. Link

   

   1. Introduzione
   
1.1 Il Decoder

Sebbene esteriormente diversi, il nokia 9303 e lo Strong SRT8000 hanno al proprio interno lo stesso cuore, una CPUL64108 e due memorie flash indicate come A120 e BFC0 (in quanto corrispondenti rispettivamente alle locazioni di memoria A1200000-A12FFFFF e BFC00000-BFCFFFFF). Le informazioni valgono quindi per entrambi i modelli di decoder. Le operazioni possibili con questi modelli sono l'aggiornamento del firmware e la modifica della lista canali tramite PC, operazioni fino a poco tempo fa possibili sui più blasonati decoder CI come Humax e Nokia MM.

Immagine presa dal documento Strong Basico del Dead Cafe Team

Torna all'indice

   

   
1.2 I Cavi

I cavi necessari sono due, uno a 9 poli M/F (figura 1) e uno a 25 poli M/M (figura 2) entrambi pin-to-pin (o diritti), non usate cavi detti null-modem o laplink o incrociati. Si trovano normalmente in commercio, anche nei centri commerciali o ipermercati e il costo può variare dai 5 ai 15 €. Nel caso in cui voleste costruirveli o voleste conferme, lo schema dei cavi è il seguente:

Figura 1
Figura 2


Per le prime prove è sufficente il semplice cavo seriale. Il cavo parallelo serve quando si vogliono inviare dati dal PC al decoder.

Torna all'indice

   

   
1.3 I programmi

Spesso le operazioni descritte possono essere svolte in diversi modi. Dove possibile cercherò di descrivere la procedura più semplice.
I programmi utilizzati, che in seguito descriverò brevemente, sono i seguenti:
HyperTerminal, fornito con Windows con il quale si possono verificare già alcune cose prima di scaricare gli altri programmi, ED8000 e Nokia Tools che permettono di operare sul firmware e gestire le liste canali e Quieres Cafe per operare sul firmware. Sebbene gli altri programmi permettano di fare l'upload del firmware, un altro programma da avere è il loader disponibile al sito della Strong sotto support->SRT8000.

Torna all'indice

 

   2. Come Operare
 
2.1 Primi passi

Allora, come già detto, per le prime prove ci affidiamo a Hyper Terminal, così evitate di scaricarvi gli altri programmi nel caso decideste di non operare. Gli stessi dati possono essere reperiti molto più semplicemente con il loader disponibile al sito della strong. Basta impostare la porta seriale (com) tramite il menu e mettere il decoder in modalità CHA.

Prendete il vostro decoder, portatelo nelle vicinanze del computer (potete staccare il cavo del satellite, tanto non serve) e collegate l'alimentazione e il cavo a 9 poli.

Aprite il programma, che dovrebbe essere sotto Accessori->Comunicazioni e create una nuova connessione e chiamatela Decoder.


Alla finestra successiva vi viene richiesto il tipo di connessione. Per default è impostato il modem, ma alla voce connetti è possibile scegliere l'opzione "direttamente a COM?:" dove ? è il numero della porta di comunicazione alla quale avete collegato il cavo a 9 poli.

La finestra successiva serve per settare i parametri di comunicazione che sono 38400,8,N,1,N come illustrato in figura.

A questo punto, cliccando su OK sarete già connessi alla porta COM. Non vi resta che mettere le mani sul pannello posto sul frontale del decoder e premere contemporaneamente il tasto di accensione assieme ai tasti PERS e > (freccia destra) in modo da entrare nella modalità di servizio (CHA) del decoder e avviare la comunicazione decoder-PC.
In base alla risposta ottenuta si possono identificare diversi casi e l'eventuale pericolosità delle operazioni successive. Una risposta tipo è la seguente:

boot_LIBDAT_ECP_1.6.5(DA3IB_VENTE_V29.1)
FLASH ADR=bfc00000 M29W800B
FLASH ADR=a1200000 M29W800B
FLASH ADR=a1300000 (90,90) non reconnue
debut de transfert parallele
attente negociation:

Vediamo di interpretare correttamente i dati. Nella prima riga possiamo identificare la versione del boot (1.6.5) e la versione del firmware installato sulla macchina (DA3IB_VENTE_V29.1). Le due righe successive indicano le eprom installate. La terza, relativa alla flash A130, è relativa ad una espansione di memoria installabile, utilizzata come backup di sicurezza del firmware.

Se, come versione di boot ottenete la 2.x.x, il vostro modello è l'equivalente di uno SRT8100 e le informazioni contenute in questo documento non sono valide in quanto l'hardware è differente. Esistono già alcuni firmware alternativi per questa macchina ma non avendone una a disposizione non voglio fornire informazioni di seconda mano. Se qualcuno volesse curare la sezione di questo documento relativo a questa macchine è il benvenuto.

RISOLUZIONE DEI PROBLEMI:
Sul terminale non c'è risposta dal decoder:

Decoder: Controllare che sul display sia apparsa la scritta CHA
Cavi: Assicurarsi che i cavi siano pin to pin e siano cablati tutti i pin.
PC: Provare a collegare il cavo sulla seconda porta seriale (se disponibile).
PC: Provare a cambiare l'impostazione della porta COM nel programma.
PC: Provare dal pannello di controllo differenti velocità della seriale (da 9600 a 115200).
PC: Terminare con CTRL+ALT+CANC l'applicazione Rnaapp se presente nella lista.

Torna all'indice

   

   
2.2 Individuare i casi pericolosi

Se come memorie A120 e BFC0 vengono riconosciute i modelli M29W800B o AM29LV800B potete procedere tranquillamente, in quanto non ci sono rischi.
Nel caso in cui le memorie in BFC0 siano identificate come LH28F800BVE, come nel caso seguente:

boot_LIBDAT_ECP_1.6.5(DA3IB_VENTE_V29.1)
FLASH ADR=bfc00000 LH28F800BVE
FLASH ADR=a1200000 LH28F800BVE
FLASH ADR=a1300000 (90,90) non reconnue
debut de transfert parallele
attente negociation:

è necessario procedere con molta cautela. Potete provare lo stesso ad editare i canali, ma mai e poi mai provare a installare un firmware dfferente da quello che avete sulla macchina senza essersi assicurati, con programmi come ED8000 o Nokia Tools, che il boot sia sprotetto. Normalmente i firmware non ufficiali, vengono distribuiti con il settore di boot protetto per motivi di sicurezza e questo, sulle altre memorie non costituisce un problema. Sulle memorie LH28F800BVE, se il boot viene protetto, quel settore (BFC00000) verrà sovrascritto con altri dati successivi bloccando il decoder e, a meno che non siate esperti nel campo dell'elettronica (dissaldare la eprom e riprogrammarla), vi costringerà a ricorrere al centro di assistenza; è' infatti il blocco di boot che si occupa di gestire l'avvio del decoder e le routine di trasferimento del firmware.

Se le memorie in A120 non sono riconosciute, e avete un output come questo:

boot_LIBDAT_ECP_1.6.5(DA3IB_VENTE_V29.1)
FLASH ADR=bfc00000 M29W800B
FLASH ADR=a1200000 (b0,4a) non reconnue
FLASH ADR=a1300000 (90,90) non reconnue
debut de transfert parallele
attente negociation:

l'unico tentativo è quello di provare ad aggiornare il bootblock utilizzando il firmware gbfc0_da3ned3.bin per cercare di identificare il modello della eeprom. Lanciando questo aggiornamento, se ottenete un output del genere:

boot_LIBDAT_ECP_1.6.a(DA3NED_VEN_V20.3)
FLASH ADR=bfc00000 M29W800B
FLASH ADR=a1200000 LH28F800BVE
FLASH ADR=a1300000 (90,90) non reconnue
debut de transfert parallele
attente negociation:

siete a posto e potete procedere tranquillamente.

Spendo due parole per la memoria A130 ... all'interno del decoder c'è uno slot per una terza flash. Il Dead Cafe Team ha pubblicato un documento relativo all'uso di tale slot come espansione di memoria su cui far risiedere un secondo blocco di boot, da utilizzare nel caso in cui il primo venisse corrotto. Con le memorie LH28F800BVE in BFC0 se non si presta attenzione al blocco di boot si corre il rischio di sovrascriverlo con dati errati, e, comunque, in qualsiasi caso, se il processo dovesse bloccarsi proprio in quei pochi secondi in cui viene scritto il settore di boot, il decoder sarebbe danneggiao irrimediabilmente.

Torna all'indice

   
 
   
2.3 Ultimare i preparativi

Se, arrivati a questo punto, avete deciso di andare avanti, non vi resta che collegare anche il cavo parallelo a 25 poli e impostare il sistema. Con il solo cavo seriale, data la velocità di questa interfaccia, l'upload sarebbe lunghissimo.
Dalle impostazioni del bios, accessibili all'accensione della macchina va impostata la modalità di trasferimento ECP+EPP (su alcune macchine potrete trovare solo ECP) per la porta parallela. Il modo di impostare questo dato varia da computer a computer, a seconda del bios installato sulla vostra macchina. Normalmente vi si accede all'accensione, quando vengono controllate le memorie e i dischi, premendo CANC o F1 (su alcune macchine possono essere altri i tasti) e poi, navigando nei menu proposti bisogna trovare l'apposita funzione. Nel mio bios Award ad esempio si trova sotto XXXXXXXXXXXXXXXXX.
Il passo successivo, una volta riavviato windows, consiste nell'installare il driver di stampante generica/solo testo. Questa operazione è necessaria per garantire che i dati inviati dai programmi non vengano manipolati dal driver di stampa ma arrivino al decoder così come sono.
Per installare la stampante, cliccare su Avvio -> Impostazioni -> Stampanti e, cliccare nella cartella apertasi sull'icona Aggiungi Stampante. Il passo successivo consiste nello scegliere la stampante Generica - Generica/Solo Testo come indicato in Figura.

La finestra successiva richiede a quale porta è collegata la stampante che sarà normalmente la LPT1. Cliccate sul pulsante Configura porta e deselezionate lo spooling dei processi, in modo che l'invio sia diretto.

La richiesta successiva riguarda l'impostazione come stampante predefinita, domanda alla quale risponderete cliccando sul Si.

Torna all'indice

 

   3. Al lavoro
 
3.1 I diversi firmware

Possiamo distinguerli in ufficiali e non. Tra quelli ufficiali abbiamo i dASSAULT montati normalmente sul Nokia nelle versioni 17, 20 e 29, mentre sullo Strong si trova generalmente la versione OEM6 v38. Sui firmware non ufficiali andrebbero svolti test precisi, ma generalmente hanno lo scopo di estendere le funzionalità del decoder o di aggirare limitazioni imposte da Canal+ come ad esempio la regionalizzazione della macchina che impedisce la visione delle PPV estere (Taquilla e Kiosque, i corrispettivi spagnoli e francesi del nostro Palco).
Fondalmentalmente, i firmware non ufficiali, lasciando inalterato il bootblock, lavorano sulle microapplicazioni scritte in MediaHighWay (MHW) in modo da ottenere quello che vogliono. Inizialmente si trattava di collage di pezzi di differenti versioni di firmware, fino a quando non sono uscite le prime applicazioni in grado di decomprimere e decompilare il MHW. Queste micro applicazioni sono scritte in PanTalk, linguaggio molto simile al Java.
Vediamo di analizzare brevemente le varie versioni disponibili.

Firmware Ufficiali:

DA2NED2 V15 olandese. Non è compatibile con i boot recenti
DA2IB dASSAULT v18 Italiana. Non è compatibile con i boot recenti. Se avete un decoder con questo firmware, prima di fare prove aggiornare il boot con la versione da3ned3.
DA3IB dASSAULT v29 Italiana. A quel che dicono una delle più ostiche per i pirati ;)
DA3NED3 OEM6 v20.3 olandese. Non si vedono i canali, ma è una tappa obbligata per l'aggiornamento del boot
GBFC0_DA3NED3 Blocco di boot (BFC0) estratto dal DA3NED3. Usata nel caso di eeprom A120 non riconosciuta. Modifica il boot
DA5IB OEM6 v38 italiana. Anche questa aggiorna il boot. Da notare che con questa versione è possibile sintonizzare tramite il PC canali che con le altre versioni non è possibile vedere.

Firmware non ufficiali:

DeadCafe 3.0 Menù in lingua olandese. Uno dei primi firmware modificati. Scopo di questo firmware era permettere la visione delle PPV estere. Modificato dallo spagnolo DeadCafe Team. Il nome deriva da una sequenza di byte in esadecimale leggibile nelle prime locazioni di ogni firmware (DE AD CA FE) e cafe è anche il codice d'accesso alle funzioni del firmware. Basato sulla DA3NED3 (boot v20.3)
DeadCafe 3.4 Successiva evoluzione del firmware. Basato sulla DA3NED3 (boot v20.3)
Carte a Puce 3 Modifiche francesi. Stesso scopo del deadcafe
Carte a Puce 4 Modifiche francesi. Stesso scopo del deadcafe
Carte a Puce 5 Modifiche francesi. Stesso scopo del deadcafe. Basato sulla DA3NED3 (boot v20.3)
DiSEqC 3 Firmware spagnolo, modificato dal solito deadcafe team con la PPV e il tasto pilota attivo per tutti i canali dei vari Canal+. A differenza del nome, il diseqc non funziona (viene abilitato dalla versione 6). Basato sulla DA3NED3 (boot v20.3)
DiSEqC 4 Qui si inizia a lavorare veramente sulle applicazioni MHW e si cominciano a vedere i risultati. Una delle caratteristiche più notevoli di questo firmware, poi eliminata nelle versioni successive, era la possibilità di vedere i canali free senza bisogno della scheda.Basato sulla DA3NED3 (boot v20.3)
DiSEqC 5 Disponibile solo sotto forma di aggiornamento alla versione 4, va installato sopra di essa.
DiSEqC 6 Per lo più si tratta di aggiornamenti estetici e fix alle versioni precedenti. La maggiorparte del lavoro riguarda il fixing della parte multi-EPG (pilota). Il diseqc ora funziona. Basato sulla DA3NED3 (boot v20.3)
DiSEqC 6 mEPG di Pipolin Pipolin, oltre che uno del team DeadCafe è l'autore di ED8000. Questa versione anticipa alcune features della 6.5 come ad esempio i menu trasparenti. L'innovazioni di questa versione (anche rispetto alla 6.5) è la sua completa deregionalizzazione (che blocca gli attacchi periodici dei vari provider) senza però impedire la visione delle PPV e l'utilizzo della funzione pilota (legata alla regionalizzazione). Basato sulla DA3NED3 (boot v20.3)
DiSEqC 6.5 Altra versione multi-EPG mirata a risolvere problemi legati al tasto guida e serv. Basato sulla DA3NED3 (boot v20.3)

Torna all'indice

   

   
3.2 Aggiornare il firmware

Aggiornare il firmware se avete seguito le indicazioni riportate fin'ora diventa una operazione quasi banale (quasi, perchè l'imprevisto capita sempre). Questa operazione è potenzialmente pericolosa, dato che rischia di costringervi a ricorrere all'assistenza e l'intervento costa caro (dicembre 2001 - lire 235.000 - 121 €) e comporta spesso la sostituzione della motherboard del decoder (i tecnici nokia sono pigri :P). Ricordando che le indicazioni fornite fino ad ora sono frutto di prove e voci raccolte in giro non posso che raccomandarvi alla prudenza.

Per questa operazione, sebbene altri programmi siano molto più completi, utilizzeremo il loader della strong, che oltre ad essere molto pratico (è la sua unica funzione), permette di ripristinare il decoder in alcune situazioni di emergenza è bene quindi prenderci confidenza.

All'apertura il programma si presenta con solo un menu e due finestrelle. Quella in alto serve al programma per mostrarci cosa sta facendo, mentre quella in basso è un terminale tra noi e il decoder sul quale, oltre che verificare il corretto funzionamento dell'operazione possiamo anche inviare comandi.

Dopo aver controllato che la stampante predefinita sia la Generica/Solo testo, tutto quello che bisogna fare è Aprire il menu file e selezionare la voce bin file to load per istruire il programma su quale firmware installare e selezionare la porta seriale dal menu Com.
A questo punto siete proni per mettere il decoder in modalità CHA con i tasti pers e > e cliccare sul menu start. L'upload partirà immediatamente e vedrete nella finestrella inferiore il progredire dell'operazione.
Attendete fin quando non vedete il messaggio

clef arret
fin de transfert parallele
!!!!! COUPEZ PUIS REMETTEZ

!!!!! L'ALIMENTATION DU DECODER

A questo punto potete spegnere e riaccendere il decoder.

RISOLUZIONE DEI PROBLEMI:
Sul terminale non c'è risposta dal decoder:

Decoder: Controllare che sul display sia apparsa la scritta CHA
Cavi: Assicurarsi che i cavi siano pin to pin e siano cablati tutti i pin.
PC: Provare a collegare il cavo sulla seconda porta seriale (se disponibile).
PC: Provare a cambiare l'impostazione della porta COM nel programma.
PC: Provare dal pannello di controllo differenti velocità della seriale (da 9600 a 115200).
PC: Terminare con CTRL+ALT+CANC l'applicazione Rnaapp se presente nella lista.
PC: Controllare la stampante predefinita (generica/solo testo).
PC: Provare l'impostazione del bios del computer SPP (o Normale).

Il decoder non si riaccende:
Consultare l'apposita sezione 6

Torna all'indice

   
 
   
3.3 Editare la lista canali

Scaricare la lista canali per editarla con il computer può presentare problemi, a seconda del firmware installato sul PC e delle prestazioni del computer. Per ridurre l'incidenza del secondo fattore, terminate con CTRL+ALT+CANC qualsiasi applicazione, lasciando aperte solo explorer e systray. I programmi utilizzati, verranno descritti nella prossima sezione 4, quindi mi limito a descrivere brevemente le procedure che portano allo stesso risultato.

1. ED8000 - Extraer Canales

ED8000 ha una apposita funzione per scaricare i canali dal decoder. Se avete le versione 1 troverete il pulsante extraer canales dal deco, mentre nella versione 2, questo comando si trova sotto il menu Deco.
Se l'operazione termina con successo (in un paio di minuti), potete tranquillamente apportare le modifiche che volete alla lista e reinviarla successivamente con il comando enviar canales.

2. ED8000 / Nokia Tools - Backup Firmware

Se il primo metodo non è riuscito, provate a fare il backup con l'apposito comando di Ed8000 (Firmware/Extraer nella versione 2) o dei Nokia Tools, selezionando la voce Canales, Transponders y MHW o (metodo più rapido) selezionando la voce Zona Especifica e le aree BFCA0000, BFCB0000 e BFCC0000. Al termine di questa operazione (10 minuti circa) dovreste avere una porzione del firmware che potete riaprire con ED8000 per apportare le modifiche. Se avete provato con Ed8000 e non siete riusciti, provate con Nokia Tools o viceversa,
Per reinviarla al decoder potete usare un qualsiasi programma che permetta di inviare il firmware al decoder.
Non cancellate il file estratto. Ad una successiva risintonizzazione del decoder, potrebbe essere sufficente provare il comando di ED8000, actualizar firmware con canales del decoder che in un paio di minuti estrae la lista canali. Questo succede perchè il comando extraer canales non sa dove trovare la lista canali, mentre, se avete la porzione del firmware, questa verrà analizzata in modo da istruire il programma sul punto in cui trovare la lista canali.

Torna all'indice

   
 
   4. Descrizione dei programmi
   
4.1 Loader 2000

Cominciamo a vedere come si utilizza il loader ufficiale.
Dopo averlo prelevato dal sito della strong ed averlo installato (è una semplice installazione guidata), lo si fa partire dal menù avvio di Windows. La schermata che ci si presenta è la seguente:

La prima finestra in alto è quella che indica i dati del file caricato; la seconda finestra in basso è quella in cui compariranno i dati di dialogo tra PC e ricevitore (l'analogo dell'hyperterminal, per intendersi).
Notare che nella riga in basso sono indicati i dati della porta parallela (l'eventuale stampante installata) ed i settaggi della porta COM.
Per caricare il firmware da inviare al decoder, si sceglie la voce del menù File->bin-file-to-load

Una volta selezionato il file .BIN contenente il firmware, esso comparirà nella finestra in alto:

A questo punto è fondamentale settare la porta seriale. Scegliete dal menù COM la porta alla quale avete collegato il cavo seriale:

Appena impostata la COM, appariranno i settaggi nella riga in basso, al posto di COM setting. A questo punto, se i cavi sono collegati correttamente, va acceso il decoder in modalità CHA. Per ottenere tale modalità di funzionamento, si devono tenere premuti contemporaneamente i tasti PERS e freccia destra, sul pannello del ricevitore, mentre lo si accende, mantenendoli premuti fintantochè sul display non compare - perlappunto - la scritta CHA. A questo punto è cominciato il dialogo tra PC e decoder:

E' possibile adesso far partire il trasferimento del firmware verso il ricevitore, selezionando il menù Start. Se tutto è andato per il verso giusto, si otterrà il messaggio (in francese) in cui si chiede di spegnere il ricevitore e di scollegare i cavi.

Nelle istruzioni di un altro loader che veniva diffuso in rete (il programma si chiamava LDR.EXE, e aveva due grosse finestre di stato, una a sinistra ed una a destra - se lo trovate ve lo sconsiglio !) si diceva che il decoder andava riacceso tenendo premuto il tasto OK. Io - sinceramente - le ho provate un po' di tutte, ma non mi sembrava che questa opzione avesse un effetto significativo.... Comunque la riporto per dovere di cronaca.
A seconda del tipo di .BIN caricato, è possibile che il decoder si accenda da solo, magari posizionato su un canale specifico. A questo proposito, a seconda del firmware, è possibile che si abbia una lista di canali precaricata. Se così non fosse, il decoder partirà col menù, in cui verrà chiesto - come prima cosa - di settare data, ora, e di fare la ricerca dei canali. Esattamente come la prima volta che lo avete acceso... ve lo ricordate ?
Vi sono altre due voci di menù, su cui non spenderò molte parole: Clear, che ripulisce le finestre dai messaggi, e un piccolo "about" con il simbolo del punto interrogativo.
Il loader ufficiale è consigliabile per la sostituzione del firmware. Anzi, io personalmente uso solo questo per tale operazione, perchè - tutto sommato - è il programma dedicato a tale scopo dalla casa madre, è ben testato, è estremamente semplice (pochissime opzioni) ed affidabile.

Torna all'indice

   
 
   

4.2 Ed8000 v.1

Quando si è imparato a cambiare il firmware, si comincia a sentire la necessità di qualcosa di più.... potente. Il programma per "smanettare" è l'ED8000. Io l'ho trovato, in rete, in quattro versioni:, la 0.2.48(perciò molto "grezza"), la 1.0, e la 1.01. In più, ne ho trovata una versione in olandese, che altro non era che la 0.24 "rinazionalizzata". Da pochissimo è uscita la versione 2.0 le cui novità verranno menzionate a parte
Di seguito ecco la schermata della versione 1.01:

Tanto per chiarire subito le cose, la differenza tra questa e la versione 1.0 sta nella casellina numerica Tiempo, che non è presente nella versione più vecchia.
Questa opzione dovrebbe servire a settare un timeout specifico, nel caso si desideri effettuare un backup del firmware da decoder a PC. Poichè questa è una operazione molto dispendiosa in termini di potenza di calcolo, alcuni computer non riescono a portarla a termine correttamente; il PC si "blocca", e l'unica soluzione sembra quella di chiudere forzatamente ED8000 tramite control+alt+del. Con valori di timeout più alti, il backup dovrebbe essere possibile. Io non ho mai provato tale opzione, per un paio di motivi molto banali:
1) in genere non c'è bisogno di salvare il firmware del proprio decoder, poichè se ne ha già una versione su PC. Se si desidera salvare il firmware così com'è, con gli aggiornamenti di tele+, beh, questo può sembrare effettivamente l'unico motivo per farlo. Ricaricando un firmware precedente agli aggiornamenti, tali aggiornamenti vengono perduti... fatto sta che tele+ rimanda in automatico (ogni qualche ora) gli aggiornamenti ufficiali rilasciati fino a quel momento, perciò nel giro di una giornata si riesce a riavere il decoder nella stessa configurazione precedente.
2) Salvataggio di una lista di canali ottenuta con una sintonizzazione via decoder (non editando i canali, cioè). Questo può essere un motivo più valido del precedente, ma vi assicuro che una volta provato a editare i canali via software vi dimenticherete ben presto delle sintonizzazioni automatiche, personalizzate, dei trucchetti "stacca il cavo al 25% - riattaccalo al 75%" e via dicendo....

Come si vede, oltre alla barra dei menù, e ad una serie di tasti, abbiamo una grossa finestra centrale. Questa è la zona in cui avremo la tabella dei canali.
Proviamo a caricare un BIN con il programma. Dal menù Archivio selezioniamo Abrir

Dovremo selezionare un file BIN - per fare un esempio carichiamo un firmware ufficiale, quel DA3NED3.BIN che avevamo provato a caricare col Loader Strong:

Appena selezionato "Apri", avremo questo messaggio:

Questo vuole dire che il BIN scelto non contiene una lista di canali, ma solo il firmware "nudo e crudo". Ovviamente nessuna operazione di editing è possibile su questo file. L'unica cosa fattibile è il caricamento nel decoder. Questo lo si può fare con il tasto Enviar firmware al decoder.
Il tasto Backup firmware del decoder permette l'opzione di backup di cui parlavo prima. Con il tasto Proteger/Desproteger Boot firmwaresi ha la possibilità di effettuare una operazione molto importante. Uno dei motivi di fallimento nell'aggiornamento del firmware è la cancellazione del blocco di boot. A causa di una operazione errata, o di un blocco di boot "non ufficiale" contenente dei bug, è possibile che il blocco di boot attuale venga sovrascritto e vada perso. Poichè il blocco di boot contiene le prime sequenze di istruzioni eseguite dalla macchina in fase di accensione, ci di rende conto che un danno a questa zona del firmware può bloccare il ricevitore, senza alcuna possibilità di recupero. Un esempio di questo tipo di problema è quando si ha il messaggio di boot che sembra andato in loop infinito.
L'unico modo per recuperare la macchina in questa situazione è portarla in un centro di assistenza, dove provvederanno a dissaldare la eprom contenente il blocco di boot, e a riprogrammarla direttamente. Il "maestro" Br0ther del Dead Cafe Team ha illustrato - in un documento che si trova in rete - come ampliare la memoria del decoder, con una flash eprom aggiuntiva, contenente un boot "di emergenza" da utilizzarsi in caso di poblemi al blocco di boot principale.
Torniamo alla protezione del bootblock; selezionando tale tasto viene chiesto un file BIN su cui eseguire l'operazione;

(Per l'esempio io ho creato un BIN di prova copia del precedente)

Come si vede tale firmware contiene un boot di tipo non protetto. Premendo su PROTEGER è possibile inibire la scrittura sul blocco di boot della macchina:

Ecco che il nuovo firmware è stato "aggiornato" con la protezione.
La dicitura "Salir" corrisponde all'italiano "esci".

I file .BIN corrispondono - in pratica- ad un dump della memoria del ricevitore. A seconda della zona di memoria salvata, possono contenere solo il firmware, firmware più lista di canali, solo lista di canali. La differenza - a colpo d'occhio - la si vede dalla lunghezza del file.
Un firmware "vuoto", così come sono i firmware ufficiali, sono lunghi su 1,6/1,7 mega. Una lista di canali, da sola, occupa circa 250K. Firmware e canali insieme occupano più di 2 mega (2.1 / 2.2).

Nel caso in cui il firmware contenga una lista di canali memorizzata, o nel caso il file BIN contenga SOLO una lista canali, allora ED8000 ci farà vedere tale lista:

Questa è una lista editata col programma in questione.
Facendo doppio clic su un canale, o cliccando sul tasto Editar, si apre una finestra con i dati del canale:

I dati presenti nei vari campi sono abbastanza esplicativi, quindi non mi perderò a descriverne la funzione.
Per cambiare l'ordine dei canali, può esser fatto in tre modi.
Il primo è direttamente con un drag and drop del canale (operazione un poco complicata nel caso le posizioni di canale siano molto distanti tra loro).
Il secondo si ottiene -dopo aver selezionato il canale- cliccando il tasto destro del mouse, e facendo comparire il manù contestuale: questo menù contiene i classici comandi di delete, cut, copy e paste.
Il terzo metodo è forse il più efficace ma il più macchinoso da ottenere: si deve cliccare UNA volta sola nel campo indicante il numero di canale:

A questo punto è sufficiente inserire il numero corrispondente alla posizione che tale canale dovrà ottenere. Non è tutto, però: a questo punto, per CONFERMARE lo spostamento fatto, si deve fare un drag and drop della freccetta rossa verso il numero del canale. Se tutto è andato bene, al rilascio della freccetta, nella posizione comparirà il canale che era nella posizione "remota", dove abbiamo spostato quello in oggetto; in pratica abbiamo fatto uno swap. Questo ultimo metodo è leggermente più fastidioso da utilizzarsi, perchè se non si clicca una volta sola nel campo, e se non si fa il drag and drop correttamente, il cambio tra i canali non viene preso. La conferma comunque la possiamo avere selezionando Cerrar (= clear) o Salir (=Exit) dal menù archivio. Se delle modifiche sono state effettivamente fatte, ci verrà chiesto se vogliamo salvarle:

Cliccando su OK, salveremo la lista canali così modificata.
Un ultimo cenno al tasto Web in basso a destra: premendolo, viene aperto un mini-browser che "punta" automaticamente alla pagina Web di Lyngsat. Lyngsat -per chi non lo sapesse- è un celebre sito che contiene TUTTE le frequenze ed i canali sintonizzabili via satellite.
Una volta preparata una lista di canali personalizzata, è possibile inviarla al decoder con il tasto "Enviar Archivio al deco".
Il tasto Resuscitar Deco con Display Apagado ha la particolarità di effettuare in automatico la procedura di sblocco del decoder. Il decoder a volte (a seguito di un aggiornamento firmware non eseguito correttamente) rimane bloccato, con il display completamente spento; andando a controllare con l'hyperterminal si nota che via seriale si ha il prompt con una richiesta: "code d'access?". In pratica il ricevitore è entrato in una sorta di modalità interattiva, dalla quale per proseguire il boot, e poter caricare il firmware correttamente, viene chiesta una password. La password preimpostata è "cafe", e deve essere digitata velocemente (vi è un timeout di pochi istanti, superato il quale il ricevitore va spento e nuovamente acceso). Se la password viene inserita correttamente, verrà restituito il prompt ">" come risposta: digitando da tastiera "g", si lancerà il caricamento del firmware.
"Resuscitar Deco con Display Apagado" fa tutta questa procedura in automatico... una bella comodità dunque, in caso di problemi. Attenzione però: il blocco del decoder può dipendere da più fattori. Per esser certi riguardo al tipo di problema verificatosi, è necessario collegare il PC al ricevitore e controllare con l'hyperterminal.

Torna all'indice

   
 
   

4.3 Ed8000 v.2

Da poco e` uscita la versione 2 di ED8000. Le novita` ci sono, ma chi conosce la versione 1 non dovrebbe avere problemi; questo e` il motivo per cui ho deciso di inserire la versione precedente in questo documento.
La funzione -secondo me- piu` importante nella versione 2 consiste nella possibilità di invertire le posizioni dei due LNB nel caso abbiate un sistema dual feed. Questo e` un problema di non secondaria importanza. Le prime liste di canali, infatti, provenivano dalla Spagna, paese di origine di ED8000 e di alcuni fra i primi Firmware “non ufficiali”. Per quel paese, e per la Francia, il satellite “di default”, quello da cui vengono irradiate le trasmissioni di Canal+, oltre ai canali nazionali, non e` HotBird, bensi` Astra.
Si capisce percio` che le due porte dello switch DisEqC erano “invertite” rispetto alle nostre: nella posizione 1 c'era l'LNB che puntava ad Astra, nella 2 si trovava l'LNB di HotBird. Per noi Italiani la situazione era esattamente opposta. Questo faceva si` che uno smanettone italiano che si trovasse a caricare una lista di canali spagnola o francese non vedeva assolutamente niente. Anzi, per la precisione su OGNI canale si trovava il famigerato “pallino” di assenza segnale, con non pochi sospetti di aver fatto danni...

Di seguito viene riportata una schermata dal programma. Come si vedra`, la seconda grossa novita` consiste nella “pulizia” dell'interfaccia: molte delle funzioni associate ai tasti della versione 1, si ottengono adesso da menu`.

Proviamo a caricare una lista canali:

Come si nota, adesso vicino al numero del canale e` presente un numeretto all'interno di un cerchietto verde. Quello e` il numero di parabola (la porta dello switch DisEqC). Premendo sul tasto “Invertir Parabola” potremo swappare le porte dei due LNB, ottenendo l'utile funzione di cui parlavamo prima:

Come si vede adesso il numero a fianco dei canali e` “2”, indicante la nuova posizione del DisEqC su cui cercare il canale. Per quanto riguarda la disposizione dei menu`, e` possibile notare che le funzioni relative all'editing dei canali sta sotto al menu` “Canal”.

Per quanto riguarda i puristi dell'italiano, e` possibile adesso cambiare lingua, dal menu` “Idioma”; non aspettatevi pero` delle traduzioni perfette....

Dal menu` “Informazioni Addizionali”, adesso e` possibile fare delle cose piuttosto interessanti, tipo la selezione dell'interattivita` (EPG, mosaico, e via dicendo), cose che - fino ad ora- erano possibili SOLO mettendo mano con un editor esadecimale al “corpo” del firmware stesso - operazione piuttosto complessa per chi non e` pratico di strumenti del genere:

Ecco qua il sottomenu` corrispondente:

Selezionando la spunta sul linguaggio desiderato, verra` abilitata sia la EPG che la funzionalita` del mosaico (interattivita`) sui canali della nazionalita` corrispondente.
Dopo aver spuntato le caselle, cliccare sul tasto “Scrivi” affinche` le modifiche possano avere effetto.

Vorrei ricordare che e` bene sempre salvare ogni modifica fatta al firmware, in un file nuovo - per buona norma, e per poter poi eventualmente confrontare le differenze nel caso si torni ad un firmware precedente. Purtroppo, come avevo deto, la traduzione non e` stata eccelsa, e la voce “Salva con nome” e` rimasta analoga al “Guardar Cambios” spagnolo (“Guardare Come”):

Nel caso vi metteste a fare il copia e incolla dei canali, e` bene sapere che il programma ha un indicatore di “clipboard pieno”, che compare in basso a destra, con la forma di un foglietto, come indicato nella figura seguente:

Una ultima possibilita` che offre la versione 2 di ED8000 e` quella di stampare la lista dei canali.
Dal menu` File, selezionare la voce Stampa:

Si aprira` una finestra da cui e` possibile selezionare una varieta` di opzioni - dal tipo di carattere, alla stampante, alla possibilita` di stampare solo un sottointervallo di canali, e cosi` via:

E questo e` tutto quello che vi serve per cominciare a divertirvi. Ricordo che pure qua c'e` la possibilità di backupare il firmware - possibilita` che io non ho testato - piu` altre cosette che comunque sono di importanza secondaria.

Per finire vi lascio con un giochetto: provate a cliccare sulla fotografia del decoder, e guardate cosa succede....

Torna all'indice

   
 
   

4.4 Nokia Tools

Torna all'indice

   
 
   
4.5 Quieres Cafe

Torna all'indice

   
 
   5. Modifiche al firmware
   
5.1 Usare un editor hex

Con un hex editor e un minimo di conoscenze è già possibile fare qualche modifica ai firmware che si trovano in rete. Per prima cosa vediamo di capire come è strutturato un firmware. Se lo apriamo con un editor esadecimale noteremo che i primi quattro byte formano la sequenza BA FE CE DE e costituiscono una sorta di delimitatore.
I quattro byte successivi determinano il blocco da 64Kb al quale si riferiscono i dati successivi e, ancora di seguito, avremo 65535 byte (64Kb) che costituiscono i dati veri e propri. Avremo quindi un qualcosa di simile a questo:

00000000h: BA FE CE DE 80 1F 00 00 00 00 00 00 00 ...
           |---------| |---------| |-----------------
            delimita    locazione    dati ...

Quindi, il nostro delimitatore BA FE CE DE, la locazione 80 1F 00 00 e in seguito i dati.
801F0000 corrisponde alla locazione della e2prom che mantiene le impostazioni del decoder.
Ora molte operazioni possono essere svolte tramite programmi come ED8000 o Nokia Tools, ma per molto tempo è stato necessario compierle a mano, come ad esempio la protezione del boot e la sequenza di regionalizzazione del decoder. Come si fanno con un editor hex?

Sapendo che il blocco di memoria del boot è situato in BFC00000, possiamo provare a cercare questa sequenza all'interno del firmware (con UltraEdit si fa premendo Ctrl-F e deselezionando l'opzione Find Ascii) e ci troveremo immediatamente nell'area relativa al boot sector. Se il nostro firmware ha il boot protetto (ad esempio un DiSEqCspa o il Carte a Puce) noteremo la classica sequenza BA FE CE DE, mentre, se il firmware è sprotetto (ad esempio come nel Da3ned3) vedremo che questa sequenza è D0 BE FA DA. Ecco svelato il trucco a cui ricorrono i programmi come Ed8000 per proteggere il settore di boot.

L'altra sequenza importante è quella della regionalizzazione del goldbox che attiva/disattiva i servizi interattivi del paese a cui è destinato il decoder. I servizi interattivi comprendono le funzioni del tasto pilota, del tasto guida, del tasto serv e di tutti i canali interattivi come ad esempio multimusica, +club, +giochi, ecc...
L'interattività è anche il veicolo dei contrattacchi dei provider atti a disabilitare card pirata, ecco per cui un buon motivo per dividere i servizi dei vari provider, altrimenti si beccherebbero tutte le contromisure di tutti i paesi, rendendo così impossibile la visione anche alle card originali.
L'operazione è spesso necessaria quando si provano firmware stranieri come ad esempio i DiSEqCspa che sono regionalizzati per la Spagna.
La sequenza di regionalizzazione si trova sempre nella e2prom in 801F0000 all'offset 4E6 (con ultraedit premere Ctrl-G e immettere il valore 0x4E6 per saltare direttamente in quella posizione). I byte interessati sono 6 e assumono i seguenti valori:

3B 00 00 00 00 00 Nessuna interattività
3F 50 00 00 00 00 Francia
3B 00 06 00 00 00 Spagna
3B 00 00 06 00 00 Italia
3B 00 00 00 60 00 Olanda
3B 00 00 00 00 06 Polonia
3F 50 06 06 60 06 Tutto

Un errore comune è quello dell'olanda: il valore è 60, non 06 come per gli altri.

Sempre all'interno della e2prom 801F0000 si trovano altre impostazioni riassunte in questa tabella:

Volume del decoder:
018h: valori da 7Ah a 83h (9 posizioni)

Durata della banda su schermo:
469h: 01 nessuna banda - 11 durata lunga - 09 durata normale
48Bh: valore di 469h xor FF
48Ch: stesso valore di 469h

Canale iniziale:
46Dh-46Eh: 2 byte. Numero canale.
493h-494h: 2 byte. Checksum canale.

Torna all'indice

   
 
   
5.2 Media Highway e strumenti

Come già detto, il firmware dei goldbox (tutti, non solo i nokia e gli strong) è scritto in MediaHighway (abbreviato in MHW). Per correttezza bisognerebbe parlare di applicazioni MHW scritte in PanTalk, linguaggio ad alto livello, multipiattaforma, molto simile al Java.
Analizzando il dump di un firmware con programmi come MHWStudio, si nota la presenza di diverse directory, ognuna contenente una micro-applicazione dedicata ad uno scopo ben preciso, e, al loro interno, file di diverso tipo, riconoscibili dalla loro estensione:

*.app che definiscono la applicazione completa e le variabili globali
*.cla che contengono la definizione della classe
*.cpi che implementano i metodi della classe
*.pan, *.paa contenenti risorse della GUI, pannelli mostrati sullo schermo, menu, ecc.
*.lut che definiscono la palette dei colori.

I file comunque generati sono compressi (ragione per cui all'interno del firmware non si trovano scritte leggibili) e vanno decompressi per poter compiere modifiche. I file anche decompressi, sono comunque compilati, non si ottiene certamente il sorgente e quindi, le modifiche sono alquanto difficili.

La caratteristica del MHW di essere multipiattaforma, ci permette, entro certi limiti (versioni troppo differenti del firmware o particolarità dell'hardware), di prendere pezzi di codice da un decoder e di usarli per ricreare il firmware di un altro decoder di tipo diverso.

Gli strumenti per compiere queste operazioni sono, il già citato MHWStudio, un editor esadecimale (personalmente uso ultraedit ma è shareware e la registrazione costa 30$, anche se alla fine sono soldi spesi veramente bene), MHWPacker / MHWUnpacker, Pan / Upan, e Pan Parser. Un altro strumento, oltre al solito editor esadecimale è il programma Windows Commander che si rivela utilissimo quando volete confrontare le differenze tra diverse versioni dei firmware.

Torna all'indice

   
 
   
5.3 MHW Studio

Torna all'indice

   
 
   6 Risoluzione dei problemi
   
6.1 Decoder Bloccato

Operazioni come l'upload del firmware, a volte possono portare a bloccare il decoder facendovi passare sicuramente alcuni minuti di panico. Chi ci è passato, sicuramente sa a cosa mi riferisco. Il decoder sembra non rispondere più a nessun comando e nemmeno il display si accende. il dubbio di aver combinato un guaio comincia ad insinuarsi come un tarlo.
In realtà, nella maggiorparte dei casi, questi blocchi sono facilmente risolvibili.

Il primo tenativo lo si fa con Ed8000 e l'apposita funzione resuscitar deco con display apagado che svolge in automatico alcune operazioni. Se non si accende ancora, non resta che procedere manualmente.

Per prima cosa prendete il loader2000, impostate la porta COM e provate ad accendere il decoder mettendolo il CHA. Se, nonostante il display non lo visualizzi, ottenete la solita schermata di caricamento del firmware, vi basta riprovare a fare l'upload. Spesso capita che il decoder, riconoscendo errori nel firmware si metta in CHA automaticamente, senza ci sia bisogno di premere la combinazione PERS e >.

Se non riuscite a mettere il decoder in CHA, sempre con Loader 2000, accendete il decoder senza metterlo in CHA. A questo punto bisogna cercare di ottenere il prompt del boot

BOOT 1.6.x>

Se non appare, provate a digitare ripetutamente CTRL-C nella finestra in basso di Loader2000. Se ancora il prompt non è apparso e vi viene richiesto il codice d'accesso

Access Code?

digitate velocemente la parola cafe. Se prima che siate riusciti a digitarla vi appare la scritta

fin access code?

ripetete l'operazione. Il tempo a disposizione è veramente poco.

Una vlta guadagnato l'accesso al prompt del boot, provate a dare il comando G [invio] con il quale il decoder dovrebbe ripartire. Se ancora, con G il decoder non è partito, ripetete la procedura dando il comando C che corrisponde al comando per caricare il firmware e rifare l'upload.

Torna all'indice