Benutzer-Werkzeuge

Webseiten-Werkzeuge


vdr:vdr-206_12.3_kernel_3.19.8

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
  • VDR 2.2.0
  • Plugins: tvguide, extrecmenu, softhddevice, osdteletext, streamdev, skinenigmang, femon
  • vdradmind 3.6.9

Umstellungen

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.

Scripte

/etc/modprobe.d/50-sound.conf

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

vdr.service

[Unit]
Description=VDR
After=
Wants=
 
[Service]
ExecStart=/usr/local/bin/runvdr
ExecStop=/usr/bin/killall vdr
RemainAfterExit=true
 
[Install]
WantedBy=multi-user.target

vdradmind.service

[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

/etc/sysconfig/vdr

# 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 \
   -Pskinenigmang -Pfemon"
# VDR Konfiguration
VDROPT="-d --lirc -v /srv/video/ -u vdr -g /srv/video/ -E /srv/video/epg.data -w 60 \
   --localedir=/usr/share/locale -L /usr/lib64/vdr -c /etc/vdr -s /usr/local/bin/vdrpoweroff.sh"
 
# Plugin GraphLCD
PARPORTDEV=/dev/parport0
PARPORTMOD=0666
 
# IR Protokoll
IRPROTO=NEC
 
# Soundsystem neustarten
SOUNDRESTART=1

runvdr

#!/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 3; done
lircd --device $(ir-keytable 2>&1 | grep "event" | awk '{print substr($3, 2,length($3)-2)}') --driver devinput
 
# X11 starten
while ps auxww | awk '$0~/Xorg/&&$0!~/awk/{print $2}'|xargs kill; do sleep 3; done
Xorg  vt8 -quiet &
sleep 3
DISPLAY="127.0.0.1:0.0"
export DISPLAY
xhost +localhost
 
# vdr
VDRBIN=$(which vdr)
 
# vdradmind
VDRADM=$(which vdradmind)
 
if [ -x $VDRBIN ] ; then 
        while killall $VDRBIN; do sleep 3; done
        eval "$VDRBIN $VDROPT $VDRPLUGINS"
        sleep 2
fi
vdr/vdr-206_12.3_kernel_3.19.8.txt · Zuletzt geändert: 21.12.2015 08:25 von udo