Receiver-Mainboard Plattform Philips PNX8950

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Wichtige Links

Hier nur die wichtigsten Links (Hauptdiskussionsthread und andere Wikis), den Rest unter "weitergehende Infos im Netz"


Wichtiger Hinweis

Vor dem Arbeiten an der Platine oder Öffnen des Gehäuses ist der Netzstecker (230V) zu ziehen. Denn: Der Kühlkörper (des Netzteils) führt eine Spannung von 115V!!!

Betriebssysteme

Bestehenden Inhalt aus dem Flash auslesen

Von User AgentData wird freundlicherweise die Erklärung sowie der Source für den Dumper zur Verfügung gestellt. Im Ergebnis bekommt man dafür die Original Firmware-Dateien und kann so den Lieferzustand jederzeit wieder herstellen. Der für den direkten Zugriff auf das NAND benötigte Code befindet sich übrigens in der Datei /Windows/TmToolbox.dll (read/write/erase).

Neues Firmware-Image installieren (MoreTV)

Achtung: Der Flashvorgang der Box besitzt keine Sicherung - da offenbar erst der Speicher gelöscht und dann neu geschrieben wird führt ein Stromausfall während des Vorgangs zu einem formschönen Ziegelstein.

=================================

Installationsvideo: Hier

=================================
  1. Auf einen mit FAT32 formatierten USB-Stick folgende Dateien kopieren:
  • flashing.txt
  • phStbRootApp_256M_0_t.mi
  • phStbRootApp_256M_1_t.mi
  • WinCe1.nb0
Die Dateien befinden sich z.B. im Ordner WCE1 der Datei swu.zip
  1. Receiver ausschalten (Wippschalter auf der Geräterückseite)
  2. SW1 auf ON (DIL Schalter auf Pollin Board)
  3. USB-Stick am USB-Port auf der Geräterück- oder Vorderseite des Receivers anschließen
  4. Receiver einschalten (Wippschalter auf der Geräterückseite)
  5. Auf der Fernbedienung auf Power drücken. Bei einer Fehlermeldung auf dem Bildschirm kann Folgendes probiert werden:
  • Anderer USB Stick (oder eine SD-Karte mit Reader)
  • Bei der Nutzung eines IDE/SATA-Adapters muss die Festplatte via Jumper als Master gesetzt sein, um erkannt zu werden
  • Die Fehlermeldung "ERROR writing update software. Please power cycle the box to try again" zeigt ein fehlerhaftes Image an.

Wenn alles funktioniert, erscheint eine Anzeige auf dem Bildschirm, dass das Update durchgeführt wird und man den Receiver nicht ausschalten soll, bis das Update eingespielt ist. Falls irgendetwas falsch läuft, startet das Windows CE und zeigt den Telegen-Desktop. Dann nochmal alles überprüfen.

  1. Auf dem roten, 4-stelligen Frontdisplay der Box wird nun für die insgesamt 4 Flash-Vorgänge jeweils der Fortschritt in Prozent angezeigt. Achtung: Es werden insgesamt 4 Dateien einzeln geflasht, die Prozentzahl klettert also vier Mal bis auf 100%.
  2. Nach kurzer Zeit (1 oder 2 Minuten) erscheint eine Meldung, dass das Software-Update erfolgreich war
  3. Receiver ausschalten (Wippschalter auf der Geräterückseite)
  4. SW1 auf OFF setzen.

Nun wird die Box beim Einschalten auf dem TV einen hin- und herwandernden roten Balken zeigen. Die weiteren Programmpunkte sind selbsterklärend.

WindowsCE (Original)

  • Windows CE 5.0
  • Windows CE Kernel for MIPS (Built on Mar 29 2005 at 14:00:54)
  • Telegent Kernel V0.9.3.16 (Built on Sep 4 2006 at 22:23:55)

Mit aktiver More.tv Firmware oder bei Err0 während der Flashversuche führt der einfachste Weg zurück zum Auslieferungszustand über das Reflash-Attachment aus dem Forum. Kurzgefasst: Box aus; DIP Schalter 1 auf ON stellen; Dateien (im Wurzelverzeichnis auf Fat32) per USB Speicher in die Box einstecken; Box per Fernbedienung und nicht per Taster auf Frontseite einschalten. Wenn alle vier Flashdurchänge abgeschlossen sind die Box ausschalten und den DIP-Schalter auf Off zurückstellen.

Das oben genannte Attachment enthält folgendes:

  • WinCe0.nb0
  • WinCe1.nb0
  • phStbRootApp_256M_0_t.mi
  • phStbRootApp_256M_1_t.mi
  • flashme.exe
  • flashing.txt


User AgentData hat das im Auslieferungszustand auf dem Gerät befindliche WindowsCE ausgelesen (siehe hierzu Inhalt aus dem Flash auslesen). Dadurch kann beispielsweise eine mit MoreTV "aktualisierte" Box nun auch wieder in den Auslieferungszustand zurückversetzt werden. Die Update-Prozedur ist identisch.

Screenshot der Windows CE 5.0 Oberfläche (über VNC mit der Box verbunden http://efonvnc.sourceforge.net/)

CEscreenshot.png

MoreTv als Medion gelabelt

Die MoreTV-Firmware stammt aus Receivern, welche u.A. von Medion verkauft wurden. Sowohl DVB-T als auch DVB-C werden unterstützt, bei letzterem jedoch kein QAM256. Die Funktionen umfassen EPG, PIP, Timergesteuerte- und Sofortaufnahmen sowie Timeshift.

Ein großes Danke gilt den Benutzern Fritz und M. W.

Verwendete Soft- und Hardware

  1. Festplatte SATA-Anschluss, 160GB oder mehr (im Original 250GB), Formatierung s.u.
  2. USB-Stick, FAT32 formatiert
  3. Software-Archiv: Archiv (Forum, ZIP) oder Teil 1 Teil 2 (Wiki, 2 Teile, 10% Recovery-Informationen, RAR).

Ein Hinweis

Beim Start der Box ohne Modifikation wird WindowsCE gestartet und kann mittels USB-Maus und Tastatur bedient werden. Ohne Festplatte läuft die MoreTV-Software nicht - es erscheint nur ein Startbalken, da ein Teil der Software von der Festplatte geladen wird! Ein Sendersuchlauf sollte direkt nach dem Werksreset durchgeführt werden, da ein nachträglicher Suchlauf zwar Sender findet diese jedoch scheinbar nicht korrekt gespeichert werden (kein Signal) - ein manuelles Hinzufügen der Sender funktioniert jedoch.

Hier nun die Kurzanleitung zum 'Tuning'

=================================

Installationsvideo: Hier

=================================
  • USB-Stick vorbereiten
Den Inhalt des Ordner WCE1, aus der Datei [1] (SWU_Finland_V1.0.3.454), auf einen formatierten USB-Stick (FAT32) kopieren und wie hier beschrieben installieren.
  • Festplatte vorbereiten
  1. Auf der einzubauenden Festplatte eine erweiterte Partition mit zwei logischen Laufwerken mit FAT32-Dateisystem anlegen. Mit dem kostenlosen Windows Programm "EASEUS Partition Master Free" lassen sich die Partitionen leicht anlegen, unter Linux ist FAT32 im Programm fdisk übrigens der Typ 'b'.
  2. Auf das erste logische Laufwerk (minimum 2GB, im Original 19,53GB, das entspricht exakt 20000MB) den gesamten Inhalt des zuvor ausgepackten SoftWareUpdates kopieren.
  3. Die Ordner moreTVn und moreTVn.INIT nach moreTV und moreTV.INIT kopieren.
  4. Das zweite logische Laufwerk (je größer desto besser, im Original 213,4GB) bleibt leer.
Die fehlenden Ordner auf der Festplatte werden beim ersten Starten der Box automatisch angelegt.

ACHTUNG: Die USB-Anschlüsse werden nach der Installation von der MoreTV-Software nicht mehr unterstützt. Eine Ausnahme bildet einzig und alleine das Flash-Update. USB-Speichersticks und Externe-Festplatten werden zwar noch erkannt und als USBDisk in das Dateisystem eingebunden können aber über die MoreTV-Software nicht angesprochen werden. USB-Keyboard und -Maus werden unter MoreTV nicht mehr erkannt und können auch nicht benutzt werden.

Bei der More.TV-Software ist zu beachten, dass im Forum zwei unterschiedliche Versionen zum Einsatz kommen: Zum Einen die oben genannte Update-Version, welche ursprünglich über den Downloadserver der inzwischen insolventen More.TV frei verfügbar war. Zum Anderen haben einige Mitstreiter den Festplatteninhalt einer original Medion-Box kopiert, diese enthalten eine aktuellere Version welche prinzipiell einige Bugs behebt, jedoch wurde die EPG-Funktion eingeschränkt. Die Versionen lassen sich über das "More"-Menü unterscheiden: Heißt der erste Menüpunkt "Programm" handelt es sich um die Update-Version des More.TV-Servers, die Medion-Version zeigt als ersten Punkt die Beschriftung "EPG".

Zeitzonen-Einstellung

Eigentlich sollte sich die Uhrzeit bei richtigem Empfang automatisch einstellen. Dies ist nicht immer der Fall, der folgende Trick hat bei DVB-C geholfen (und zumindest Methode 1 auch bei DVB-T).

Methode 1: Werksreset/Ländereinstellung

Bei der Ländereinstellung muss Finnland ausgewählt und als PLZ 00100 (Helsinki) eingegeben werden. Dazu Setup->Sonstiges->Werkseinstellung aufrufen. Natürlich sind dann alle Einstellungen (Programme) neu einzustellen.

Damit wird die Zeitzone auf Finnland umgestellt +1 Std. Die Finnen haben zwar auch Sommerzeit, da die Sommerzeitumstellung aber ja nicht funktioniert passt es dann. Das muss allerdings zum Ende der Sommerzeit wieder zurückgestellt werden, mit den gleichen Unannehmlichkeiten.

Methode 2: Datenbank ändern

Alternativ lässt sich die Ländereinstellung auf Dateiebene ändern, hierbei handelt es sich jedoch leider um ein binäres Datenbankformat. Die Konfiguration befindet sich in der Datei /HardDisk/moreTV.persistent/tbConfigurations.xbc welche z.B. über FTP erreichbar ist. Die Datei lässt sich z.B. mit einem Hex-Editor wie GHex2 unter Linux öffnen, es sollte eine Struktur mit Wertenamen und deren Variablen erkennbar sein. Recht im Anfang befindet sich eine Einstellung "COUNTRY_ID" - nach vier kleinen Werten befindet sich (hier Offset 0x32) eine ASCII-Zahl, z.B. 1 (0x31) für Deutschland(?). In meinem Fall brachte eine Änderung auf 2 (0x32) mit anschließendem Neustart den gewünschten Effekt für die Zeiteinstellung.

Linux

Der CPU wird pauschal von Linux unterstützt.

Der Kernel ist hier erhältlich:

GCC Cross Compiler

Für das Kompilieren von Programmen und von dem Kernel selber wird ein gcc Cross Compiler benötigt. Hier werden verschiedene Optionen für das Installieren, bzw. Kompilieren beschrieben.

Debian

Ungetestet Bitte testen und anschließend diese Zeile löschen

Emdebian stellt einen MIPS Cross Compiler mit gcc 4.3 zur Verfügung. Für die Installation dieser sind die Anweisungen der Wikipedia von Emdebian zu folgen.

__________________________________________________________________________

Ich habe folgenden Weg auf einem Debian Squeeze AMD64 gewählt:

In der Datei:

/etc/apt/sources.list.d/emdebian.sources.list

deb http://www.emdebian.org/debian/ squeeze main

eingefügt. Beim

apt-get update

Kam folgende Fehlermeldung:

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F

dies kann man mit:

gpg --keyserver pgpkeys.mit.edu --recv-key  010908312D230C5F 
gpg -a --export 010908312D230C5F | sudo apt-key add -

beheben. (Den Key durch den bei euch angezeigten ersetzen)

Danach dann folgende Pakete wie in Embedian angeben installieren. Evtl. sind das auch einige zu viel, wer Ahnung davon hat bitte zusammenkürzen.

apt-get install linux-libc-dev-mipsel-cross
apt-get install libc6-mipsel-cross  libc6-dev-mipsel-cross
apt-get install binutils-mipsel-linux-gnu
apt-get install gcc-4.4-mipsel-linux-gnu
apt-get install g++-4.4-mipsel-linux-gnu
apt-get install apt-cross dpkg-cross

Der Richtige Export ist dann:

export CROSS_COMPILE=mipsel-linux-gnu-

Danach solltet ihr alles fehlerfrei Übersetzen können.

Auf Lauffähigkeit habe ich das u-Boot allerdings noch nicht getestet. (Wird entfernt, wenn es geschehen ist)

Ubuntu

Scheinbar gibt es kein eigenes Package in den Ubuntu Repositories. Aus diesem Grund sollte hier die Beschreibung bei Generischen Linux befolgt werden.

RedHat

Ergänzen Da ich kein RedHat System am Laufen habe, kann ich nicht sagen ob die Distribution ein MIPS Cross Compiler zur Verfügung stellt.

Gentoo

siehe RedHat

Arch

Durch das Paket cross-mipsel-linux-gnu-gcc aus dem AUR kann der Compiler installiert werden.

Generischer Linux

Die hier beschriebenen Optionen sind nicht an eine Distribution gebunden. Der daraus erwachsende Nachteil ist, dass diese Programme nicht im Standard Pfad installiert werden sollten da sie sonst möglicherweise Dateien überschreiben könnten, die unter der Versionsverwaltung der einzelnen Distributionen stehen.

ELDK

Um den Embedded Linux Development Kit zu installieren folgt man am Besten der Anleitung auf der Seite des Herstellers. Zu beachten ist, dass ELDK 4.1 verwendet werden sollte, wenn U-Boot zu kompilieren ist.

crosstool-ng

crosstool-ng automatisiert die Kompilierung und Installation eines Cross Compilers. Das Programm ist normalerweise in den Repositories der verwendeten Linux Distribution enthalten. Ansonsten muss es auf dem Host Rechner kompiliert und installiert werden. In Folge werden anhand beispielhafter Befehle die Schritte für die Erstellung eines Cross Compilers gezeigt:

ct-ng mipsel-unknown-linux-gnu
ct-ng menuconfig
ct-ng build

Im menuconfig sind die Pfade des Compilers anzupassen, wenn diese nicht in $HOME/x-tools installiert werden sollen. Zu beachten ist, dass ct-ng Schreibrechte für den entsprechenden Pfad braucht. Ein mit crosstool-ng erstellter Compiler ist hier zu finden. Zu beachten ist, dass dieser für den Pfad /opt erstellt wurde und auch dort installiert werden muss.

buildroot

In der Standardeinstellung erstellt Buildroot seinen eigenen Cross Compiler, welcher auch außerhalb der Umgebung verwendet werden kann. Hierfür sind die Beschreibungen in der Dokumentation von buildroot zu befolgen. Zu beachten ist, dass ein gcc 4.2.4 verwendet werden sollte, wenn ein Kernel mit der Version 2.6.21 kompiliert wird.

UBoot

U-Boot 2011.09 wurde auf die Receiver Platine portiert. Der Port kann aus der Repository von gihub/tuxx42 bezogen werden. Für die Kompilierung ist ein GCC der Version 4.1 oder Höher notwendig. Zurzeit unterstützt U-Boot das Laden und Booten des Kernels aus dem Netzwerk, aus dem NAND Flash und von der Festplatte. In weiterer Folge werden alle notwendigen Schritte beschrieben um U-Boot auf der Receiver Platine zum Laufen zu bringen.

Vorbereitung

  • Der gesamte Vorgang ist auf einem Linux oder in einer Linux-Ähnlichen Umgebung wie zum Beispiel cygwin (ungetestet) auszuführen.
  • Der MIPS Compiler sollte im Pfad enthalten sein.
  • Es muss das Programm make im Pfad erhalten sein.
kermit

Für das Flashen des endgültigen Systems ist das Programm kermit notwendig. Diese kann bei Debian Varianten über den Befehl

sudo apt-get install ckermit

installiert werden. Die Konfiguration von kermit geschieht am Besten über die Konfigurationsdatei ~/.kermrc. Folgende Einträge haben sich hierbei bewährt:

set line /dev/ttyUSB0  # auf den serielen Port ändern
set speed 38400
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5

In Folge werden einige wichtigen Befehle für die Handhabung von kermit beschrieben. Eine ausführliche Anleitung findet sich auf der Webseite von der Columbia Universität.

(/home/foo/) C-Kermit>send foo.bar

Die Datei foo.bar über die Serielle senden

(/home/foo/) C-Kermit>connect

Verbindet sich zu der seriellen Schnittstelle

Escape Character: strg + strg-alt + ß

Wird gebraucht um wieder auf die kermit Konsole wechseln zu können.

U-Boot Flashen

ACHTUNG Zurzeit sind nur 5MB für den Linux Kernel vorgesehen. Dies reicht nicht aus um den original Elecard Kernel mit einem initrd zu integrieren. Dieser Fehler wird zurzeit behoben und in Kürze ein neues Flash-Paket veröffentlicht.

Das gesamte Archiv aus dem Board auf einen FAT32 formatierten USB-Stick entpacken und die Datei u-boot.img in ein Verzeichnis auf dem Host-Rechner kopieren. Alle weiteren Schritte, wie in System flashen beschrieben, durchführen. Anschließend kermit starten und mit "connect" auf das Terminal verbinden. Nach dem booten von U-Boot muss die Ausgabe "flasher# " auf der seriellen Schnittstelle J2 erscheinen.

  1. Mit "connect" auf die U-Boot Konsole wechseln
    1. loadb 82000000
  2. Mit dem Escape Character und c auf die kermit Konsole wechseln
    1. cd folder/with/u-boot/image
    2. send u-boot.img
  3. Mit "connect" auf die U-Boot Konsole wechseln
    1. mtdparts default
    2. nand erase.part U-Boot
    3. nand write $(loadaddr) U-Boot $(filesize)

Sollten keine Fehler bei dem Beschreiben des Flash aufgetreten sein, so kann U-Boot mit dem Befehl "reset" neu gestartet werden. Bei Fehlern kann der Flasher mittels dem WinCE wieder hergestellt werden.

Sollte der Schreibvorgang mit einem "Attempt to write outside the flash area" fehlschlagen, so sind wahrscheinlich die Umgebungsvariablen von loadb nicht gesetzt worden. In diesem Fall per "printenv" die gesetzten Variablen anzeigen und die Fehlenden ergänzen:

  1. setenv loadaddr 82000000
  2. setenv filesize 38000

Danach kann mit Schritt 3 weitergemacht werden.

Kernel Flashen

Der vorbereitete Kernel vom [ Board] muss vor dem Flashen in den Speicher des Receivers kopiert werden. Wenn eine Netzwerkverbindung besteht, bietet es sich an die Datei aufgrund ihrer Größe mit TFTP statt mit kermit zu kopieren.

  1. Laden des Kernels
    1. Mittels TFTP: tftp $(loadaddr) 111.222.333.444:uImage
    2. Mittels kermit: loadb $(loadaddr)
  2. Flashen des Kernels: Mit "connect" auf die Box wechseln
    1. mtdparts default
    2. nand erase.part Linux
    3. nand write $(loadaddr) Linux $(filesize)

Kernel booten

Der Kernel kann auch von anderen Medien geladen werden, dies wird in den folgenden Abschnitten beschrieben. Voraussetzung hierfür ist, wie auch für das Flashen des Kernels, ein erfolgreich installierter U-Boot Bootloader.

Netzwerk booten

Um den Kernel vom Netzwerk zu booten muss ein TFTP-Server exsistieren, der das Kernelimage bereitstellt. Das Image wird in diesem Beispiel auf dem Server unter /tftboot/pollinux/uImage hinterlegt, wobei tftpboot das Rootverzeichnis des TFTP-Servers ist. Außerdem müssen die Netzwerkeinstellungen des Receivers evtl. angepasst werden:

  1. Mit "connect" auf die U-Boot Konsole wechseln und IP-Adresse des Servers eingeben (z.B. 192.168.0.1):
    1. setenv serverip 192.168.0.1
  2. Netzwerkmaske setzen/korrigieren, wenn nötig:
    1. setenv netmask 255.255.255.0
  3. IP-Adresse des Receivers festlegen (z.B. 192.168.0.3)
    1. setenv ipaddr 192.168.0.3
  4. TFTP-Pfad zum Kernelimage festlegen (z.B. pollinux/uImage - Rootverzeichnis weglassen)
    1. set bootfile pollinux/uImage
  5. Konfiguration speichern im Flash:
    1. saveenv
  6. Booten des Receivers mit TFTP
    1. tftpboot

Sollte diese Methode nicht funktionieren, kann man auch den Kernel von einer nfs-Freigabe laden und starten:

  1. Mit "connect" auf die U-Boot Konsole wechseln und IP-Adresse des Servers eingeben (z.B. 192.168.0.1):
    1. setenv serverip 192.168.0.1
    2. setenv gatewayip 192.168.0.1
  2. Netzwerkmaske setzen/korrigieren, wenn nötig:
    1. setenv netmask 255.255.255.0
  3. IP-Adresse des Receivers festlegen (z.B. 192.168.0.3)
    1. setenv ipaddr 192.168.0.3
  4. NFS-Pfad zum Kernelimage festlegen (z.B. /srv/nfs/pollinux/uImage) - die Freigabe (/srv/nfs/pollinux) muss in der Datei /etc/exports auf dem Server eingetragen werden (z.B. "/srv/nfs/pollinux/ *(rw,no_subtree_check,no_root_squash)" )
    1. set bootfile /srv/nfs/pollinux/uImage
  5. Kernel Image laden
    1. nfs
  6. Starten
    1. boot
Flash booten

Um den geflashten Kernel automatisch zu booten, muss die nandboot-Variable angepasst werden:

  1. Mit "connect" auf die U-Boot Konsole wechseln und Variable aktualisieren:
    1. setenv bootcmd run nandboot
    2. setenv nandboot mtdparts default;nboot Linux;run ideargs addip;bootm
  2. Wenn vom USB-Stick gebootet werden soll, muss evtl. noch das root-device angegeben werden (z.B. /dev/sda1):
    1. setenv rootdev /dev/sda1
  3. Konfiguration im Flash speichern
    1. saveenv
  4. System neustarten
Festplatte booten

<wird noch geschrieben>

U-Boot vom Source kompilieren

Flasher

Die U-Boot git aus-checken, beziehungsweise einen komprimierten Snapshot von gihub/tuxx42 laden. Die folgenden Befehle sind als Anhaltspunkte für das Vorgehen bei der Kompilierung gedacht. Es können Abweichungen durch einen anderen Setup entstehen.

cd u-boot
export CROSS_COMPILE=<mipsel-gcc-prefix->

In dieser Zeile ist der Prefix des Cross Compilers einzufügen. Dieser kann sich zwischen den verwendeten Systemen unterscheiden. Bei der Verwendung von ELDK entspricht dies mips_4KCle-, bei der Verwendung eines mit crosstool-ng oder buildroot erstellten Compiler entspricht dies mipsel-linux-

make mrproper
make pollinux_flasher_config
make
./tools/mkpollinux u-boot.bin 00004000_00040000__loader.bin

Die Originaldatei mit der Ausgabe von mkpollinux auf dem USB Stick ersetzten. Ab hier sind die Anweisungen in System flashen zu befolgen und alle 3 Dateien auf die Box zu flashen. Nach dem Booten ist U-Boot über die gewählte serielle Schnittstelle verfügbar und es kann mit dem Flashen des endgültigen Systems begonnen werden.

U-Boot

Im ersten Schritt muss das endgültige U-Boot kompiliert werden. Hierfür muss U-Boot mit pollinux_config konfiguriert und kompiliert werden. Anschließend können alle weiteren Schritte aus Flasher übernommen werden.


Anpassung von U-Boot

  1. Serielle Schnittstelle: Sollte die Ausgabe auf J33 statt auf J2 geführt werden, so muss in der Datei include/configs/pollinux.h das Define CONFIG_CONSOLE_PORT auf CONFIG_SERIAL_PORT_2 geändert werden.

Elecard

ACHTUNG Diese Anleitung ist veraltet und muss noch aktualisiert werden- bitte auch im Board lesen - Version 0.2 | Version für USB/HDD-Installation ohne NFS

(via AgentData)

Um das NAND zu schonen werden rootfs, userfs, configfs und profile bis auf Weiteres über NFS, also Netzwerk, von einem Linux-PC (oder einer VM) geladen.

Vorbereitungen

  • Das gesamte Archiv aus dem Board auf einen FAT32 formatierten USB-Stick entpacken
  • Linux-PC und Pollin-Box müssen im selben Netzwerk sein, am besten ein Crossover-Kabel verwenden um Netzprobleme ausschließen zu können
  • Die Beispiele gehen davon aus, dass der NFS-Server auf der IP 192.168.0.3 läuft. Die Box nutzt je nach Rootfs DHCP oder ist auf die IP 192.168.0.254 vorkonfiguriert.

System flashen

Hinweise für Entwickler:

  • die cmdline für den Kernel befindet sich im File 00004000_00040000__loader.bin @ offset 0x7000
  • Pollin-Box auf Auslieferungszustand bringen (Anleitung gibts im WIKI)
  • Pollin-Box DIP1 auf OFF (WCE1) und reboot
  • USB-Stick anstecken und flashme.exe starten
  • an der Pollin-Box Taste Pfeil runter oder auf der Fernbedienung die Taste 1 drücken => loader wird geflashed
  • an der Pollin-Box Taste Pfeil hoch oder auf der Fernbedienung die Taste 2 drücken => kernel wird geflashed
  • an der Pollin-Box Taste Pfeil links oder auf der Fernbedienung die Taste 3 drücken => wince0 wird geflashed
    • wince0 ist ein modifiziertes Image welches statt TGUpdater.exe die

flashme.exe vom USB-Stick startet -> erhält uns die Möglichkeit von WinCE aus zu flashen

  • Box ausschalten
  • USB-Stick abziehen Wichtig! Ein Boot mit USB-Stick kann in einigen Konfigurationen den Bootloader zerstören, eine Wiederherstellung der Box ist in diesem Fall nur schwer möglich!
  • DIP1 auf ON

LINUX NFS Server vorbereiten

Die Box erwartet den NFS-Server auf der IP 192.168.0.3

Anm. des Autors: Da ich bis vor einer Woche noch nie ein Linux System von nahem gesehen habe arbeite ich momentan noch mit einer Knoppix Live CD. Sämtliche Pfadangaben beziehen sich also auf dieses System es ist nicht wirklich nötig mit einem USB-Stick zu arbeiten - aber ich denk die Linuxer wissen das. Ich würde trotzdem vorschlagen bis auf weiteres mit Partitionen zu arbeiten da es dann für uns ganz einfach ist Änderungen als ext2 Image der jeweiligen Partition auszutauschen. Nachfolgend also die Anleitung wie ich es bei mir gemacht habe.

Linux-Box booten

...und die Dateien nfsroot.ext2, nfsuser.ext2 und pollinux_start_nfs aus dem Download Archiv auf den Knoppix Desktop kopieren

USB-Stick partitionieren

Mit GParted auf einem USB-Stick vier primäre ext2 Partitionen anlegen

sdb1     50 mb    -> später mounted als rootfs
sdb2    100 mb    -> später mounted als userfs
sdb3      5 mb    -> später mounted als configfs
sdb4      5 mb    -> später mounted als profile
  • abschließend die vier neuen Partitionen mounten
  • bei mir werden sie unter /dev/sdb1 bis /dev/sdb4 bzw. /media/sdb1 bis /media/sdb4 eingehängt
Daten Kopieren

Das nfsroot und nfsuser ext2 image auf den USB-Stick kopieren

  • benötigt werden hier die files nfsroot.ext2 und nfsuser.ext2 aus dem

Download Archiv

  • wenn ihr meine Anleitung befolgt hab liegen sie auf dem Knoppix

Desktop -> wenn nicht müsst ihr die Pfade anpassen

    • /home/knoppix/Desktop/nfsroot.ext2
    • /home/knoppix/Desktop/nfsuser.ext2
  • terminal starten
  • mit su [ret] als superuser einloggen
  • nfsroot kopieren:
    • -> dd if=/home/knoppix/Desktop/nfsroot.ext2 of=/dev/sdb1
  • nfsuser kopieren:
    • dd if=/home/knoppix/Desktop/nfsuser.ext2 of=/dev/sdb2

Achtung Die Imagedateien in der Originaldatei sind beschädigt, stattdessen sollten die Dateien aus der pollinlinux.tar.gz verwendet werden.

NFS Server starten
  • benötigt wird hier das Script pollinux_start_nfs aus dem Download Archiv
  • wenn ihr meine Anleitung befolgt hab liegt es auf dem Knoppix Desktop
    • wenn nicht müsst ihr die Pfade anpassen
    • /home/knoppix/Desktop/pollinux_start_nfs
  • terminal starten
  • mit su [ret] als superuser einloggen
  • nfs server starten:
    • /home/knoppix/Desktop/pollinux_start_nfs

Achtung bei Nicht Live-Systemen: Das Script überschreibt die /etc/exports - es sind folgende Freigaben notwendig:

/pollinux/nandfs                *(rw,insecure,no_root_squash,no_subtree_check)
/pollinux/nandfs.user           *(rw,insecure,no_root_squash,no_subtree_check)
/pollinux/nandfs.config         *(rw,insecure,no_root_squash,no_subtree_check)
/pollinux/nandfs.profile        *(rw,insecure,no_root_squash,no_subtree_check)

Ergänzungen

  • wenn alles glatt läuft müsstet ihr jetzt die Pollin-Box booten können und die Partitionen werden über nfs mounted
  • es gilt jetzt die Scripte für einen fehlerfreien boot anzupassen
  • login als root auf die Pollin-Box funktioniert per telnet problemlos
  • DVB-T-Devices werden erkannt, eine Sendersuche per w_scan war erfolgreich
  • Alternativ zu den USB-Partitionen kann natürlich auch eine einfache NFS-Freigabe verwendet werden, eine Anleitung hat Laszlo H.
  • Beim Boot wird eine serielle Konsole mit 38400bps gestartet
  • Um eine serielle Shell zu erhalten in der /etc/inittab den Eintrag "ttyS1" durch "ttyS0" ersetzen.
  • Der Soundchip wird zwar erkannt, eine Soundausgabe bisher jedoch nicht gelungen.

Folgende Programme lassen sich starten:

  • Haupt-Anwendung (Youtube-Player, XviD von SD-Karte, usw.)
cd /opt/elecard/bin/
./mainapp.sh
  • Ein Webbrowser
cd /usr/local/webkit/
./_start.sh
  • Für DVB-C muss die Datei '/etc/init.d/S30pretmmodules' wie folgt angepasst werden:
#modprobe phStbDemux_dvbpnx8550 fe_model_name="TU1216"
modprobe phStbDemux_dvbpnx8550 fe_model_name="CU1216"

Mit dem Modul werden die nötigen Frontends erstellt, ein Zugriff über die elecard-Mainapp ist möglich, QAM256 wird im Gegensatz zu MoreTV unterstützt.

Interessant zum weiteren Testen

  • MontaVista Linux Professional Edition

Unterstützte Codecs

Quelle: [2]

  • dual: SD MPEG-1/2
  • single: SD MPEG-4, WM9, H264,DivX; HD MPEG-2 (1080i), WM9(720p)
  • Audio: dual stereo (2.0 + 2.0),MPEG-1, Dolby AC-3

Bezugsquellen

Platinen

Zubehör

Netzteil, Gehäuse, Fernbedienung:
SATA:
WLAN:
DVB-T und DVB-C:
DVB-T:
DVB-S:


Entweder zwei identische Tuner bestücken oder exklusiv nur einen. Mischbetrieb ist scheinbar nicht möglich!

  • ...außerdem Plexiglas/Kunststoff-Zuschnitt (13cm x 15cm) als HD-Träger sowie diverse Schrauben aus der PC-Grabbelkiste (7* Gehäuse, 1* Front-USB, 4* Schaltnetzteil, 6* Mainboard, 4* HD-Träger, 4* HD, 3* Frontpanel)
  • ...gut eignet sich auch das Bodenblech aus einem alten CD-Laufwerk: quer eingebaut und den überstehenden Teil abgesägt, 3.5mm-Löcher reingebohrt -- fertig!
  • zu guter letzt wäre ein passender Berührungsschutz für das Schaltnetzteil noch eine sinnvolle Maßnahme zur Vermeidung von Personenschäden. Auch hier kann wieder ein Plexiglas/Kunststoff-Zuschnitt zum Einsatz kommen.

Hardware

Aufbauend auf der Telegent TG 15666 EVO1, auch bekannt als Maxdome 15666 kommt die bei Pollin vertriebene Hardware jedoch mit zusätzlichen Features wie beispielsweise DVB-Tuner, CI-Slot, CONAX-SLot, SATA-Anschluss für interne Festplatte und Display zur Anzeige der Sendernummer.

technische Daten

Hauptprozessor PNX-8950 CPU (little endian)
Flash-ROM 64 MB
RAM-Speicher 256 MB
Festplatte 250 GB (bei original Medion-Gerät)
  • Conditional Access Interface
1 Steckplatz (PCMCIA, DVB Common Interface Standard)
1 Steckplatz (CONAX und andere)
  • A/V & Data In/Out-Anschlüsse extern
Video CVBS/S-VIDEO-Ausgang (PAL)
TV-SCART (PAL/RGB-Ausgang)
VCR-SCART
Audio L/R-Ausgang
Optical S/PDIF Digital Audio- oder Dolby AC-3 Bitstream-Ausgang
serielle Schnittstelle (9-poliger D-Sub Type)
RJ 45 (LAN 10/100MBit)
WLAN-Antennensockel (Reverse-SMA Buchse)
2x USB (1 Vorder-/Rückseite)
2x Tuner (Philips DVB-T Tuner TU1216L/IVP über Input/Loop-Through-Connector F-Type, IEC 169-2, Buchse/Stecker)
  • Ports/Anschlüsse intern
3x USB 2.0 (einer davon über Kabel mit Front-USB verbunden)
2x SATA-150
RS232 (Console)
miniPCI für WLAN-Karte XG-603 (über Verbindungskabel mit U.FL-Stecker an rückwärtige Reverse-SMA Buchse)
  • Tuner & Service Decoder
2 x Philips DVB-T Tuner "TU1216L/I V P" oder DVB-C Tuner "CU1216L/A I G V-3"
RF-Anschlussimpedanz 75Ω
Input/Loop-through-Connector F-Type, IEC 600169-2/24 (IEC-F-Anschluss)
Frequenzbereich 45 ~ 860 MHz
Signalpegel Eingang min. 74 dBm
Modulation QPSK, 16 und 64 QAM
  • MPEG Transport-Stream A/V Decoding
Transport-Stream ISO/IEC 13818-1 MPEG-2
Profile-Level 2x MPEG-2 MP@ML (PIP)
Aspect Ratio 4:3, 16:9, Pan & Scan, Letterbox
Videoauflösung 720x576
Audio-Decoding MPEG-1 Layer 1, 2, 3
  • Stromversorgung
Eingangsspannung 100~240V AC, 1,5 A, 50/60 Hz
Stromaufnahme ohne HDD max. 2 A
Energieverbrauch im Betrieb Max. 50 W, Standby: 12 W
Schutz durch Interne Sicherung (auf Schaltnetzteil eingelötet)
HDD-Stromversorgung on Board
  • Physische Spezifikationen
Größe/Abmessungen (BxHxT) 440 x 265 x 70 mm
Betriebstemperatur +5°C - +40°C

Jumper

  • J1: JTAG (Header 2x5, nicht bestückt)
  • J2: RS-232 Console (3:RX=RS232.3, 5:TX=RS232.2, 9:GND=RS232.5, Header 2x5)
  • J4: (Header 2*10)
  • J6: (Header 2x1, neben HD-Power)
  • J8: (Header 2x3 nicht bestückt)
  • J27: Massepunkt(1:GND, 2:GND, Header 2*1, zwischen SCART und Audio-Buchse)
  • J30: USB Port 4 (über 4 pol Kabel verbunden mit Front USB, Header 1x4)
  • J31: USB Port 3 (Header 1x4)
  • J32: (Header 2x1, nicht bestückt, neben SW1)
  • J33: RS-232 Console (Header 1x6)
  • J34: an PIN 32 DVB-T-Tuner (Header 2x1, neben Tuner 1, bei DVB-C-Tuner nicht benutzt)
  • J35: +5V für aktive Antenne (Header 2x1, nicht bestückt, neben Tuner 1, Zur Spannungsversorgung der am Tuner 1 angeschlossenen aktiven Antenne mit 5V)
  • J36: an PIN 32 DVB-T-Tuner (Header 2x1, neben Tuner 2, bei DVB-C-Tuner nicht benutzt)
  • J37: +5V für aktive Antenne (Header 2x1, nicht bestückt, neben Tuner 2, Zur Spannungsversorgung der am Tuner 2 angeschlossenen aktiven Antenne mit 5V)
  • J41: Anschluss Bedien-PCB, 7-Seg. Display(5 pol)
  • J42: Anschluss Bedien-PCB, Tastatur + Infrarot-Receiver (10 pol)
  • J43: 12V von Schaltnetzteil
  • J45: 12V Spannungsversorgung, nicht bestückt, Hohlbuchse
  • J46: USB Port 2 (Header 1x4)
  • J47: SPDIF-Ausgang

Schalter

SW1: ON: Consoleport 38400 bps, Flashloader aktiv, Softwareupdate von externem USB-Stick laden

OFF: Consoleport@115200N81, Flashloader passiv(default)

SW2: ON: EJTAG enabled

OFF: EJTAG disabled (default)

Wenn man die Serielle zum loggen nutzt, ist zu beachten, dass Ausgaben vom Flashloader (SW1 on) mit 38400 Baud erfolgen, wenn allerdings SW1 auf "off" steht muss man das Terminal auf 115200 8-N-1 stellen.

LEDs

  • LED1: grün, blinkt, wenn am rückwärtigen USB-Anschluss beispielsweise eine Maus angeschlossen ist (zwischen U1 und nicht bestücktem DVI-Chip U42)
  • LED2: blau (neben Befestigungsloch H3)
  • LED3: rot, wahrscheinlich Netzkontroll-LED (Nähe J4)
  • LED4: grün, leuchtet nur ganz schwach (neben LED3, Nähe J4)
  • LED5: grün (neben Prozessor)
  • LED6: blau CPU Heartbeat, blinkt im Sekundentakt (neben Prozessor) - Anmerkung: blinkt nur bei Windows CE!
  • LED7: rot (neben LED5)
  • LED8: grün, zeigt HD-Schreibzugriff bei einer Aufnahme an (neben J6, USB Port 2)

Netzteil

Open Frame Schaltnetzteil, Typ DELTA EADP-50DF (bei Pollin AUSVERKAUFT)

Technische Daten:

  • Eingang 100...240 V~
  • Ausgang 12 V-/4,16 A
  • Leistungsaufnahme unbelastet nur 0,5 W
  • eingangsseitiges Euro-Netzkabel 1,3 m mit Zugentlastung
  • Snap-In Netzschalter (Einbauöffnung 20x13 mm)
  • 4 Bohrungen (ø 3,5 mm) zur Befestigung der Platine
  • Maße (LxBxH): 150x60x26 mm.

Das Netzteil hat elektrisch KEINEN Kontakt zum Gehäuse, es sei denn die mit J4 bezeichnete Brücke wird auf der Netzteilplatine nachträglich eingelötet. Das ganze ist sehr gut auf dem Foto erkennbar. Dieser Jumper sorgt dafür, dass die Masse der Sekudärseite mit dem Gehäuse verbunden wird. Dies passiert sowieso über die Receiverplatine; ein gesetzter Jumper sorgt so eher für eine Masseschleife...

Nicht zu verachten ist jedoch der auf dem Netzteil befindliche Kühlkörper. Dieser führt die halbe Netzspannung, also 115V AC!

ACHTUNG: Gegen versehentliche Berührung sichern. Vor Arbeiten am Gerät immer Netzstecker ziehen!

Aussage von Pollin auf Facebook am 27.2.2012: ... leider ist das Schaltnetzteil (350 943) komplett ausverkauft und bekommen es nicht mehr ins Sortiment.

Bestückungsvarianten der Hauptplatine

DVB-T

DVB-C

Die Box kann hardwareseitig QAM256 modulierte Programme wiedergeben.

DVB-S

Offiziell gab es die Box nur mit DVB-T und DVB-C Tunern. Jedoch ist es möglich, nach Auslöten der original Tuner nachträglich DVB-S Tuner zu verbauen. Gemischter Betrieb ist dabei nicht möglich. Dies liegt unter anderem daran, dass moreTV nicht zwei Senderlisten (für jeden Tuner eine eigene) verwaltet, sondern nur eine gemeinsame Senderliste. Mit einem Tuner aus einer defekten DM7020 (Tuner: Philips SU1278) wurde DVB-S erfolgreich getestet. Bezugsmöglichkeiten: http://www.hm-sat-shop.de/receiver-digital-dreambox/sat-tuner-fuer-dreambox-7020-philips.html

Bilder/Innenleben

Schnittstellen

  • 4x USB (bei Verwendung von moreTV werden die USB-Ports nicht mehr unterstützt)
    • 3x intern: J31 USB Port3, J46 USB Port2
    • 2x extern: J30 USB Port4 (Frontpanel), CON9 (rückwärtiger USB Port1, unterhalb der RJ45-Buchse)
    • Pinout:
  • Pin1: +5V (Rot)
  • PIN2: D- (Weiss)
  • PIN3: D+ (Grün)
  • PIN4: GND (Schwarz)


  • 2x RS-232
  • 1x intern, Pinbelegung (J33)
  • PIN1: GND
  • PIN2: TX (Board->PC)
  • PIN4: RX (PC->Board)


  • 1x extern, Pinbelegung (J2):
  • 6 gnd
  • 5 rx1 r2in MAX2333 (U10)
  • 4 rx2 r1in MAX2333 (U10)
  • 3 tx1 T2out MAX2333 (U10)
  • 2 tx2 T1out MAX2333 (U10)
  • 1 gnd 0
  • das O ist die Markierung auf der Platine

Chips

Übersicht über die verwendeten Bausteine mit Links auf entsprechende Datenblätter, Quellen etc.

Nicht bestückte ICs:

  • U42 DVI (wahrscheinlich Philips TDA9983)
  • U40 ????
  • U41 ????
  • U44 ????
  • U45 ????
  • U48 ????
  • U51 ????
  • U59 ????

Fernbedienung

Bitte bei der Fernbedienung RCX161 von Pollin beachten: Das ist eine FB, die für unterschiedliche Geräte gedacht ist. Wenn die FB nicht im richtigen Modus ist, dann blinkt zwar der Receiver bei jedem Tastendruck, TUT ABER NIX! Die Knöpfe links oben schalten den Code und/oder die Adressen um:
- TV  : schaltet auf RC5 (Adresse 0) um
- STB : schaltet auf NEC-Protokoll (Adresse 68) um. Das ist die Betriebsart für die weiter unten beschriebenen Tastencodes. Beispiel:

       Taste "1" gedrückt --> 446B10EFh wird empfangen. 
       das entspricht Adresse 68 (44h) und Code 16 (10h)

- DVD : schaltet auf NEC-Protokoll (Adresse 0) um.
- VCR : wahrscheinlich JVC-Format (nur 37 Halbbits)

       hier mal ne Aufzeichnung:
       8.1 ms Lo, 3.8 ms Hi, 0.5 ms Lo, 1.39 ms Hi, 0.55 ms Lo ....

- AUX : schaltet auf NEC-Protokoll (Adresse 32)
Die Tastencodes sind je nach Gerät unterschiedlich. Die NEC-Protokolle sind klassisch, d.h. im 1. Byte kommt die Adresse, im 2. Byte die negierte Adresse, im 3. Byte der Tastencode und im 4.Byte der negierte Tastencode. (Es gibt auch FB, die es mit den negierten Adressen und Codes nicht so genau nehmen)

IRMP Codes (nur für den Modus "STB"):

Protokoll: NEC
Geräte ID: 68 (dez) bzw. 0x6B44

Tastencodes
Code Taste
00 0
01 EXIT
02 8
03 INFO
04 4
05 Stumm
06 HELP
07 OK
08 2
09 REC
0B Marker
0C 6
0E Down
0F V-
10 1
11 AV
12 9
13 Right
14 5
15 Archiv
17 P-
18 3
19 Up
1A Yellow
1B Left
1C 7
1D Stop/LIVE
1E RED
1F V+
40 MORE
41 LIST
42 FFWD
44 Chap-
46 Play
48 TV
49 #
4A GREEN
4C EPG
4E SLOW
50 P+
51 *
52 POWER
54 FREW
56 PAUSE
58 Setup
59 TEXT
5A BLUE
5C Chap+
5E PiP

DVI Schnittstelle

Das Layout für eine DVI Buchse ist vorhanden. Leider ist dieses nicht bestückt. Bisher ist keine erfolgreiche Bestückung bekannt. Hier wird nun der aktuelle Stand dokumentiert.

Den aktuellen Stand findet Ihr hier: http://www.mikrocontroller.net/topic/226429

Momentane Bauteilliste:

  • U42: NXP TDA9984BHW
  • D70, D74: BOURNS CDSC706-0504C
  • L121-L124: TDK ACM2012-900-2P
  • U41: ON SEMICONDUCTOR MC74VHC1GT50DFT1
  • Q2, Q3: NXP BSS123 oder BSH112
  • Q25: LM1117IMPX-ADJ
  • L136, L137, L140: ?

Anwendungen und Ideen

Realisierte Projekte/Anwendungen für MoreTV

Hier finden sich Installationsanleitungen zu verschiedenen Softwarepaketen und Erweiterungen. Da das System keine .cab-Dateien unterstützt muss dabei viel manuell erledigt werden. Viele der Anpassungen laufen auch mit dem original Windows CE.

FTP-Server installieren

  • Auf der Festplatte in der Datei "moreTV.cfg" im Abschnitt "Shell_startup" die Zeile für den Start des ftp-Servers einfügen
<Shell_startup>
<run cmd="$H\ftpsvr.exe"/>
<run cmd="$H\moreTV\DC.exe"/>
<run cmd="$H\moreTV\MaxAktiv.exe"/>
</Shell_startup>
  • Den FTP-Server hier downloaden und nach $H:\ kopieren, also in das Hauptverzeichnis des ersten logischen Laufwerkes der Festplatte.
  • Als Login-Daten für den FTP-Server können beliebige Werte eingeben, z.B.
Benutzer: root
Passwort: root

Anmerkungen:

  • Die Exe-Dateien aus dem Windows-Verzeichnis können aber nicht bzw. nicht alle kopiert werden. Im Total-Commander werden die Attribute 555 angezeigt. Vielleicht hat ja noch jemand eine Idee, wie man das überwinden kann. Das sind Dateien, die im ROM angeordnet und bereits auf feste Adressen geladen sind, so dass sie direkt ausführbar sind - also nicht direkt kopier- und an anderer Stelle verwendbar. Idee: wahrscheinlich finden sich diese Dateien in einem Plattform-Kit oder einer EVC-Version (EmbeddedVisualC..) von Microsoft.
  • Der FTP-Server unterstützt nicht alle Befehle des FTP-Protokolls, so ist es mit einigen Clients z.B. nicht möglich eine Datei zu überschreiben - die aktuelle Datei löschen und dann die Neue in den Ordner kopieren funktioniert jedoch.

VNC-Server installieren

  • Auf der Festplatte in der Datei "moreTV.cfg" im Abschnitt "Shell_startup" die Zeile für den Start des vnc-Servers einfügen
<Shell_startup>
<run cmd="$H\winvnc.exe"/>
<run cmd="\Windows\explorer.exe"/>
<run cmd="$H\moreTV\DC.exe"/>
<run cmd="$H\moreTV\MaxAktiv.exe"/>
</Shell_startup>
  • Den VNC-Server hier downloaden und nach $H:\ kopieren, also in das Hauptverzeichnis des ersten logischen Laufwerkes der Festplatte.

Anmerkungen:

  • Sofern More.TV läuft ist auf dem Client nur ein schwarzer Bildschirm zu sehen. Minimiert man es lässt sich die WinCE-Oberfläche normal nutzen.
  • Durch Auskommentieren der Zeile mit MaxAktiv.exe kann man den automatischen Start der More.TV-Software verhindern, man erhält den üblichen Windows-Desktop. Die Software lässt sich später über die genannte EXE manuell starten.

More.TV als UPnP-Client

Die More.TV-Firmware kann prinzipiell als UPnP-AV-Client verwendet werden, also Audio- und Videodateien von einem entsprechend ausgestatteten Netzwerkspeicher abspielen. Die Einrichtung wird durch einen Bug erschwert, die Funktion ist recht beschränkt.

Ist die Box korrekt mit dem Netzwerk verbunden kann unter Setup > Netzwerk > Media-Server der aktive Medienserver ausgewählt werden. Ist nur ein UPnP-AV-Server im Netz verfügbar wird dieser nicht in der Datenbank eingetragen, versucht man im More-Menü auf "Medien" zuzugreifen erhält man die Meldung "No Media Server found. Please check connection". Zur Korrekten Einrichtung müssen im Netz zwei Mediaserver vorhanden sein - wählt man nun auf der Box einen aus der Liste aus wird der Server korrekt gespeichert.

Technische Info: Der aktuelle Mediaserver wird in der Datei /HardDisk/moreTV.persistent/tbConfigurations.xbc als Variable "MEDIA_SERVER" gespeichert. Sie ist als Standard "0", wenn ein Server ausgewählt ist befindet sich hier der UPnP-Server-Name.

Ist ein Mediaserver eingetragen lässt sich der Menüpunkt "Medien" ohne Fehler aufrufen, es bestehen 3 Ordner (Video, Musik, Bilder). Bei den getesteten Linux-UPnP-Servern mediatomb und fuppes waren diese Ordner leer, ein Zugriff auf die Dateien nicht möglich. Mit dem integrieren Server des Windows Media Players können Dateien abgespielt werden, die Formate sind jedoch auf MPEG/TS und WMV (?) beschränkt, andere Formate führen zu Fehlermeldungen oder dem Aufhängen der Box.

The Core Pocket Media Player (TCPMP)

TCPMP ist ein hochoptimiertes Abspielprogramm für Videos und Audio. Eine Anleitung zur Installation auf dieser Box ist bei dreamgates.de zu finden. Es kann wie CE3-Version verwendet werden.

Total Commander

TotalCommander (TCMD) ist ein alternativer Dateimanager welcher u.A. ZIP-funktionalität und Netzwerkzugriff (SMB,FTP) bietet. Die WinCE-Version steht als .cab zum Download auf der Herstellerseite bereit. Sie kann z.B. mit der Software "WinCE Cab Manager" entpackt werden, die Dateien werden in "\Programme\Total Commander" platziert.

Anwendungsideen

Unter Linux

  • Festplattenreceiver
  • Asterisk Server
  • NAS
  • Car-PC
  • Multimedia Client/Server
  • Wetterstation logging Server
  • Solar logging Server

Unter WinCE

  • Festplattenreceiver
  • NAS
  • Car-PC
  • Media Portal Client/Server
  • Kamera Server
  • Spielekonsole für minigames
  • Download Server

ROM entpacken / erweitern

Über die Software dumprom soll sich die Systempartition entpacken lassen, mit romtools vielleicht wieder zusammenbauen.

Über diesen Weg könnte es möglich sein eine bestehende CE-Installation um weitere Funktionen zu ergänzen.

Beide WinCE-Images können entpackt werden. Zumindest meldet Dumprom keine Fehler. Nicht entpackt werden kann bislang nur 0_nboot, Dumprom läuft in eine Endlosschleife.

Hier ein Vergleich des originalen Images mit dem aus der SWU

Dateien in 2_WinCE1, die nicht in SWU_WinCe1 vorkommen:

connmc.exe, connpnl.cpl, conshid.dll, ethman.dll, hidparse.dll, ISP1561-ehci.dll, kbdhid.dll, MouHid.dll, mp3dmod.dll, 
ndispwr.dll, phStbRootApp.sym, rnaapp.exe, tapi.dll, TT7268M_.TTF, usbhid.dll

zusätzliche Bytes: 594940

Dateien in SWU_WinCe1, die nicht in 2_WinCE1 vorkommen:

av_dll.dll, cedrm2.dll, ddcore.dll, ddhel.dll, ddraw.dll, devcerttemplate.dat, DspImageBuild.txt, icm.dll, imaadpcm.dll,
janus_wince.dll, MediaRenderer.dll, mediarenderer.xml, mediarendereravtransportservice.xml,
mediarendererconnectionmanagerservice.xml, mediarendererrenderingcontrolservice.xml, msadpcm.dll, msg711.dll, msgsm610.dll,
msrle32.dll, mTVshell.exe, phStbRootApp_0.mi.size, phStbRootApp_0.sym, phStbRootApp_1.mi.size, phStbRootApp_1.sym, Pnx8550Mmio.dll,
PNX8550_UART.dll, StandbyMicro.mapping, TFFS3.dll, TmStream.dll, wmdrmpd.dat

zusätzliche Bytes: 1587378

Dateien, die ungleich sind: zu viele um sie hier zu posten.

Hardware-Mods

SATA Power-Mod

Der interne Molex für die SATA-Platte liefert an der +12V-Schiene nur ca. 11V welche unter Last bis auf ca. 10V einbrechen können. Für den Anlaufstrom vor allem älterer Festplatten kann dies ggf. zu wenig sein.

Ich habe die +12V der Festplatte vom Molex getrennt und direkt mit der 12V-Schiene des Netzteils verbunden. Da die Kommandos zum Abschalten der Festplatte per SATA gegeben werden ist der Standby-Betrieb durch diese Änderung nicht beeinträchtigt.


Antennenspannung für aktive Antennen über den Receiver (DVB-T)

Neben dem Tuner 1 befinden sich zwei unbestückte Lötaugen (siehe Foto). Werden diese miteinander verbunden, liegt am Antennenanschluss 5V für die Versorgung einer aktiven Antenne über den Receiver an.

weitergehende Infos im Netz

Alles was noch weiterführende Infos bietet. Andere Wikis, Beiträge, etc.