Programmazione Timer dvb-t da remoto HMR-600W

Questa è una discussione su Programmazione Timer dvb-t da remoto HMR-600W all'interno del forum Realtek RTD 1283/1073, nella categoria Processori e Hack Firmware; Con questo nuovo argomento ci proponiamo di creare una estensione del firmware C4xx/C5xx che permetta di programmare da remoto i ...

Pagina 1 di 6 123 ... UltimaUltima
Risultati da 1 a 10 di 52

Programmazione Timer dvb-t da remoto HMR-600W

  1. #1
    Hacker L'avatar di NeoD
    Data Registrazione
    Oct 2009
    Messaggi
    123
    Downloads
    0
    Uploads
    0

    Cool Programmazione Timer dvb-t da remoto HMR-600W

    Con questo nuovo argomento ci proponiamo di creare una estensione del firmware C4xx/C5xx che permetta di programmare da remoto i timer di registrazione dell'Hmr600, utilizzando l'interfaccia HTML.

    Come descritto nei post seguenti che vi invito a leggere, il firmware C4xx utilizza due database in formato Sqlite per la gestione dei timers.

    Il primo "schedule_record.db" contiene un archivio dei timers, mentre il secondo file "schedule_history.db" contiene la cronologia degli eventi schedulati.

    Per poter aggiungere nuove registrazioni è necessario conoscere con esattezza il significato dei vari campi del database (schedule_record.db). Una volta scoperto, l'idea è quella di utilizzare un semplice script cgi (scritto in C) che prenda i dati da un form html, li verifichi e li inserisca nel database.

    Per fare questo, dobbiamo collezionare e confrontare tra loro quanti più database possibili, quindi chiedo a chiunque abbia voglia di collaborare di postare un link ai propri file "schedule_record.db" e "schedule_history.db" ed agli appassionati di settimana enigmistica di analizzare i propri file e quelli degli altri in cerca delle soluzioni.

    Di seguito sono riportati i nomi dei campi presenti in schedule_record.db: alcuni sono giÃ* chiari, altri sono ancora da comprendere bene.

    ID, datestamp, date, date_year, date_month, date_day, start_hour, start_minute, length_hour, length_minute, source, channel, quality, target, SAP, timestamp_start, timestamp_offset, enable, lock, schedule_type, event_id, user_string

    I file db possono essere aperti con un plugin di firefox (SQlite Manager) come scritto da Kalash oppure se lavorate sotto linux potete installarvi Sqliteman.

    a questo link
    http://download697.mediafire.com/3c2...iptionV1.0.txt
    troverete sempre l'ultimo file con le descrizioni dei campi del database (aggiornato con i vostri contributi)

    mentre a quest'altro
    http://www.mediafire.com/NeoD
    troverete tutte le versioni degli script cgi che svilupperemo.(Ultima release 1.6)

    ChangeLog V 1.6
    * Minor changes: modificato l'ordine delle tabelle visualizzate. Ora la cronologia delle registrazioni si trova in fondo alla pagina.



    Grazie a chiunque vorrÃ* collaborare.

    NeoD


    Istruzioni per estrarre i db files dall'HMR

    Codice:
    Usando telnet da un computer remoto, effettuate il login
    copiate poi i database dalla memoria dell'HMR all'Hard disk interno utilizzando il comando
    cp /usr/local/etc/dvdplayer/sched* /var/hddmedia/
    Chiudete telnet e prelevate i due files dall'hard disk interno usando Ftp,Samba o il collegamento diretto da USB

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Citazione Originariamente Scritto da kaboom
    Ciao NeoD, portesti postare i corretti percorsi e files che hai trovato che potrebbero aiutare in un backup\restore dal passaggio da un firmware all'altro?
    Stavo pensando ad una procedura da mettere sulla gestione, per automatizzare la cosa...
    Se sono file .db non dovrebbe essere così complicato fare delle query di modifica o sbaglio?
    Ora si!

    Ecco il path
    /usr/local/etc/dvdplayer

    ed ecco il contenuto

    /usr/local/etc/dvdplayer # ls -l
    -rw------- 1 root root 28672 Dec 4 22:37 Setup
    -rw------- 1 root root 769 Dec 4 21:52 bookmark.db
    -rwxrwxrwx 1 root root 48 Sep 1 02:20 dmem.bin
    -rw-r--r-- 1 root root 37164 Dec 4 20:52 dtv_channel.txt
    -rw-r--r-- 1 root root 2 Dec 4 21:47 isRTC
    -rw-r--r-- 1 root root 3072 Dec 4 21:30 schedule_history.db
    -rw-r--r-- 1 root root 4096 Dec 4 21:47 schedule_record.db


    Se li apri con un hex editor ci trovi dentro cose interessanti.

    Ora stavo guardando i db (quelli del nuovo fw). Sono mysql. Ho la copia anche di quelli vecchi ed erano tutta un'altra cosa (sembravano proprietari oppure ho fatto casino io).

    Cmq meglio così.

    Discussioni Simili:

  2. #2
    Hacker L'avatar di NeoD
    Data Registrazione
    Oct 2009
    Messaggi
    123
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    Citazione Originariamente Scritto da kaboom
    Se ci fosse qualcuno esperto di php (io dovrei studiarlo, lo farò comunque ma ci vuole tempo ) si potrebbe fare in modo di accedere da remoto e fare e disfare programmazioni,semplicemente usando il linguaggio php su un server apache (installabili entrambi con ipkg).
    Forse non serve.
    Ho avuto qualche ora per giocarci un poco ed al momento ho un eseguibile che funziona sotto HMR e che riesce a stampare il contenuto della tabella dei timer(al momento grezza, ma ci lavorerò su).

    Dato che voglio impattare il meno possibile sul firmware originale ho compilato il sorgente utilizzando librerie statiche (ovviamente a discapito della dimensione, ma al momento non è un problema).

    L'idea è quella di eseguirlo poi come script CGI (dovrebbe essere possibile farlo no?).

    Se arrivo alla fine di questa storia la propongo nella sezione delle modifiche firmware.

    Considerazione: dato che sono passati da un formato proprietario ad uno standard facilmente gestibile credo che tra non molto vedremo nel firmware ufficiale la possibilitÃ* di inserire timer da remoto..


    vedremo


  3. #3
    Hacker L'avatar di NeoD
    Data Registrazione
    Oct 2009
    Messaggi
    123
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    Citazione Originariamente Scritto da NeoD
    Ho avuto qualche ora per giocarci un poco ed al momento ho un eseguibile che funziona sotto HMR e che riesce a stampare il contenuto della tabella dei timer(al momento grezza, ma ci lavorerò su).
    Sono riuscito a creare un CGI che è in grado di visualizzare in chiaro lo stato corrente delle programmazioni. Purtroppo la dimensione è intorno agli 690k dato che ho dovuto inserire staticamente alcune librerie.

    Può essere eseguito direttamente da telnet una volta copiato in qualunque directory, oppure può essere copiato all'interno del percorso

    /var/www/cgi-bin/

    e richiamato da interfaccia web tramite l'url:

    http://<indirizzoIp dell&#39;HMR600>/cgi-bin/scheduler.cgi

    Per avere il servizio definitivamente attivo è necessario inserire il file direttamente all'interno del firmware
    Funziona solo con il firmware 438 dato che il formato dei dati nelle precedenti versioni era diverso.

    TO DO
    - Come prossimo passo conto di inserire anche il log delle registrazioni (menù cronologia per intenderci) e poi successivamente tenterò l'inserimento di nuove programmazioni.

    - Non ha invece senso (per il momento) visualizzare l'elenco canali. Questo perchè i nuovi database introdotti nella versione FW438 supportano giÃ* l'elenco dei canali, ma attualmente non sono ancora utilizzati.


    Di seguito il link per scaricare il file scheduler.cgi Release 1.0
    http://www.mediafire.com/NeoD
    Ogni commento o critica sono bene accetti.


  4. #4
    Hacker L'avatar di NeoD
    Data Registrazione
    Oct 2009
    Messaggi
    123
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    Citazione Originariamente Scritto da NeoD
    TO DO
    - Come prossimo passo conto di inserire anche il log delle registrazioni (menù cronologia per intenderci)e poi successivamente tenterò l'inserimento di nuove programmazioni.
    Fatto

    Di seguito il link per scaricare il file scheduler.cgi Release 1.1
    Rispetto alla precedente versione, la 1.1 visualizza anche la cronologia delle registrazioni

    http://www.mediafire.com/NeoD

    Ogni commento o critica sono bene accetti.


  5. #5
    Donatore L'avatar di Kalash
    Data Registrazione
    Nov 2009
    Messaggi
    157
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    Molto interessante questo nuovo sviluppo. Ho provato il tuo .cgi e funziona egregiamente. Complimenti. Non avevo seguito gli ultimi aggiornamenti, ricordavo di aver letto i primi post parecchio tempo fa ma non avevo avuto tempo di aggiornarmi, così stamattina ho provato ad aprire i file .db con sqlite (dato che è un tipo di mini database usato anche da firefox 3 per il bookmark). Poi ho visto che il formato era giÃ* stato scoperto. Bene. Esiste anche un plugin per firefox che si chiama SQlite Manager che permette di aprire i file di questo tipo.

    Ma il .cgi da te compilato proviene da un sorgente che hai scritto ex novo o hai trovato sulla rete qualcosa di open source da cui partire?

    Edit: se pensi possa esserti utile ho trovato 2 link che parlano del formato di un file identico a questo usato da un altro apparecchio. I due link sono questi: http://ms450.foroactivo.net/programacio ... ec-t95.htm
    http://ms450.foroactivo.net/principal-p ... te-t23.htm


  6. #6
    Hacker L'avatar di NeoD
    Data Registrazione
    Oct 2009
    Messaggi
    123
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    Citazione Originariamente Scritto da Kalash
    Molto interessante questo nuovo sviluppo. Ho provato il tuo .cgi e funziona egregiamente. Complimenti. Non avevo seguito gli ultimi aggiornamenti, ricordavo di aver letto i primi post parecchio tempo fa ma non avevo avuto tempo di aggiornarmi, così stamattina ho provato ad aprire i file .db con sqlite (dato che è un tipo di mini database usato anche da firefox 3 per il bookmark). Poi ho visto che il formato era giÃ* stato scoperto. Bene. Esiste anche un plugin per firefox che si chiama SQlite Manager che permette di aprire i file di questo tipo.

    Ma il .cgi da te compilato proviene da un sorgente che hai scritto ex novo o hai trovato sulla rete qualcosa di open source da cui partire?

    Edit: se pensi possa esserti utile ho trovato 2 link che parlano del formato di un file identico a questo usato da un altro apparecchio. I due link sono questi: http://ms450.foroactivo.net/programacio ... ec-t95.htm
    http://ms450.foroactivo.net/principal-p ... te-t23.htm
    Scusa, era un poco che non leggevo più questo argomento....
    Allora si tratta di un sorgente ex novo (c banale banale con relative librerie compilate).
    Da allora sono andato un poco avanti ma purtroppo ho avuto poco tempo.
    Ho convertito l'output solo testo in un formato tabellare in html + un banalissimo foglio di stile. con la nuova versione, se la apri con firefox almeno è un poco più carina.

    Per l'inserimento di per se è abbastanza facile ma avevo nei TODO quello di capire esattamente il discorso del tipo di programmazione (settimanale, giornaliera, ecc).
    E poi sicuramente bisogna fare un minimo di controllo di coerenza sui dati inseriti (verificare che non ci siano sovrapposizioni).
    Insomma inserire una programmazione errata significa minare la stabilitÃ* del sistema.

    Mi sarebbe piaciuto fare un sistema completo di backup e restore dell'intera programmazione, ma ho avuto qualche difficoltÃ*:
    Il backup è banale, basta che lo script invii il file, ma per il restore ho dei problemi perchè lo script teoricamente non dovrebbe girare con i privilegi di root ed... insomma, forse si può fare ma temo sia un poco pericoloso.

    Ho pensato anche a delle workaround solution ma forse non ne vale la pena.
    In ogni caso adesso guarderò con piacere i link che mi hai postato per vedere se riesco a reperire qualche informazione utile.

    Per adesso

    Aggiornamento:
    Si, praticamente è dove sono arrivato io (anzi io ho capito qualcosa sul source che forse loro non hanno ancora capito).

    Effettivamente ci sono alcuni campi che non ho ancora capito: nel dettaglio Datestamp e schedule_type: a volte sono numeri piccoli, altre volte molto grandi, altre ancora negativi ed al momento non riesco a trovare una relazione.

    Se qualcuno ha qualche idea....

    L'idea è quelle di confrontare tra loro diversi file e vedere se ne caviamo fuori qualcosa. Come hanno scritto gli spagnoli nei link postati sopra, un errore in questo file e si reinstalla il firmware.......


  7. #7
    Hacker L'avatar di NeoD
    Data Registrazione
    Oct 2009
    Messaggi
    123
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    Al momento questo è quello che ho ottenuto (Grabbing della pagina html di uscita)

    http://img20.imageshack.us/img20/713/esempiooutputtimer.jpg

    Sicuramente di può fare di meglio: non sono così esperto di html.


  8. #8
    Donatore L'avatar di Kalash
    Data Registrazione
    Nov 2009
    Messaggi
    157
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    Scusa anch'io era un po' che non leggevo. L'estetica nuova che hai messo mi sembra carina. Secondo me va bene. Alla fin fine penso il segreto per una buona interfaccia utente sia semplicitÃ* e facilitÃ* d'uso. Il resto sono fronzoli che in una fase iniziale si possono anche evitare.
    Ho notato anche io i numeri negativi e sono anche molto grandi. La prima cosa cosa che mi è venuta in mente così su due piedi (conoscendo C e C++) è che i programmi che visualizzano il file DB usino una variabile numerica di tipo "signed" per visualizzare il valore e che invece il programma originale "C" del player carichi il valore considerandolo "unsigned".
    Se fosse così il numero che appare come negativo potrebbe essere in realtÃ* tutto un altro numero.
    Magari fai un paio di prove, carica il datestamp come un "unsigned int" o al limite anche come "unsigned short" e stampane il valore a video e vedi cosa esce fuori, vedi se per caso la rappresentazione non-negativa del numero assume una qualche forma ad occhio comprensibile.


  9. #9
    Hacker L'avatar di NeoD
    Data Registrazione
    Oct 2009
    Messaggi
    123
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    Citazione Originariamente Scritto da Kalash
    Scusa anch'io era un po' che non leggevo. L'estetica nuova che hai messo mi sembra carina. Secondo me va bene. Alla fin fine penso il segreto per una buona interfaccia utente sia semplicitÃ* e facilitÃ* d'uso. Il resto sono fronzoli che in una fase iniziale si possono anche evitare.
    Ho notato anche io i numeri negativi e sono anche molto grandi. La prima cosa cosa che mi è venuta in mente così su due piedi (conoscendo C e C++) è che i programmi che visualizzano il file DB usino una variabile numerica di tipo "signed" per visualizzare il valore e che invece il programma originale "C" del player carichi il valore considerandolo "unsigned".
    Se fosse così il numero che appare come negativo potrebbe essere in realtÃ* tutto un altro numero.
    Magari fai un paio di prove, carica il datestamp come un "unsigned int" o al limite anche come "unsigned short" e stampane il valore a video e vedi cosa esce fuori, vedi se per caso la rappresentazione non-negativa del numero assume una qualche forma ad occhio comprensibile.
    Allora, ci ho lavorato su, ma per ora ho un campione troppo piccolo per capire qualcosa.
    Per essere sicuro mi sono anche debuggato il formato db dei vari messaggi.
    Allora per questo dato (datestamp) vengono utilizzati fino a 4 byte. Ho notato che quando datestamp "esplode", sembra "esplodere" anche lo schedule_type, quindi forse sono collegati.

    Concordo con te che il segno meno non ha alcun significato.Ho provato anche a studiare un diverso impacchettamento dei bit o a cambiarne l'ordine (msb,lsb).

    Magari potrebbe essere legato alla data/ora in cui è stata effettuata la programmazione.....

    Infine come stringa ascii ha poco significato.
    ----

    Proporrei quindi (se qualcuno ha voglia di collaborare) di scambiarci o raccogliere i dati relativi a schedule_record.db e schedule_history.db.

    Prima di tutto però chiederei gentilmente consiglio a Galerio su come possiamo fare questa cosa (link a mediafire raccolti in un unico post?).
    Anche perchè qui sto cominciando a diventare off topic.

    Sempre che.. ci sia qualcuno interessato ad approfondire l'argomento.


  10. #10
    Donatore L'avatar di Kalash
    Data Registrazione
    Nov 2009
    Messaggi
    157
    Downloads
    0
    Uploads
    0

    Re: Swap settings HMR-600W

    E' vero non mi ero accorto che eravamo completamente off-topic
    Forse sarebbe utile spezzare il post in due e creare un nuovo argomento con la seconda parte. Io penso che la programmazione da remoto sia molto interessante e possa far gola a più di qualcuno di noi.
    Io sono disponibile a contribuire con i miei db (ed eventuali scoperte) alla ricerca.


Pagina 1 di 6 123 ... UltimaUltima

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •