DVB Installation

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Driver 1.1.1 (Kernel 2.4))
 
(68 dazwischenliegende Versionen von 23 Benutzern werden nicht angezeigt)
Zeile 6: Zeile 6:
 
  ln -s linux-<VERSION> linux
 
  ln -s linux-<VERSION> linux
  
Normalerweise lassen sie sich auch mit dem Distributionseigenen Installationsprogamm installieren.
+
Normalerweise lassen sie sich auch mit dem Distributionseignen Installationsprogramm installieren.
  
==Standard Driver 1.0.1 (Kernel 2.4)==
+
==Querverweise==
===Voraussetzungen===
+
* ''aktueller Stand''
Voraussetzung für eine erfolgreiche Übersetzung ist ein Kernel der Version 2.4 mit Unterstützung für
+
** '''[[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)]]'''
  
* 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
 
  
===Welche Karten für diesen Driver===
+
==Tipps==
Laut '''../DVB/CARDS''' unterstützt dieser Treiber folgende DVB Karten.
+
* [[Reihenfolge der DVB-Treiber festlegen]]
 +
* [[C't-VDR - 2. Karte nachträglich einrichten]]
  
<pre>
+
==Links==
o Frontends drivers:
+
# [http://www.kernel.org Linux-Kernel Homepage]
  DVB-S:
+
# [http://linuxtv.org/hg/v4l-dvb aktueller hg Treiber auf LinuxTV]
  - alps_bsrv2 : Alps BSRV2 (ves1893 demodulator)
+
# [http://news.gmane.org/gmane.linux.drivers.dvb Mailinglist]
  - cx24110 : Conexant HM1221/HM1811 (cx24110 or cx24106 demod, cx24108 PLL)
+
  - grundig_29504-491 : Grundig 29504-491 (Philips TDA8083 demodulator), tsa5522 PLL
+
  - mt312 : Zarlink mt312 or Mitel vp310 demodulator, sl1935 or tsa5059 PLL
+
  - stv0299 : Alps BSRU6 (tsa5059 PLL), LG TDQB-S00x (tsa5059 PLL),
+
    LG TDQF-S001F (sl1935 PLL), Philips SU1278 (tua6100 PLL),
+
  Philips SU1278SH (tsa5059 PLL)
+
  DVB-C:
+
  - ves1820 : various (ves1820 demodulator, sp5659c or spXXXX PLL)
+
  DVB-T:
+
  - alps_tdlb7 : Alps TDLB7 (sp8870 demodulator, sp5659 PLL)
+
  - alps_tdmb7 : Alps TDMB7 (cx22700 demodulator)
+
  - grundig_29504-401 : Grundig 29504-401 (LSI L64781 demodulator), tsa5060 PLL
+
  - tda1004x : Philips tda10045h (td1344 or tdm1316l PLL)
+
  
o Cards based on the Phillips saa7146 multimedia PCI bridge chip:
+
[[Kategorie:Installationsanleitungen]]
  - TI AV7110 based cards (i.e. with hardware MPEG decoder):
+
{{i18n|DVB Installation}}
    - Siemens/Technotrend/Hauppauge PCI DVB card revision 1.1, 1.3, 1.5, 1.6, 2.1
+
      (aka Hauppauge Nexus)
+
  - "budget" cards (i.e. without hardware MPEG decoder):
+
    - Technotrend Budget / Hauppauge WinTV-Nova PCI Cards
+
    - SATELCO Multimedia PCI
+
    - KNC1 DVB-S
+
 
+
o Cards based on the B2C2 Inc. FlexCopII:
+
  - Technisat SkyStar2 PCI DVB
+
</pre>
+
 
+
===Download===
+
* '''Standard'''
+
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, ftp://ftp.cadsoft.de/vdr/Developer
+
* '''CVS'''
+
cd [[Struktur|$SOURCEDIR]]
+
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co DVB
+
 
+
===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 '''$SOURCEDIR/DVB/driver/Makefile''' gibt es eine "Config", entweder vorm Kompilieren anpassen.
+
 
+
##
+
#  Configs
+
#
+
 
+
CARDS = av7110
+
#CARDS += margi
+
#CARDS += em8300
+
CARDS += b2c2
+
 
+
Oder
+
 
+
make CARDS="av7110"
+
 
+
Ansonnsten
+
 
+
make
+
 
+
===Installieren===
+
make install
+
 
+
===Laden/Entladen===
+
Driver laden
+
 
+
make insmod CARDS="av7110"
+
 
+
Bei älteren Treibern sollte der Schriftzug von "Convergence" erscheinen.
+
Ansonnsten gibt '''lsmod''' Auskunft ob die Module geladen wurden.
+
 
+
~ 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
+
 
+
make rmmod CARDS="av7110"
+
 
+
==Driver 1.1.1 (Kernel 2.4)==
+
 
+
===Welche Karten für diesen Driver===
+
* xxxxxxxxxxxxxxxxxxxxxx
+
* xxxxxxxxxxxxxxxxxxxxxx
+
* xxxxxxxxxxxxxxxxxxxxxx
+
* xxxxxxxxxxxxxxxxxxxxxx
+
 
+
===Download===
+
Das Archiv wird im selben Verzeichnis in welches später auch [[VDR]] kommt entpackt und ein symbolischer Link auf [[DVB]] angelegt.
+
 
+
* '''Standard'''
+
http://www.linuxtv.org/download/dvb
+
 
+
cd [[Struktur|$SOURCEDIR]]
+
tar zxvf /path/to/linuxtv-dvb-<VERSION>.tar.bz2
+
ln -s linuxtv-dvb-<VERSION> DVB
+
cd DVB
+
ln -s linux/include include
+
* '''CVS'''
+
cd [[Struktur|$SOURCEDIR]]
+
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
+
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co -rlinux_2_4 dvb-kernel
+
ln -s dvb-kernel DVB
+
cd DVB
+
ln -s linux/include include
+
 
+
===Firmware===
+
Firmware bekommen Sie unter folgender Adresse http://www.linuxtv.org:81/download/dvb/firmware
+
 
+
Bei CVS
+
mv /wo/auch/immer/dvb-ttpci-01.fw-261c [[Struktur|$SOURCEDIR]]/DVB/build-2.4/dvb-ttpci-01.fw
+
 
+
===Kompilieren===
+
cd dvb-kernel/build-2.4
+
./getlinks
+
make
+
 
+
===Laden/Entladen===
+
cd dvb-kernel/build-2.4
+
./insmod.sh load
+
./insmod.sh unload
+
 
+
==Driver 1.1.1 (Kernel 2.6)==
+
===Vorbemerkung===
+
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
+
# CVS Installation mit  Kernel Modulen
+
# CVS Installation ohne Kernel Module
+
 
+
===Welche Karten für diesen Driver===
+
* xxxxxxxxxxxxxxxxxxxxxx
+
* xxxxxxxxxxxxxxxxxxxxxx
+
* xxxxxxxxxxxxxxxxxxxxxx
+
* xxxxxxxxxxxxxxxxxxxxxx
+
 
+
===Download===
+
* '''Standard'''
+
http://www.linuxtv.org/download/dvb
+
* '''CVS'''
+
cd [[Struktur|$SOURCEDIR]]
+
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
+
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel
+
 
+
===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ß(!) der Kernel neu gebaut werden
+
 
+
=== ohne Kernel Module ===
+
Diese Methode ist prinzipiell flexibler, da bei einem Treiberupdate nicht der gesamte Kernel neu gebaut werden muß. Allerdings können die Module nicht(!) über "modprobe" geladen werden, das Laden erfolgt dann zwingend über das "insmod.sh" Script.
+
 
+
<pre>
+
cd dvb-kernel/build-2.6
+
./getlinks
+
make
+
./insmod.sh load
+
</pre>
+
 
+
''' Achtung! '''
+
 
+
Damit VDR die CVS Treiber auch verwendet, muß im VDR Verzeichnis die Variable "DVBDIR" in der Datei "make.config" entsprechend angepasst werden (z.B. "DVBDIR = /usr/local/src/dvb-kernel/build-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>
+
 
+
==Scripts==
+
<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