Gen2VDR mit em84xx

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einleitung

Dieser Artikel entsteht gerade. Mitarbeit ist sehr willkommen.

In diesem Artikel wird beschrieben, wie ein em4xx MPEG-Dekoder Chip als Ausgabedevice mit Gen2VDR genutzt werden kann. Die Anleitung berücksichtigt dabei sowohl die in den Activys verbauten em84xx-Chips als auch Netstream2000 Karten.

Bislang konnte man den em84xx-Chip nur mit 2.4.x-Kerneln verwenden. Im Dezember 2005 hat jedoch Kron Treiber für Kernel>=2.6.15 zur Verfügung gestellt. Die Treiber sind noch recht jung und die DVD-Player Funktionalität des em84xx kann bislang noch nicht genutzt werden. Trozdem funktionieren die Treiber schon recht ordentlich.

Das em84xx-Plugin benötigt Bibliotheken von SigmaDesigns. Da diese mit libc-2.1.3.so (RedHat 6.2) kompiliert sind, wird eine Distribution benötigt, die ebenfalls mit dieser libc kompiliert wurde. Daher scheidet z.B. Linvdr0.7 als Distribution aus.

Gen2vdr installieren

Installieren sie zunächst Gen2VDR wie in dieser Anleitung beschrieben. Ich empfehle jedoch die folgende Kernel-Konfiguration zu benutzen. Zuvor sollte mittels:

emerge sync

das aktuelle Portage geladen werden (meist muss man dies beim ersten Versuch zweimal ausfuehren).

Installation des Kernels 2.6.15

Wechseln sie in das Verzeichnis /usr/src

cd /usr/src

dann den aktuellsten Kernel von www.kernel.org besorgen:

wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.tar.gz

Kernel entpacken:

tar xfvz linux-2.6.15.tar.gz

Die alte .config für den neuen Kernel übernehmen:

cp linux/.config linux-2.6.15/

Oder Sie besorgen sich im VDR-Forum eine passende Konfiguration. http://www.vdr-portal.de/board/thread.php?threadid=44700&sid=

Den Link auf den Kernel anpassen:

rm linux
ln -s linux-2.6.15 linux

In das Kernelverzeichnis wechseln

cd  linux-2.6.15

Alte kernel config übernehmen:

make oldconfig

Im Zweifelsfall bei allen Fragen Enter drücken. Dann mit

make menuconfig

nachschauen ob alle gewuenschten treiber auch ausgewaehlt sind, mit abspeichern verlassen und den kernel kompilieren:

make

Dann die Module installieren:

make modules_install

und den neu gebauten kernel nach /boot kopieren:

cp -v arch/i386/boot/bzImage /boot/bzImage-2.6.15

Als letztes noch die /etc/lilo.conf anpassen:

sed -i /etc/lilo.conf | sed -e "s/2\.6\.13/2\.6\.15/g"

und

lilo

starten.

Wichtiger Hinweis: Es kann nicht schaden, den Inhalt der lilo.conf auf Sinnhaftigkeit zu überprüfen. Nach jeder manuellen Änderung muss aber lilo neu ausgeführt werden.

Das könnte es gewesen sein. Solltest Du lirc benutzen ist noch:

emerge Lirc 

nötig.

Hinweis: Falls sich Lirc nicht emergen lassen sollte, kann auch die lirc-cvs Version verwendet werden. Zur Vorgehensweise sollte man sich dann aber hier im Wiki schlau machen. ->Gentoo und Gen2VDR.

Nach dem Neustart wirds dann spannend:-)

Die em84xx Module installieren

Besorgen Sie sich die neuesten em84xx-Module von Kron:

http://sourceforge.net/projects/em84xx/

oder nehmen Sie alternative das Packchen von Austrian Coder (Folgende Befehle entsprechend anpassen)

http://www.vdr-portal.de/board/thread.php?threadid=46304

Entpacken Sie das Paket:

tar xfvz realmagicem84xx-0.2.tar.gz -C /usr/local/src

Wechseln Sie in das Unterverzeichnis realmagic-0.2

cd /usr/local/src/realmagic-0.2

Kompilieren Sie nun die em84xx Module, in dem Sie auf der Konsole folgendes eingeben:

make

Nun erstellt man sich ein Script zum Laden der Treiber:

(die Zeile echo "tdk5002cctl -s 2" >> /_config/bin/em84xx.sh benötigt man nur falls der Scart-Out einer Activy verwendet werden soll)

echo "#!/bin/sh" > /_config/bin/em84xx.sh
echo "cd /usr/local/src/realmagic-0.2" >> /_config/bin/em84xx.sh
echo "insmod ./realmagic84xx.ko" >> /_config/bin/em84xx.sh
echo "./MAKEDEV-EM8400.sh" >> /_config/bin/em84xx.sh
echo "tdk5002cctl -s 2" >> /_config/bin/em84xx.sh
chmod +x /_config/bin/em84xx.sh

und sorgt dafuer dass dieses beim Starten von der runvdr auch ausgefuehrt wird

sed -i /etc/vdr/runvdr -e "s/^while/sh \/_config\/bin\/em84xx.sh\nwhile/"

Hinweis: Es ist noch nicht endgültig geklärt, ob diese Stelle im Script runvdr optimal ist. Ein wenig Experimentierfreude könnte an dieser Stelle also angebracht sein, falls der VDR nicht mit den em84xx Modulen startet.

Die Netstream 2000 Libaries installieren

Die em84xx benötigt Libaries von Sigma Designs. Besorgen Sie sich daher die Netstream 2000 Treiber:

wget ftp://ftp.sigmadesigns.com/NetStr_2000/Netstream2000-1.6.95.16.tar.gz
tar -C /usr/local/src xfvz Netstream2000-1.6.95.16.tar.gz

Die in dem Paket enthaltenen Treiber müssen nicht kompiliert werden. Es werden lediglich die Libaries benötigt. Kopieren Sie daher die im Verzeichnis lib enthaltenen Dateien in das Verzeichnis /usr/lib:

cp /usr/local/src/Netstream2000-1.6.95.16RC/lib/* /usr/lib/

Abschließend führen Sie folgendes auf der Konsole aus:

ldconfig

Das em84xx-Plugin installieren

Besorgen Sie sich das aktuellst em84xx-Plugin hier:

http://www.arghgra.de/

Entpacken und kopieren Sie es in das Verzeichnis:

/usr/local/src/VDR/PLUGINS/src/

Wechseln Sie in das Verzeichnis /usr/local/src/VDR/PLUGINS/src/

cd /usr/local/src/VDR/PLUGINS/src/

und erzeugen Sie einen symbolischen Link auf das Plugin:

ln -s em84xx-0.0.5/ em84xx

Leider wird mit den Kerneln 2.6.x der dvdplayer (noch) nicht unterstuetzt, daher muss das Plugin ohne DVD Unterstuetzung kompiliert werden:

echo "EMNODVD=1" >> /usr/local/src/VDR/Make.config

Nun muss das Plugin noch kompiliert werden:

cd /usr/local/src/VDR/PLUGINS/src/em84xx
make all

Dann bringt man noch die Plugins auf den aktuellen Stand:

cd /usr/local/src/VDR/
sh ../vdrupd.sh

Und stellt den richtigen Skin ein:

/etc/init.d/vdr stop
mcedit /etc/vdr/setup.conf 

In der Datei nimmt man dann folgende Einträge vor:

OSDSkin = classic4col
OSDTheme = default

oder auch

OSDSkin = classic8col
OSDTheme = default

Mit F2 abspeichern und mit F10 verlassen. Infos zu Skins speziell für Hardware mit em84xx-Chips gibt es hier: http://www.vdr-portal.de/board/thread.php?threadid=37689&sid=

Nach dem Neustart von VDR sollte man nun uebers Admin Plugin das em84xx Plugin aktivieren können. Alternativ kann man das Plugin auch direkt in der /etc/conf.d/vdr aktivieren ( PLUGINS= ).

Sonstiges

Der Watchdog des vdr muss sehr wahrscheinlich abgeschaltet werden:

sed -i /etc/conf.d/vdr -e "s/^WATCHDOG=/#WATCHDOG=/"

Siehe auch

Gentoo

em84xx-plugin

Gen2VDR

Gentoo-Wiki (de)

Links

[1] http://www.vdr-portal.de/board/thread.php?threadid=37634&sid= VDR-Portal: em84xx - Plugin Thread
[2] http://www.vdr-portal.de/board/thread.php?threadid=42911&sid= VDR-Portal: em84xx - Kernel 2.6x Thread
[3] http://people.freenet.de/kron/index.html Krons Homepage - em84xx-Module
[4] http://www.arghgra.de em84xx-Plugin Homepage
[5] http://www.gentoo.org/doc/de/handbook/handbook-x86.xml Deutsche Gentoo Hanbuch - sehr empfehlenswert