|
|
|
|
Strumenti |
10-11-2009, 14:16 | #61 | |
Junior Member
Iscritto dal: Nov 2008
Messaggi: 12
|
Quote:
Vorrei porti una domanda: Nonostante sia previsto di utilizzare la codifica "cirillico" per visualizzare i srt non riesco a ottenere la loro corretta visualizzazione (malgrado abbia provato non solo con Cyrillic ma anche con tutte el altre codifiche, sempre senza successo). Eppure mi sembra che il FW sia predisposto per gestire anche l'alfabeto cirillico - in \usr\local\binResource c'e' Russian.str che una volta aperto mostra tutti i messaggi in ligua russa scritti con i caratteri cirillici. Poiche' ho molti film con i sottotitoli scritti con tali caratteri (uso correntemente il bulgaro, il russo, il serbo e il macedone - tutte lingue che usano l'alfabeto cirillico) vorrei sapere come visualizzarli correttamente. Grazie mille! E prosegui per favore con il tuo formidabile lavoro! |
|
10-11-2009, 16:37 | #62 | |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
Quote:
prova a fare delle ricerche su google considerando che il firmware dell'N200 è compatibile con diversi prodotti (board) che utilizzano il chip RTD1073. nico |
|
10-11-2009, 17:28 | #63 | |
Junior Member
Iscritto dal: Nov 2008
Messaggi: 12
|
Quote:
Pazienza! Grazie comunque! Giorgio |
|
11-11-2009, 21:49 | #64 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
UCLIB Library
In precedenza è stato compilato il programma Hello attivando il compilatore
/usr/local/toolchain-mipsel/bin/mipsel-linux-gcc (link simbolico al binario misel-linux-uclibc-gcc) Tale compilatore appartiene al toolchain istallato con il package: toolchain_mipsel-6.03-6.i586.rpm.rpm che comprende anche la libreria uclibc e le binutils. Il toolchain è stato creato mediante l'utility Builroot come si può verificare dall'attributo CROSS_COMPILER_PREFIX presente nel file /usr/local/toolchain-mipsel/include/bits/uClibc_config.h Codice:
#define __CROSS_COMPILER_PREFIX__ "/mnt/toolchain_build/buildroot/build_mipsel_nofpu/staging_dir/usr/bin/mipsel-linux-uclibc-" può verificare dalla relativa sezione dnel file uClibc_config.h: Codice:
/* * Networking Support */ #undef __UCLIBC_HAS_IPV6__ #undef __UCLIBC_HAS_RPC__ Codice:
/* * Target Architecture Features and Options */ #define __ARCH_LITTLE_ENDIAN__ 1 #define __ARCH_SUPPORTS_LITTLE_ENDIAN__ 1 #undef __ARCH_BIG_ENDIAN__ #define __ARCH_SUPPORTS_BIG_ENDIAN__ 1 ERRORE Pertanto, al fine di compilare programmi più complessi (come BusyBox) è necessario ricostruire manualmente la librearia uClibc. I passi necessari da eseguire per questo fine sono:
Il source kernel v2.6.12 da utilizzare non è quello "ufficiale" bensì quello disponibile al sito http://www.mvixusa.com/support/index...temid=50&nav=0 In particolare bisogna attivare il link Firmware Sourcecode as Provided by Chipset Manufacturer Questo kernel include anche altri hedear files necessari non inseriti in quello ufficiale. Il file RealTek_GPL.tar.gz va copiato nella directory /tools/repository/ successivamente si eseguono i comandi: Codice:
mkdir -p /usr/local/rt-board/kernel cd /usr/local/rt-board/ tar -xzvf /tools/repository/RealTek_GPL.tar.gz mv GPL/Linux/linux-2.6.12 kernel Si passa adesso alla libreria uClibc il cui codice, disponibile al link http://www.uclibc.org/downloads/uClibc-0.9.28.tar.bz2, va copiato nel direttorio /tools/repository/ Successivamente si eseguono i comandi Codice:
mkdir -p /usr/local/rt-board/build-tools cd /usr/local/rt-board/build-tools tar -xjvf /tools/repository/uClibc-0.9.28.tar.bz2 e va copiata nel direttorio /tools/repository/ Successivamente si eseguono i comandi Codice:
cd /usr/local/rt-board/build-tools/uClibc-0.9.28 cp /tools/repository/uClibc_config .config Adesso si può compilare la libreria con i comandi: Codice:
PATH=/usr/local/toolchain_mipsel/bin:$PATH make clean make CROSS=mipsel-linux- make PREFIX=/usr/local/toolchain_mipsel install Lo step finale è un workaround per il bug relativo al BigEndiand e consistene nell'editare il file uclib_config.h Codice:
cd /usr/local/rt-board/build-tools/uClibc-0.9.28/include/bits vi uclib_config.h sostituire la linea #define __ARCH_SUPPORTS_BIG_ENDIAN__ 1 con la linea #undef __ARCH_SUPPORTS_BIG_ENDIAN__ cp uclib_config.h /usr/local/toolchain_mipsel/include/bits Adesso la libreria è pronta e disponibile e sarà usata per compilare il potente tool BusyBox. nico Ultima modifica di snico_one : 06-06-2010 alle 08:47. |
12-11-2009, 15:41 | #65 |
Junior Member
Iscritto dal: Oct 2008
Messaggi: 29
|
Thread interessantissimo!
Un amico ha appena acquistato l'N200 e mi chiedeva se fosse possibile eseguire la copia di files da una unità USB a un'altra. Gli ho risposto che dipendeva da eventuali custom firmware quando e se ce ne fossero mai stati. Domandona: alla luce di quanto fin qui indagato (ed implementato), una sorta di file browser per gestire le unità è fattibile? |
12-11-2009, 17:14 | #66 | |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
Quote:
questo però attualmente non si può fare poichè il telecomando è gestito soltanto dall'applicativo DvdPlayer e quest'ultimo è "closed code" da remoto, tramite telnet o samba, certamente si possono trasferire file tra i 2 device ma, in ogni caso, occorre un pc nico |
|
12-11-2009, 19:14 | #67 | |
Junior Member
Iscritto dal: Oct 2008
Messaggi: 29
|
Quote:
La butto lì: un hub USB con mouse/tastiera? Così non ci sarebbe bisogni né del telecomando né del PC! |
|
14-11-2009, 11:29 | #68 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
BusyBox v1.15.2
Il package BusyBox è un componente fondamentale per la gestione del sistema, la versione fornita di serie (la 1.1.3) è un pò datata, pertanto vediamo come aggiornarla all'ultima disponibile.
I passi successivi richiedono come prerequisito quelli visti nel messaggio #64 1. Prelevare e copiare nella directory /tools/repository il package e dei file ausiliari dai link seguenti: Codice:
package http://busybox.net/downloads/busybox-1.15.2.tar.bz2 configurazione busybox http://snico.webege.com/N200/busybox_config processo init.c http://snico.webege.com/N200/busybox_init.c configurazione init http://snico.webege.com/N200/init_Config.in 2. Impostare l'ambiente con i comandi: Codice:
cd /usr/local/rt-board/build-tools tar -xjvf /tools/repository/busybox-1.15.2.tar.bz2 cd busybox-1.15.2 cp /tools/repository/busybox_config .config cp /tools/repository/busybox_init.c init cp /tools/repository/init_Config.in init 3. Adesso si può compilare (utilizzando la configurazione di default fornita) con i comandi: Codice:
PATH=/usr/local/toolchain_mipsel/bin:$PATH make clean make ARCH=mips CROSS_COMPILE=mipsel-linux- 4. Il binario ottenuto /usr/local/rt-board/build-tools/busybox-1.15.2/busybox può essere già copiato e utilizzato ma in tal caso non si sostituisce la precedente versione. Per integrare completamente la v1.15.2 nel sistema bisogna ricreare l'immagine del firmware come visto nel messggio #59; a tal fine il binario busybox va copiato nell'opportuno direttorio con i comandi: Codice:
cd /tools ./unimg.sh cp /usr/local/rt-board/build-tools/busybox-1.15.2/busybox /tools/yaffs2_1/bin cp /usr/local/toolchain_mipsel/lib/libgcc_s.so.1 /tools/yaffs2_1/lib ./mkimg.sh 5. Da telnet, dopo il login, si presenta un warning sulla home directory dell'utente root: Codice:
VENUS login: root login: can't chdir to home directory '' BusyBox v1.15.2 (2009-11-12 11:09:08 CET) built-in shell (ash) Enter 'help' for a list of built-in commands. / # Pertanto è necessario creare la home directory dell'utente e indicarla nel file passwd con i comandi: Codice:
mkdir /root vi /etc/passwd Il secondo comando permette di editare il file di configurazione utente /etc/passwd: Codice:
/ # cat /etc/passwd root::0:0:root::/bin/sh daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:100:sync:/bin:/bin/sync mail:x:8:8:mail:/var/spool/mail:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:0:0:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh operator:x:37:37:Operator:/var:/bin/sh sshd:x:103:99:Operator:/var:/bin/sh nobody::99:99:nobody:/:/bin/sh default::1000:1000:Default non-root user:/:/bin/sh / # Codice:
root::0:0:root::/bin/sh Codice:
root::0:0:root:/root:/bin/sh 6. I 136 comadi presenti nella versione 1.15.2 (e attivati mediante il file di configurazione sono): Codice:
/ # busybox --help BusyBox v1.15.2 (2009-11-12 11:09:08 CET) multi-call binary Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko and others. Licensed under GPLv2. See source distribution for full notice. Usage: busybox [function] [arguments]... or: function [arguments]... BusyBox is a multi-call binary that combines many common Unix utilities into a single executable. Most people will create a link to busybox for each function they wish to use and BusyBox will act like whatever it was invoked as! Currently defined functions: [, [[, addgroup, adduser, ash, basename, bunzip2, bzcat, bzip2, cat, chmod, chown, chroot, clear, cp, cut, date, dd, delgroup, deluser, devfsd, df, dirname, dmesg, dnsdomainname, dos2unix, du, echo, egrep, eject, env, ether-wake, expr, false, fdisk, fgrep, find, free, freeramdisk, fsck, ftpd, ftpget, ftpput, fuser, getopt, grep, gunzip, gzip, halt, head, hexdump, hostname, httpd, hwclock, id, ifconfig, inetd, init, insmod, ipcrm, ipcs, kill, killall, klogd, linuxrc, ln, logger, login, losetup, ls, lsmod, lzmacat, mkdir, mkdosfs, mkfs.vfat, mknod, mkswap, mktemp, modprobe, more, mount, mv, netstat, nice, passwd, pgrep, pidof, ping, pivot_root, pkill, poweroff, printf, ps, pscan, pwd, readlink, reboot, renice, rm, rmdir, rmmod, route, sed, sh, sleep, sort, strings, stty, swapoff, swapon, sync, sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, tftp, tftpd, time, top, touch, tr, true, udhcpc, umount, uname, unix2dos, unlzma, unzip, uptime, usleep, vi, watch, wc, which, yes, zcat Rispetto alla versione 1.1.3 sono presenti/attivati i comandi: Codice:
bunzip2 bzcat bzip2 dnsdomainname dos2unix env ether-wake ftpd freeramdisk fuser gunzip gzip id linuxrc netstat pgrep pkill pscan renice strings sysctl telnet tftpd top unix2dos watch zcat Mentre non sono più presenti (poichè rimossi dagli sviluppatori di BusyBox) i comandi: Codice:
e2fsck fsck.ext2 fsck.ext3 mke2fs mkfs.ext2 mkfs.ext3 mkfs.extk I nuovi comandi non sono attivabili direttamente con il loro nome bensi bisogna prefissarli con busybox; ad esempio volendo attivare il programma top bisogna eseguire: Codice:
busybox top Codice:
ln -s /bin/busybox /bin/top Note: A) Fino alla v1.2.x gli attributi di configurazione cross erano interni al config file e andavano specificati come Codice:
USING_CROSS_COMPILER=y CROSS_COMPILER_PREFIX="mipsel-linux-" B) Realteak ha modificato il codice originale init.c di busybox v1.1.3 inserendo la funzione seguente: Codice:
/* This function is used to execute another init. It would normally be used in the situation that root is originally in squashfs and we would like to change root to ram, and therefore updating flash is possible. There need to be a script, /etc/reexec_init/init.script, to do some things in advance. */ #ifdef CONFIG_FEATURE_REEXEC_INIT static void reexec_init_handler(int sig ATTRIBUTE_UNUSED) { /* Send signals to every process _except_ pid 1 */ message(MAYBE_CONSOLE | L_LOG, "Sending SIGTERM to all processes."); kill(-1, SIGTERM); sleep(1); sync(); message(MAYBE_CONSOLE | L_LOG, "Sending SIGKILL to all processes."); kill(-1, SIGKILL); sleep(1); sync(); system("/etc/reexec_init/init.script"); execl("/sbin/init", "/sbin/init", NULL); } #endif C) Utilizzando la v1.15.2 adesso la console riporta i messaggi di attivazione del processo init (di busybox) Codice:
init started: BusyBox v1.15.2 (2009-11-12 11:09:08 CET) starting pid 20, tty '': '/etc/init.d/rcS' nico Ultima modifica di snico_one : 30-12-2009 alle 11:16. Motivo: Link simbolico per nuovi comandi |
20-11-2009, 08:15 | #69 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
Firmware Alternativi
Il sistema (motherboard e firmware) dell'N200 è compatibile con altri sistemi analoghi sabati sul chip RTD1073 della Realtek, tra questi è si evidenzia il prodotto Ryan Playon!HD PV73100.
Ho provato il firmware v7.06.r1757 del 08/09/2009 installato con la procedura normale di aggiornamento del firmware. La veste grafica del PlayonHD è migliore e più gradevole di quella offerta (e molto "povera") dell'N200. Il Playon!HD offre funzioni aggiuntive rispetto all'N200 tra cui: - gestione di HardDisk sata - gstione lettore Dvd - Advanced File Management File Management allows viewing of entire disk drive contents and instant playback of media files Media Library Browser scans and display all Image/Audio/Video contents File Copy, File Paste, File Delete, Add New Folder, Copy All, Delete All Quest'ultime funzioni sono molto utili poichè gestite dal telecomando (senza l'ausilo di un pc esterno). Le funzioni aggiuntive del PlayonHD si riflettono sul telecomando utilizzato come si evidenzia facilmente dalle seguenti figure: I 2 telecomadi sono "compatibili" tra loro poichè generano (quasi) gli stessi codici ma quello del N200 essendo più povero (di tasti) non può supportare tutte le funzioni del PlayonHD. La compatibilità, quindi, non è totale; i tasti dell'N200 che funzionanno con il firmware del PlayonHD sono: Codice:
POWER OFF funziona come StandBy e non PowerOff HOME VOL+ VOL- UP DOWN LEFT RIGHT ENTER FR FF PLAY/PAUSE funziona soltanto come Play e non Pause STOP TV SYS PREV NEXT RETURN MUTE Codice:
OPTION SEARCH EJECT nico Ultima modifica di snico_one : 06-06-2010 alle 09:06. |
20-11-2009, 08:17 | #70 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
Telecomando
|
20-11-2009, 08:31 | #71 |
Senior Member
Iscritto dal: Jun 2003
Città: Merate (LC)
Messaggi: 2205
|
Mi aggiungo alla discussione... dopo aver smanettato un pò ieri con l'n200 ho deciso che potrei rispolverare le mie basi di programmazione per migliore l'n200. Tutte le info qui raccolte sono davvero utili, con pazienza proverò a tirarne fuori qualcosa.
Intanto seguo
__________________
Have a fun! |
20-11-2009, 09:37 | #72 |
Senior Member
Iscritto dal: Jun 2003
Città: Merate (LC)
Messaggi: 2205
|
Nel frattempo segnalo questo wiki: http://rtd1073.wikidot.com/start
Raccoglie diverse informazioni anche riguardo al dvdplayer installato. Sarebbe interessante scoprire se è possibile realizzare un firmware completamente slegato da questo software e magari installare invece all'interno qualcosa di totalmente open in modo da rendere effettivamente la piattaforma aperta.
__________________
Have a fun! |
20-11-2009, 10:16 | #73 |
Senior Member
Iscritto dal: Jun 2003
Città: Merate (LC)
Messaggi: 2205
|
Ecco un punto di partenza per andare a leggere i remote command...
http://consumerelectronicshacker.blogspot.com/
__________________
Have a fun! |
20-11-2009, 11:12 | #74 | |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
Quote:
Dal punto di vista software ci sono tre componenti: - sistema operativo - device driver - applicativo Sul primo ci sono abbastanza informazioni e non ci dovrebbero essere problemi. Sul secondo mancano i dd per gestire audio/video Sul terzo, il DvdPlayer, idem. Sarebbe anche carino gestire il video in FrameBuffer oppure Xserver ma anche qui si è ad un punto morto. nico |
|
20-11-2009, 11:14 | #75 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
|
20-11-2009, 11:15 | #76 | |
Senior Member
Iscritto dal: Jun 2003
Città: Merate (LC)
Messaggi: 2205
|
Quote:
il file può essere scaricato da qui Io lo sto scaricando ora, è un archivio da 410mb... il download è piuttosto lento ma lo lascio andare e poi vi saprò confermare o meno cosa ci sia al suo interno.
__________________
Have a fun! |
|
20-11-2009, 11:32 | #77 | |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
Quote:
tutti i produttori di mediaplayer con RTD1073 rilasciano il source di Linux e soltanto una parte dell'applicativo. In particolare, tra i siti più completi, trovi questo: http://www.mvixusa.com/support/index...temid=50&nav=0 Qui puoi scaricare: Firmware Sourcecode as Provided by Chipset Manufacturer Poi aperto con WinRar (su windows) troverai la directory: GPL\GPL_Release_AP al cui interno ci sono diversi folder/file del tipo: system_branch_src_sharedMemory_integration_xxxxxxx di cui non so come utilizzarli (mi serve un aiuto) ma che sono ausiliari per DvdPlayer. nico |
|
20-11-2009, 11:43 | #78 | ||
Senior Member
Iscritto dal: Jun 2003
Città: Merate (LC)
Messaggi: 2205
|
Quote:
Quote:
Anche perchè lui è riuscito a trovare in questo pacchetto anche la libreria che controlla i comandi del telecomando.
__________________
Have a fun! |
||
20-11-2009, 14:12 | #79 |
Senior Member
Iscritto dal: Dec 2000
Messaggi: 322
|
Source Code
Ricapitolando quanto detto:
il link http://consumerelectronicshacker.blo...t-my-menu.html riporta l'esistenza del DvdPlayer source code per Conceptronic sources: http://download.conceptronic.net/GNU-GPL/CM3Gxx/ Ellion open source: http://www.mediafire.com?sharekey=46...4e75f6e8ebb871 entrambi questi modelli (CM3PVRxx e HMR-351H) però non utilizzano il chip realtek RTD1073. Il source per Ellion è stato compilato per RTD1073 ma su questo sembra non funzionare http://emtec.mhdworld.com/modules/ne...C&type=&mode=0 Sembra invece funzionare su "Iomega ScreenPlay Pro HD" che utilizza però il device 1282. KabOOm, non ho capito da dove hai preso il link (per Elliot Source) che hai indicato; ho visto però che il link http://www.elliondigital.com/eng/download02.html riporta quel link ed altro ancora. nico |
20-11-2009, 14:22 | #80 | |
Senior Member
Iscritto dal: Jun 2003
Città: Merate (LC)
Messaggi: 2205
|
Quote:
In ogni caso si... c'è ancora da "lavorare" ma si può tenere d'occhio quanto fatto finora
__________________
Have a fun! |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:39.