Benutzer-Werkzeuge

Webseiten-Werkzeuge


vdr:vdr-220_12.3_kernel_3.19.8

Dies ist eine alte Version des Dokuments!



Warning: preg_match(): Compilation failed: invalid range in character class at offset 3154 in /srv/www/htdocs/udo/singollo.de/linux.singollo.de/public_html/inc/parser/lexer.php on line 118
A PCRE internal error occured. This might be caused by a faulty plugin

{{:vdr:vdr-logo_small.jpg?nolink&200|VDR Logo (c) by Jan Grell}}====== Serverupdate VDR unter openSUSE 12.3 ====== Nach Jahren des Provisoriums habe ich den Server mit "neuer" Hardware ausgestattet, als ich mir ein vernünftiges und wohnzimmertaugliches Gehäuse von Fractal Design gekauft habe. ===== Hardware ===== * Intel Core2 E6300 auf Asus P5K Deluxe (Intel P35) * 4GB DDR2 * 120GB SSD (Samsung SSD 840) * 3x 2TB Festplatten (davon 2 als Raid1 für /srv/video) * Tevii S464 DVB-S/S2 * NVIDIA GeForce GT 240 ===== Software ===== * openSuSE 12.3 mit Kernel 3.19.8 * nVidia-Treiber Version 340.65 * [[ftp://ftp.tvdr.de/vdr/vdr-2.2.0.tar.bz2|VDR 2.2.0]] mit dynamite-Patch * Plugins:\\ - [[http://www.vdr-wiki.de/wiki/index.php/TVGuide-plugin|tvguide]] (1.2.2)\\ - [[http://www.vdr-wiki.de/wiki/index.php/Extrecmenu-plugin|extrecmenu]] (1.2.4)\\ - [[http://www.vdr-wiki.de/wiki/index.php/Softhddevice-plugin|softhddevice]] (0.6.1rc1-git)\\ - [[http://www.vdr-wiki.de/wiki/index.php/Osdteletext-plugin|osdteletext]] (0.9.5)\\ - [[http://www.vdr-wiki.de/wiki/index.php/Streamdev-plugin|streamdev]] (0.6.1-git)\\ - [[http://www.vdr-wiki.de/wiki/index.php/Skinenigmang-plugin|skinenigmang]] (0.1.2)\\ - [[http://www.vdr-wiki.de/wiki/index.php/Femon-plugin|femon]] (2.0.4)\\ - [[http://www.vdr-wiki.de/wiki/index.php/Dynamite-plugin|dynamite]] (0.3.0)\\ - [[http://www.vdr-wiki.de/wiki/index.php/Burn-plugin|burn]] (0.2.2 patched) * vdradmind 3.6.9 ==== Umstellungen ==== === vdr === Beim Übersetzen der Quellen habe ich einige Pfade im Makefile gesetzt, die ich damit nicht mehr auf der Kommandozeile angeben brauche. === Fernbedienung === Bereits der Kernel 3.7.10 bringt bereits alles mit, um die Fernbedienung benutzen zu können. Mit dem Update auf 3.19.8 lief die Fernbedienung leider nicht mehr. Selbst ein neuer LIRCD hat nichts gebracht. Erst nach dem ich die v4l-tools nachinstalliert hatte, konnte ich mit //ir-keytable// auf Fehlersuche gehen. Der IR-Empfänger wurde ja vom Kernel gefunden und eingebunden, nur //irw// konnte nichts damit anfangen. Daher habe ich mit den Optionen von //ir-keytable// gespielt und bin beim IR-Protokoll fündig geworden. Ich musste einfach auf das NEC-Protokoll umstellen, den lircd anders einbinden und die Fernbedienung läuft! Das Startscript ist entsprechend angepasst. === Sound === Auch der Sound wollte am Anfang nicht wirklich. Ich musste die Konfiguration löschen, den Kernel mit den passenden Modulen für AD1988B und HDMI ausstatten und alles neu einrichten. Am Anfang meiner VDR-"Bastelei" habe ich den snd-hda-intel-Treiber nicht richtig verstanden. Ich war der irrigen Meinung, dieser könnte nur eine Soundkarte nutzen, was aber nicht stimmte. Es hat mich ein paar Stunden suchen und probieren gekostet, aber mittlerweile laufen beide Soundkarten. Die Terratec Aureon 7.1 habe ich abgebaut, da ich die nicht mehr brauche, ist aber noch als dritte definiert. === /etc/modprobe.d/50-sound.conf === <code bash> options snd-hda-intel model=6stack-dig,auto enable_msi=0,0 probe_mask=1,0xfff2 options snd slots=snd-hda-intel,snd-hda-intel alias snd-card-0 snd-hda-intel alias snd-card-1 snd-hda-intel alias snd-card-2 snd-usb-audio </code> ==== Probleme ==== Normalerweise startet mein VDR nach dem Booten mit einem fest eingestellten Programm (hier ein Radio). Bisher gab es damit auch kein Problem. Jetzt wird aber die Firmware der Sat-Karte nicht richtig aktiviert. Eine Anpassung der Scripte reichte nicht. Ich musste den VDR mit dem [[http://www.vdr-wiki.de/wiki/index.php/Dynamite-plugin|dynamite-Plugin]] patchen. Das Plugin deaktiviert kurz das Device und aktiviert es wieder. Dazu müssen in der //setup.conf// zwei Zeilen hinzugefügt und eine neue, ausführbare Datei //runvdr_svdrpsend// erstellt werden. === /etc/vdr/setup.conf === <code> dynamite.DefaultGetTSTimeout = 10 dynamite.GetTSTimeoutHandler = /usr/local/bin/runvdr_svdrpsend </code> === /usr/local/bin/runvdr_svdrpsend === <code bash> #!/bin/bash svdrpsend plug dynamite FDTD /dev/dvb/adapter0/frontend0 svdrpsend plug dynamite ATTD /dev/dvb/adapter0/frontend0 </code> ==== Globale Konfiguration ==== === /etc/sysconfig/vdr === Die Variable //XBGIMAGE// ist neu hinzu gekommen und zeigt auf ein Bild für den Hintergrund, wenn der VDR noch nicht gestartet ist oder sich mal beendet hat. Sollte die Variable leer oder auf ein ungültiges Bild verweisen, so wird dieses Feature nicht genutzt. Ich verwende das Logo von Jan Grell (siehe kleines Bild oben, [[http://grell-netz.de/content.php/21?selected=41]], CC BY-ND 3.0 DE), dass ich auf die Auflösung meines TVs skaliert habe. //XMODE// entspricht der physischen Auflösung des Monitors //XOUTPUT//. Ich verwende einen Full-HD LCD-TV von Philips, den ich per HDMI an die Grafikkarte angeschlossen habe. Die Auflösung des Xorg-Servers wird auf 1920x1080 Punkte gesetzt. <code bash> # VDR Plugins VDRPLUGINS="-Ptvguide -Pextrecmenu -P'softhddevice -a hw:1,3 -p hw:1,3 -v vdpau' \ -P'osdteletext -d /var/tmp/vtx' -Pstreamdev-server \ -Pburn -Pskinenigmang -Pfemon -Pdynamite" # VDR Konfiguration VDROPT="-d -w 60 -s /usr/local/bin/vdrpoweroff.sh" # X XBGIMAGE=/etc/vdr/vdr-logo.jpg XMODE="1920x1080" XOUTPUT="HDMI-0" # Plugin GraphLCD PARPORTDEV=/dev/parport0 PARPORTMOD=0666 # IR Protokoll IRPROTO=NEC # Soundsystem neustarten SOUNDRESTART=0 </code> ==== Startscripte ==== === /usr/local/bin/runvdr === <code bash> #!/bin/sh # Konfiguration laden . /etc/sysconfig/vdr # Sprache setzen export LANG="de_DE.UTF-8" # Falls Plugin graphlcd aufgerufen wird if [[ $VDRPLUGINS == *"graphlcd"* ]] ; then # Parport auf 666 setzen if [ -f $PARPORTDEV ] ; then chmod $PARPORTMOD $PARPORTDEV else modprobe ppdev modprobe parport if [ -f $PARPORTDEV ] ; then chmod $PARPORTMOD $PARPORTDEV fi fi fi # Alsa auf Default setzen if [ $SOUNDRESTART -eq 1 ] ; then systemctl restart alsasound fi alsactl restore # Protokoll NEC ir-keytable -p $IRPROTO while killall lircd; do sleep 2; done IRDEV=$(ir-keytable 2>&1 | grep "event" | awk '{print substr($3, 2,length($3)-2)}') if [ -c $IRDEV ] ; then lircd --device $IRDEV --driver devinput fi # X11 starten while ps auxww | awk '$0~/Xorg/&&$0!~/awk/{print $2}'|xargs kill; do sleep 2; done DISPLAY=":0.0" Xorg $DISPLAY vt8 -nocursor -quiet & sleep 2 export $DISPLAY xhost vdr xrandr --output $XOUTPUT --mode $XMODE if [ -f $XBGIMAGE ] ; then xloadimage -fillscreen -onroot $XBGIMAGE fi # vdr VDRBIN=$(which vdr) # vdradmind VDRADM=$(which vdradmind) if [ -x $VDRBIN ] ; then while killall $VDRBIN; do sleep 2; done eval "$VDRBIN $VDROPT $VDRPLUGINS" sleep 2 fi </code> === systemd: vdr.service === <code bash> [Unit] Description=VDR After= Wants= [Service] ExecStart=/usr/local/bin/runvdr ExecStop=/usr/bin/killall vdr RemainAfterExit=true [Install] WantedBy=multi-user.target </code> === systemd: vdradmind.service === <code bash> [Unit] Description=vdradmin After=vdr.service Wants=vdr.service [Service] ExecStart=/usr/bin/vdradmind ExecStop=/usr/bin/vdradmind -k RemainAfterExit=true [Install] WantedBy=multi-user.target </code>

vdr/vdr-220_12.3_kernel_3.19.8.1451255353.txt.gz · Zuletzt geändert: 27.12.2015 22:29 von udo