DVB-S Karte und VDR unter Fedora6 installieren
Aus Fedorawiki.de
| |
Dieser Artikel wurde neu erstellt und bedarf evtl. noch einer Korrekturlesung. Danach kann diese Box entfernt werden. |
Inhaltsverzeichnis |
Einleitung
Dieses HowTo beschreibt, wie eine digitale TV-Karte DVB-S Nexus von Hauppauge unter Fedora Core 6 und Fedora 7 eingerichtet wird. Es wird anhand der Basisinstallation von VDR-1.4.7 erläutert, wie man am PC-Monitor mit Hilfe von xawtv, TV schauen kann.
KDE-Benutzer können auch das TV-Programm kvdr-0.64 verwenden. Als Linux Kernel für FC6 dient die Version kernel-2.6.20-1.2952.fc6 und für Fedora 7 die Version kernel-2.6.21-1.3228.fc7.i686.rpm
Budget-DVB-Karten
DVB-Empfangskarten ohne MPEG-Decoder bezeichnet man als Budget-Karten. Im Zusammenhang mit VDR können sie nur als zweite Empfangskarte neben einer Full-Featured-Karte verwendet werden.
xawtv installieren & konfigurieren
zvbi installieren
yum --enablerepo=extras-i386 install zvbi
xawtv und Abhängigkeiten herunterladen
Folgende Pakete werden für xawtv benötigt.
xawtv für Fedora 7 herunterladen und rpm Paket erstellen
xawtv und Tastatursteuerung
Eintrag in der Datei ~/.xawtv
In das Homeverzeichnis wechseln und die Zeilen ab Tastaturkeys in die Datei .xawtv schreiben. Zum editieren der Datei kann ein beliebiger Editor verwendet werden, z.B. nano, kedit, vim usw.
Tastaturkeys
[eventmap] kbd-key-Return = vdr "HITK" "Ok" kbd-key-Up = vdr "HITK" "Up" kbd-key-Down = vdr "HITK" "Down" kbd-key-M = vdr "HITK" "Menu" kbd-key-BackSpace = vdr "HITK" "Back" kbd-key-Left = vdr "HITK" "Left" kbd-key-Right = vdr "HITK" "Right" kbd-key-F1 = vdr "HITK" "Red" kbd-key-F2 = vdr "HITK" "Green" kbd-key-F3 = vdr "HITK" "Yellow" kbd-key-F4 = vdr "HITK" "Blue" kbd-key-KP_0 = vdr "HITK" "0" kbd-key-KP_1 = vdr "HITK" "1" kbd-key-KP_2 = vdr "HITK" "2" kbd-key-KP_3 = vdr "HITK" "3" kbd-key-KP_4 = vdr "HITK" "4" kbd-key-KP_5 = vdr "HITK" "5" kbd-key-KP_6 = vdr "HITK" "6" kbd-key-KP_7 = vdr "HITK" "7" kbd-key-KP_8 = vdr "HITK" "8" kbd-key-KP_9 = vdr "HITK" "9" kbd-key-F5 = vdr "HITK" "Play" kbd-key-F6 = vdr "HITK" "Pause" kbd-key-F7 = vdr "HITK" "Stop" kbd-key-R = vdr "HITK" "Record" kbd-key-F12 = vdr "HITK" "FastFwd" kbd-key-F11 = vdr "HITK" "FastRew" kbd-key-P = vdr "HITK" "Power" kbd-key-F9 = vdr "HITK" "Channel+" kbd-key-F10 = vdr "HITK" "Channel-" kbd-key-KP_Add = vdr "HITK" "Volume+" kbd-key-KP_Subtract = vdr "HITK" "Volume-" kbd-key-$ = vdr "HITK" "Mute" kbd-key-S = vdr "HITK" "Schedule" kbd-key-C = vdr "HITK" "Channels" kbd-key-T = vdr "HITK" "Timers" kbd-key-G = vdr "HITK" "Recordings" kbd-key-X = vdr "HITK" "Setup" kbd-key-V = vdr "HITK" "Commands" kbd-key-N = vdr "HITK" "None"
DVB Firmware installieren
Original Firmware installieren:
DVB-1.1.1 CVS installieren
Bei Passwort-Frage kann einfach ENTER gedrückt werden.
Benutzergruppe video neu anlegen
DVB Devices anlegen
Mit dem Script MAKEDEV-DVB.sh legen wir die DVB-Devices /dev/dvb* neu an und kopieren sie nach /etc/udev/devices.
udev Regeln für DVB erstellen
Mit der folgenden udev Regel sollen nur Benutzer die der Benutzergruppe video angehören, auf die DVB-Karte zugreifen dürfen. Es ist wichtig, dass die eigene Regel vor der Standard Datei 50-udev.rules aufgerufen wird, da die Regeln in lexikalischer Reihenfolge abgearbeitet werden, dazu erstellt man sich eine Datei deren Zahl niedriger als die der Standard-Datei ist.
Die Standard Udev Regeln sind in /etc/udev/rules.d/50-udev.rules gespeichert, diese Datei sollte man nicht editieren, da diese bei einem UDEV-Update überschrieben wird, statt dessen erstellt man sich eine eigene:
In der Datei /etc/udev/rules.d/52-vdr.rules folgende Zeile hinzufügen:
# DVB devices KERNEL=="dvb*", GROUP="video", MODE="0660"
Zugriffsrechte setzen:
Nun erstellen wir die Datei /etc/security/console.perms.d/96-vdr.perms, das beim Booten die DVB-Devices mit den korrekten Zugriffsrechten im Verzeichnis /dev/dvb/adapter0 erstellt.
mit folgendem Inhalt:
# DVB devices: <vdrdvb>=/dev/dvb/adapter*/* <console> 0660 <vdrdvb> 0660 root.video
Zugriffsrechte setzen:
Nun kann die Konfiguration mit dem Kommando udevtrigger neu eingelesen werden. Damit alle Benutzer, Zugriffsrechte auf die DVB-Karte haben, müssen diese in die Gruppe video aufgenommen werden.
Bestehenden Benutzer in die Gruppe video aufnehmen
Wenn bereits ein Benutzer existiert, dann kann dieser in die Gruppe video aufgenommen werden.
Benutzer neu anlegen und in die Gruppe video aufnehmen
Sollte noch kein Benutzer für VDR existieren, dann kann ein neuer Benutzer angelegt werden.
DVB Module über modprobe.conf laden
Eintrag in der /etc/modprobe.conf. Module werden beim nächsten Start geladen
alias char-major-81 dvb-ttpci
alias char-major-212 dvb-ttpci
alias /dev/dvb/* dvb-ttpci
alias /dev/dvb/adapter0/* dvb-ttpci
alias /dev/video* dvb-ttpci
install dvb-ttpci /sbin/modprobe --ignore-install dvb-ttpci; \
/sbin/modprobe stv0299
VDR installieren und konfigurieren
VDR 1.4.7 installieren
VDR wird als tar.bz2-File bereit gestellt.
AIO Patch Installation
vdr-1.4.7-liemikuutio-1.13.diff.gz vdr-1.4.7-subtitles-0.5.0-and-ttxtsubs-0.0.5.diff.gz
Weitere Plugins installieren
Hier können dann weitere Plugins wie z.B. text2skin, TvOnscreen, remote usw. installiert werden.
Konfigdateien kopieren und Video Ablageverzeichnis erstellen
VDR kompilieren
VDR Startscript runvdr anpassen
# VDR needs to run in non-UTF8 locale
export LANG=de_DE.iso8859-1
export LC_CTYPE=de_DE.iso8859-1
version="1.4.7"
DVBDIR="/lib/modules/`uname -r`/build/"
DVB_INIT_DIR="/etc/init.d"
VDRPRG="/usr/local/src/vdr-$version/vdr"
VDRCMD="$VDRPRG -w 60 -t /dev/tty8 -L /usr/local/src/vdr-$version/PLUGINS/lib -c /VDRConf $* -v /video \
-P sky"
LSMOD="`/sbin/lsmod | grep -w '^dvb' | wc -l`"
KILL="/usr/bin/killall -q -TERM"
# Load driver if it hasn't been loaded already:
# if [ $LSMOD -eq 0 ]; then
# (cd $DVBDIR; make insmod)
(cd $DVB_INIT_DIR; ./dvb start)
# fi
while (true) do
su -c "$VDRCMD" $VDRUSR
if test $? -eq 0 -o $? -eq 2; then exit; fi
date
echo "restarting VDR"
$KILL $VDRPRG
sleep 10
# (cd $DVBDIR; make rmmod; make insmod)
(cd $DVB_INIT_DIR; ./dvb stop; ./dvb start)
date
done
Startupscript für VDR
Die unten stehenden Zeilen ab Initscript vdrd als Datei vdrd mit dem Editor vim oder joe im Verzeichnis /etc/init.d erstellen und in die Dienste eintragen:
# cd /etc/init.d # vi vdrd # Zeilen eintragen und abspeichern # chmod +x vdrd # chkconfig --add vdrd
Initscript vdrd
#!/bin/bash
#
# init.d/vdrd
#
# Tags for Red Hat init configuration tools
# Provides: VDR
# chkconfig: 35 81 81
# Description: Start VDR
# Source function library.
. /etc/init.d/functions
prog=vdr
version="1.4.7"
VDR="/usr/local/src/vdr-"$version"/runvdr"
#XAWTV="exec /usr/bin/xawtv -c /dev/video0 -geometry 1024x768+100+30"
#KVDR="exec /usr/bin/kvdr -f -geometry 1024x768+100+30"
# First reset status of this service
RETVAL=0
start() {
pid=`pidof $prog`
if [ -z "$pid" ]
then
[ -x $VDR ] && $VDR > /dev/null 2>&1 &
RETVAL=$?
else
echo "VDR already running"
fi
# Remember status and be verbose
if [ $RETVAL -eq 0 ]; then
action $"Starting $prog: " /bin/true
else
action $"Starting $prog: " /bin/false
fi
}
stop() {
#echo -n "Unloading DVB Modules"
#cd /usr/DVB/build-2.6
#./insmod.sh unload
#killall vdr 2> /dev/null > /dev/null 2>&1
killall "runvdr"
killall "$prog"
RETVAL=$?
# Remember status and be verbose
if [ $RETVAL -eq 0 ]; then
action $"Stopping $prog: " /bin/true
else
action $"Stopping $prog: " /bin/false
fi
}
restart() {
## Stop the service and regardless of whether it was
## running or not, start it again.
$0 stop
sleep 7
$0 start
}
status() {
## list running vdr processes
ps -fC $prog
# Remember status and be quiet
RETVAL=$?
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit $RETVAL
VDR Dienst vdrd starten
# service vdrd start
Probleme
xawtv bringt kein Bild
Scannen der verfügbaren Video Devices
# xawtv -hwscan This is xawtv-3.95, running on Linux/i686 (2.6.20-1.2948.fc6) looking for available devices port 355-355 type : Xvideo, image scaler name : NV17 Video Texture port 356-387 type : Xvideo, image scaler name : NV05 Video Blitter /dev/video0: OK [ -device /dev/video0 ] type : v4l2 name : dvb flags: overlay capture[/code]
xawtv mit spezifischer Device starten
# /usr/bin/xawtv -noxv -nodga -c /dev/video0 -geometry 1024x768+200+30
VDR startet mit Fehlermeldung vdr: unknown user: 'vdr'
In der Datei /usr/local/src/vdr-1.4.7/runvdr die folgende Zeile abändern:
VDRPRG="/usr/local/src/vdr-$version/vdr -u root"
VDR Kompilierungsfehler
Das Paket libcap-devel nachinstallieren.
Firmware wird nicht geladen
der folgende Eintrag in der Datei /etc/modprobe.d/blacklist-compat genügt, damit die Firmware geladen wird.
blacklist stradis
Wer zugleich einen aktuellen DVB-Kernel-Zweig benötigt, kann sich diesen mit den folgenden Kommandos einbinden: ( Wie man an das neue v4l-dvb Hg-Repository herankommt, steht unter http://linuxtv.org es wurde lediglich CVS durch Hg ersetzt.)
Wer ebenfalls das Problem hat, dass das System sich absolut weigert die Firmware zu laden, sollte wie folgt vorgehen:
Das aktuelle v4l-dvb kompilieren
danach den Rechner am besten neu starten.
weitere Links