DVB Installation

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(mit Kernel Modulen)
 
(135 dazwischenliegende Versionen von 28 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
Als erstes muss natürlich eine komplette Entwicklungsumgebung mit [[Compiler]] usw. installiert sein, ebenfalls benötigt werden die Kernel-Quellen [http://www.kernel.org] die unter '''/usr/src''' als Benutzer root entpackt werden
 
Als erstes muss natürlich eine komplette Entwicklungsumgebung mit [[Compiler]] usw. installiert sein, ebenfalls benötigt werden die Kernel-Quellen [http://www.kernel.org] die unter '''/usr/src''' als Benutzer root entpackt werden
  
<pre>
+
cd /usr/src
cd /usr/src
+
tar -jxvf linux-<VERSION>.tar.bz2
tar -jxvf linux-<VERSION>.tar.bz2
+
ln -s linux-<VERSION> linux
ln -s linux-<VERSION> linux
+
</pre>
+
  
Normalerweise lassen sie sich auch mit dem Distributionseigenen Installationsprogamm installieren.
+
Normalerweise lassen sie sich auch mit dem Distributionseignen Installationsprogramm installieren.
  
==CVS Installation (Kernel 2.4)==
+
==Querverweise==
 +
* ''aktueller Stand''
 +
** '''[[DVB Installation v4l-dvb]]'''
 +
** '''[[DVB Installation v4l-dvb unter SuSE10.1]]'''
 +
** '''[[DVB Installation v4l-dvb unter SuSE10.2]]'''
 +
** '''[[DVB Installation v4l-dvb unter SuSE10.3]]'''
 +
* ''nicht mehr gepflegt''
 +
** '''[[DVB Installation 1.0.1 (Kernel 2.4)]]'''
 +
** '''[[DVB Installation 1.1.1 (Kernel 2.4)]]'''
 +
** '''[[DVB Installation 1.1.1 (Kernel 2.6)]]'''
  
In das Verzeichnis wechseln, in dem auch der Link "VDR" angelegt wurde.
 
  
=== Download ===
 
DVB-Treiber für Kernel 2.4 holen
 
<pre>
 
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
 
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co -rlinux_2_4 dvb-kernel
 
</pre>
 
  
Danach geht es wie bei [[DVB_Installation#Kompilieren|Standardinstallation (Kernel 2.4) - Kompilieren]] beschrieben weiter
+
==Tipps==
 +
* [[Reihenfolge der DVB-Treiber festlegen]]
 +
* [[C't-VDR - 2. Karte nachträglich einrichten]]
  
== CVS Installation (Kernel 2.6) ==
+
==Links==
=== Vorbemerkung ===
+
# [http://www.kernel.org Linux-Kernel Homepage]
Da man im Kernel 2.6 die DVB Unterstützung auch direkt in den Kernel kompilieren kann, gibt es bei dieser Installationsart 2 Möglichkeiten
+
# [http://linuxtv.org/hg/v4l-dvb aktueller hg Treiber auf LinuxTV]
# CVS Installation mit  Kernel Modulen
+
# [http://news.gmane.org/gmane.linux.drivers.dvb Mailinglist]
# CVS Installation ohne Kernel Module
+
  
===  Download ===
+
[[Kategorie:Installationsanleitungen]]
DVB-Treiber für Kernel 2.6 holen
+
{{i18n|DVB Installation}}
<pre>
+
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
+
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel
+
</pre>
+
=== mit Kernel Modulen ===
+
Voraussetzung ist, daß man bereits die Kernel(!) Sourcen nach "/usr/src/" entpackt und die DVB Treiber über CVS geholt hat.
+
 
+
<pre>
+
cd dvb-kernel
+
./makelinks /usr/src/<kernel>
+
</pre>
+
 
+
Jetzt muß nur noch der Kernel neu gebaut werden
+
 
+
=== ohne Kernel Module ===
+
 
+
==Standardinstallation (Kernel 2.4)==
+
===Voraussetzungen===
+
 
+
Voraussetzung für eine erfolgreiche Übersetzung ist ein Kernel der Version 2.4 mit Unterstützung für
+
 
+
; '''Video4Linux Support  (CONFIG_VIDEO_DEV)'''    : Für den integrierten [[MPEG]]-Dekoder und den Fernsehausgang
+
 
+
; '''Input Core Support  (CONFIG_INPUT)''' and  :
+
; '''Event Device Support (CONFIG_INPUT_EVDEV)''' : Für den Treiber der DVB Fernbedienung
+
 
+
Der Treiber ist auf LinuxTV [http://www.linuxtv.org [2]] verfügbar. Die Version die zur Entwicklung des VDR verwendet wird (und die damit eine gewisse Funktionsgarantie bietet) gibt es auf dessen Homepage ([http://www.cadsoft.de/vdr [3]], [ftp://ftp.cadsoft.de/vdr/Developer/ [4]]).
+
 
+
===Entpacken===
+
Das Archiv wird im selben Verzeichnis in welches später auch [[VDR]] kommt entpackt und ein symbolischer Link auf [[DVB]] angelegt.
+
 
+
 
+
cd [[Struktur|$SOURCEDIR]]
+
tar -zxvf /path/to/linux-dvb.2003-11-08.tar.bz2
+
ln -s linux-dvb.2003-11-08 DVB
+
cd DVB/driver
+
 
+
===Kompilieren===
+
Im Makefile des Drivers (../DVB/driver/Makefile) gibt es eine "Config", entweder vorm Kompilieren anpassen:
+
<pre>##
+
#  Configs
+
#
+
 
+
CARDS = av7110
+
#CARDS += margi
+
#CARDS += em8300
+
CARDS += b2c2</pre>
+
Oder:
+
<pre>make CARDS="av7110"</pre>
+
Ansonnsten:
+
<pre>make</pre>
+
 
+
===Installieren===
+
<pre>make install</pre>
+
===Laden/Entladen===
+
Driver laden:
+
<pre>make insmod CARDS="av7110"</pre>
+
Bei älteren Treibern sollte der Schriftzug von "Convergence" erscheinen.
+
Ansonnsten gibt "lsmod" Auskunft ob die Module geladen wurden.
+
<pre>~ lsmod
+
Module                  Size  Used by
+
lirc_serial            7040  1
+
lirc_dev                8320  1  [lirc_serial]
+
dvb-ttpci            300736  8
+
evdev                  4160  0  (unused)
+
input                  3072  0  [dvb-ttpci evdev]
+
mt312                  5088  0
+
tda1004x                7952  0
+
ves1820                4304  0
+
stv0299                6592  0  (unused)
+
grundig_29504-491      3200  0
+
grundig_29504-401      3584  0
+
alps_tdlb7              4992  0
+
alps_tdmb7              3360  0
+
alps_bsrv2              3456  1
+
dvb-core              36720  31  [dvb-ttpci mt312 tda1004x ves1820 stv0299 grundig_29504-491 grundig_29504-401 alps_tdlb7 alps_tdmb7 alps_bsrv2]
+
videodev                4544  2  [dvb-ttpci]
+
ipv6                  124736  -1  (autoclean)
+
8139too                11936  1  (autoclean)
+
reiserfs              147920  2</pre>
+
Entladen:
+
<pre>make rmmod CARDS="av7110"</pre>
+
 
+
==Standardinstallation (Kernel 2.6)==
+
===Voraussetzungen===
+
Hier gibt es zwei Möglichkeiten zu einem DVB-Treiber zu kommen
+
 
+
* ein extra Treiber
+
* der im Kernel integrierte Treiber
+
 
+
 
+
 
+
====Installation des Treibers über Kernel====
+
Wenn man sich für den Kernel-DVB-Treiber entscheidet, müssen bei den Kernelkonfiguration zusätzlich zu den oben genannten Optionen die folgenden aktiviert werden:
+
 
+
* '''DVB For Linux (CONFIG_DVB)''' :
+
 
+
* '''DVB Core Support (CONFIG_DVB_CORE)''' :
+
 
+
* das entsprechende '''Frontend''' der [[DVB-Karte]] (im Zweifel mehrere) z.B. für eine Hauppauge Nexus mit der Firmware 2.1/2.2 STV0299
+
 
+
Bei einer [[Full-featured-DVB-Karte]]:
+
<pre> AV7110 cards (CONFIG_DVB_AV7110)
+
[x] Compile AV7110 [[firmware]] into the driver (CONFIG_DVB_AV7110_FIRMWARE)
+
[x] AV7110 OSD support (CONFIG_DVB_AV7110_OSD)</pre>
+
 
+
Bei einer [[Budget-DVB-Karte]]:
+
; '''Budget cards (CONFIG_DVB_BUDGET)'''
+
 
+
Nach Möglichkeit sollte der DVB-Treiber als Modul übersetzt werden, da er im Falle eines Absturzes neu geladen werden kann, ohne den Rechner neu starten zu müssen. Nach Abschluss der Konfiguration des Kernels einfach
+
<pre>make modules
+
make modules_install</pre>
+
 
+
== Hinweis: ==
+
Die DVB Treiber von Kernel 2.6 haben jetzt einen offizielles device, dies sitzt auf Major 212 !
+
Um VDR ans laufen zu bekommen müssen diese neu angelegt werden.
+
 
+
'''Achtung !'''
+
Um VDR unter Kernel 2.4 laufen zu lassen die Major Nummer auf 250 ändern!
+
Also ggf. die 212 im Script gegen 250 austauschen.
+
Sonst läuft VDR leider auch unter Kernel 2.4 nicht mehr.
+
 
+
Folgendes Script hilft bei der Umstellung auf Kernel 2.6.
+
 
+
<pre>
+
#!/bin/sh
+
rm -rf /dev/dvb/adapter*/*
+
device=0
+
for card in `seq 0 3`; do
+
device=`echo $card \* 64 | bc`
+
for dev in video audio sec frontend demux dvr ca net osd; do
+
mknod /dev/dvb/adapter${card}/${dev}0 c 212 $device
+
chmod 0660 /dev/dvb/adapter${card}/${dev}0
+
let device=device+1
+
done
+
done
+
</pre>
+
 
+
Script zum laden der Module.
+
 
+
<pre>
+
#!/bin/sh
+
# insmod modules from current directory without having to install them first
+
# KERNELVER=`uname -r`
+
# KERNELDIR="/lib/modules/$KERNELVER/misc"
+
 
+
sync
+
 
+
case "$1" in
+
    load)
+
echo -n -e "\nInserting DVB modules into kernel\n"
+
# make sure input stuff is there for IR remote controls
+
# modprobe input
+
# modprobe evdev
+
# modprobe crc32
+
# vide4linux for av7110 based "full featured" cards
+
# modprobe videodev
+
# insmod $KERNELDIR/v4l1-compat.o
+
# insmod $KERNELDIR/v4l2-common.o
+
# insmod $KERNELDIR/video-buf.o
+
# DVB core
+
# insmod $KERNELDIR/dvb-core.o
+
# frontend drivers
+
# insmod $KERNELDIR/stv0299.o
+
modprobe stv0299
+
# saa7146 based siemens/technotrend/hauppauge cards
+
# insmod $KERNELDIR/saa7146.o
+
# insmod $KERNELDIR/saa7146_vv.o
+
# insmod $KERNELDIR/ttpci-eeprom.o
+
# insmod $KERNELDIR/dvb-ttpci.o
+
modprobe dvb-ttpci
+
echo
+
;;
+
    debug)
+
echo -n -e "\nInserting DVB modules (debug) into kernel\n"
+
# modprobe videodev
+
# modprobe crc32
+
# insmod $KERNELDIR/v4l1-compat.o
+
# insmod $KERNELDIR/v4l2-common.o
+
# insmod $KERNELDIR/video-buf.o
+
# insmod $KERNELDIR/dvb-core.o
+
# insmod $KERNELDIR/stv0299.o
+
modprobe stv0299
+
# insmod $KERNELDIR/saa7146.o
+
# insmod $KERNELDIR/saa7146_vv.o saa7146_debug=247
+
modprobe saa7146_vv saa7146_debug=247
+
# insmod $KERNELDIR/ttpci-eeprom.o
+
# insmod $KERNELDIR/dvb-ttpci.o av7110_debug=247
+
modprobe dvb-ttpci av7110_debug=247
+
echo
+
;;
+
    unload)
+
echo -n -e "\nDeleting DVB modules from kernel\n"
+
rmmod stv0299 dvb-ttpci \
+
ttpci-eeprom \
+
saa7146_vv saa7146 \
+
video-buf v4l2-common v4l1-compat dvb-core videodev crc32 i2c_core
+
echo
+
;;
+
    reload)
+
$0 unload && $0 load
+
;;
+
    *)
+
echo "Usage$0 {load|unload|debug|reload}"
+
exit 1
+
esac
+
 
+
sync
+
</pre>
+
 
+
==Links==
+
{|
+
| [1]
+
| http://www.kernel.org
+
| Linux-Kernel Homepage
+
|-
+
| [2]
+
| http://www.linuxtv.org
+
| LinuxTV Homepage
+
|-
+
| [3]
+
| http://www.linux-dvb.tv/download
+
| Nightly driver snapshots from Convergence DVB driver
+
|-
+
| [4]
+
| http://www.cadsoft.de/vdr
+
| VDR Homepage
+
|-
+
| [5]
+
| ftp://ftp.cadsoft.de/vdr/Developer
+
| VDR Download-Verzeichnis
+
|}
+

Aktuelle Version vom 24. Januar 2010, 16:33 Uhr

Inhaltsverzeichnis

[Bearbeiten] Allgemeine Voraussetzungen

Als erstes muss natürlich eine komplette Entwicklungsumgebung mit Compiler usw. installiert sein, ebenfalls benötigt werden die Kernel-Quellen [1] die unter /usr/src als Benutzer root entpackt werden

cd /usr/src
tar -jxvf linux-<VERSION>.tar.bz2
ln -s linux-<VERSION> linux

Normalerweise lassen sie sich auch mit dem Distributionseignen Installationsprogramm installieren.

[Bearbeiten] Querverweise


[Bearbeiten] Tipps

[Bearbeiten] Links

  1. Linux-Kernel Homepage
  2. aktueller hg Treiber auf LinuxTV
  3. Mailinglist
In anderen Sprachen