|
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:
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
|
|
|