howto: pvr250/350

  • pvr 250/350 install:


    [ eine weitere nutzlose Anleitung zu diesem Biest von Hardware. ;) ]


    Nicht ganz so speziell für gentoo wie olafs anleitung..
    Teilweise auch nicht super elegant, aber immerhin.



    ***************[edit]******************************
    01.0.1.2005:
    Die Anleitung ist mittlerweile etwas betagt. Deswegen bitte ab sofort die aktuelleren ivtv-Versionen 0.2.x von http://205.209.168.201/~ckennedy/ivtv/verwenden!
    Der Patch für ivtv aus dem analogtv Plugin entfällt damit ebenfalls und das script insmod vereinfacht sich. Die Änderungen werden hier in den nächsten Tagen eingepflegt.


    Die Installation einer PVR350 only (die PVR350 als Ausgabedevice, Bedeutung siehe http://www.vdr-wiki.de/wiki/index.php/Ausgabeger%E4te) unterscheidet sich im wesentlichen nur darin, dass ZUSÄTZLICH DAS "pvr350" PLUGIN INSTALLIERT WIRD UND IM SETUP VON ANALOGTV AKTIVIERT WIRD. Die Installation dieses Plugins besteht aus dem kopieren der Sourcen nach $SOURCEDIR/VDR/PLUGINS und dem verlinken des $SOURCEDIR/VDR/PLUGINS/pvr350-$VERSION => $SOURCEDIR/VDR/PLUGINS/pvr350 sowie einem anschließenden 'make plugins' in $SOURCEDIR/VDR.
    Natürlich muss der vdr dann auch mit dem plugin aufgerufen werden ('-P pvr350'), für gewöhnlich in der runvdr und in der setup.conf "analogtv.usePVR350 = 1" gesetzt werden.


    Weiterhin sind für die Installation dieser Karten folgende links Pflicht:
    - http://akool.bei.t-online.de/vdr/analogtv/
    - http://www.vdr-wiki.de/wiki/index.php/Ausgabeger%E4te
    - http://www.vdr-wiki.de/wiki/index.php/Analog-TV
    - http://www.vdr-wiki.de/wiki/index.php/HauppaugePVR
    - http://www.vdr-wiki.de/wiki/index.php/Analogtv-plugin
    - http://www.koneczny.info/AnalogTV
    - http://205.209.168.201/~ckennedy/ivtv/
    - http://ivtv.writeme.ch/tiki-index.php
    - http://www.vdr-wiki.de/wiki/index.php/Kanal_PAL
    ****************[/edit]***************************




    ________________________________________________________________________
    0) benoetigt: compiler, perl, wget
    ________________________________________________________________________


    1) download der sources
    ________________________________________________________________________


    # Die Adressen ändern sich hier bestimmt schnell.
    # Einfach mal auf sourceforge gucken!
    # benötigt: ivtv-0.2.0-rcxx.tar.gz, Video-Frequencies-0.03.tar.gz,
    # Video-ivtv-0.12.tar.gz, Config-IniFiles-2.38.tar.gz,
    # Tk-804.027.tar.gz
    # dabei hilft uns wget:


    mkdir ivtv_install && cd ivtv_install
    wget http://205.209.168.201/~ckennedy/ivtv/ivtv-0.2.0-rc3c.tgz
    wget http://heanet.dl.sourceforge.n…o-Frequencies-0.03.tar.gz
    wget http://voxel.dl.sourceforge.ne…tv/Video-ivtv-0.12.tar.gz
    wget http://search.cpan.org/CPAN/au…nfig-IniFiles-2.38.tar.gz
    wget http://search.cpan.org/CPAN/au…NI/NI-S/Tk-804.027.tar.gz

  • 2) den ivtv Treiber installieren
    ________________________________________________________________________


    tar -xzf ivtv-0.2.0-rcxx.tgz
    cd ivtv/utils
    # mounten des cdrom und extrahieren der Firmware von der Windows Treiber cd,
    # u.U. muss hier der komplette Pfad zur exe angeben werden
    mount /dvd
    ./ivtvfwextract.pl /dvd
    cd ..
    cd driver
    cp ../utils/videodev2.h .
    make
    make install
    cd ../utils
    make
    make install
    cd..


    # wir erstellen mit einem editor ein script namens "insmod.sh":
    # nach erstellen bitte unbedingt "chmod +x insmod.sh" ausführen


    ===============================================================


    ===============================================================


    chmod +x insmod.sh
    # jetzt laden wir den Treiber doch mal und gucken was rauskommt:
    ./insmod.sh ivtv_start
    # und jetzt gucken wir mal was der kernel dazu sagt:
    dmesg
    ..
    tvee: tuner=LG TP18PSB11D (idx=48, type=29)
    ..
    # aha, wir müssen also den treiber tuner mit type=29 laden!
    # Ab ivtv-0.2.x sollte der tuner korrekt erkannt werden, ebenso Kartentyp und -version, falls nicht: für neuere tuner findet sich chris kennedys Seite ein patch für tuner.o
    # okay, der Treiber sollte jetzt korrekt geladen sein.
    cd ..

  • 3) wir installieren etwas Zubehör:
    ________________________________________________________________________


    tar -xzf Video-Frequencies-0.03
    cd Video-Frequencies-0.03
    perl Makefile.PL
    make
    make install
    cd ..


    tar -xzf Video-ivtv-0.12.tar.gz
    cd Video-ivtv-0.12
    perl Makefile.PL
    make
    make install
    cd ..


    tar -xzf Config-IniFiles-2.38.tar.gz
    cd Config-IniFiles-2.38
    perl Makefile.PL
    make
    make install
    cd ..


    tar -xzf Tk-804.027.tar.gz
    cd Tk-804.027
    perl Makefile.PL
    make
    make install
    cd ..


    # okay. wir haben alles und könnten ja mal testen.


    4) der erste Test:
    ________________________________________________________________________


    # wir stellen den Tuner auf PAL und stellen als Videosource den Tuner "Tuner0" ein:


    test_ioctl -u 0xff -p4


    # und gucken mal etwas fern. :o))
    # ( hierzu muß aber der dvb-treiber entladen sein. )


    mplayer /dev/video0


    # hier sollte ein Bildrauschen zu sehen sein.
    # aber wer will schon Rauschen? ;) Also: Sender tunen!
    # in einer andren shell:


    cd ivtv/utils


    # falls du unter X arbeitest:


    ./ptune-ui.pl

    # oder auch ohne X:

    ./ptune.pl --frequency=XXXXXX

    # für die xx'se setzt man eine bekannte Frequenz ein, z.B. 133250

    # okay, der Treiber geht, also eintragen:
    # in die /etc/modules.conf:
    # [edit]: ACHTUNG: einige PVR Karten benötigen andere Einträge hier,
    # deswegen zwei unterschiedliche Einträge von denen einer
    # auszuwählen ist!
    # für ältere WinTV PVR 250/350
    alias char-major-81 videodev
    alias char-major-81-0 ivtv
    options ivtv mpg_buffers=90
    options tuner type=29
    options msp3400 once=1 simple=1
    add below ivtv msp3400 saa7115 tuner

    #für neuere WinTV PVR250/350
    alias char-major-81 videodev
    alias char-major-81-0 ivtv
    options ivtv ivtv_std=2 tda9887=0 mpg_buffers=90
    add below ivtv msp3400 saa7115 saa7127 tda9887
    options msp3400 once=1 simple=1 standard=03
    # [/edit]

  • 5) der vdr mit analogtv
    # hier am Beispiel für einen vdr-1.3.17 und vdr-analogtv-0.9.36


    # downloaden:
    # vdr-1.3.17.tar.bz2
    # vdr-analogtv-0.9.36.tar.bz2
    # und auspacken:


    tar xfj vdr-1.3.17.tar.bz2
    tar xfj vdr-analogtv-0.9.36.tar.bz2
    mv analogtv-0.9.36 vdr-1.3.17/PLUGINS/src
    ln -s vdr-1.3.17 VDR
    cd VDR
    patch -p1 < PLUGINS/src/analogtv/patches/vdr-1.3.0.patch


    # hier noch falls nötig (wahrscheinlich!) libdvb-0.5.4 installieren
    # cd ../DVB
    # tar xfz libdvb-0.5.4.tar.gz
    # cd libdvb-0.5.4/
    # patch -p1 < ../VDR/PLUGINS/src/analogtv/patches/libdvb-0.5.4.patch
    # make
    # make install
    # ACHTUNG: bei make install der libdvb-0.5.4 bricht der Vorgang ab,
    # weil dvb_show_image fehlt, also:
    # show_dvb_image nach dvb_show_image kopieren
    # IMHO ein Fehler im Makefile
    # cd ../VDR


    make REMOTE=LIRC
    cd PLUGINS/src
    ln -s analogtv-0.9.36 analogtv
    cd ../..
    make plugins


    # okay, der erste Start mit analogtv
    # aber erst mal erweitern wir die channels.conf um einen neuen Eintrag:


    wirbels_test:133250:C0D45B6:C:0:301:300:0:A0:28106:0:0:0


    # und jetzt!


    ./vdr -c /etc/vdr -v /video0 -Panalogtv


    # logisch, beim zappen auf diesen Kanal gibt nur Rauschen. War ja auch ne x-beliebige Frequenz!
    # also: wir suchen Kanäle.

  • 6) Kanalsuche nach Dumpfbackenart. Einfach alles stur absuchen.
    ________________________________________________________________________


    # Wir erstellen mal wieder ein script. (jaaa, ich weiß!)
    # nennen wir es einfach .. öhm..
    # tune.sh



    ============================================================

    ============================================================


    # Das Prinzip ist ebenso stumpf wie simpel.
    # Den vdr auf eden Kanal "wirbels_test" stellen
    # (siehe oben!) und dann das script ./tune.sh n einer zweiten shell starten.
    # Das script tunt auf eine neue Frequenz, fragt dann nach dem Tunen
    # "Channel name or return for skipping. Your input?"
    # <Enter>, wenn kein Kanal gefunden wurde, ansonsten KANALNAME<Enter> tippen.
    # Das ganze dann rund 80 mal..
    # uffz. Eben die Holzfällermethode.
    # Zum Schluß muß zu jedem Kanal noch die passende ID aus der Channelmap.h gesucht werden.
    # Wie, verrät die README von analogtv.
    # Und zum Schluß: alles an deine channels.conf anfügen



    7) Fazit
    ________________________________________________________________________



    Die Methode hier ist ganz sicher nicht fehlerlos!
    Und auch nicht unbedingt für absolute linux-Anfänger geeignet.
    Was hier so glatt aussieht hat jede Menge Stolpersteine. Aber vielleicht ist der eine
    oder andre nützliche Tip mit bei.

  • Anhang:


    eine Beispiel channels.conf für VDR-1.3.17 und analogtv-0.9.36 (analoges Kabel für Berlin, Stand: 01.01.2005)


    :analog TV
    ARD:210250:C0D45B6:C:0:301:300:0:A0:28106:0:0:0
    ZDF:196250:C0D45B6:C:0:301:300:0:A0:28006:0:0:0
    SAT.1:203250:C0D45B6:C:0:301:300:0:A0:46:0:0:0
    RTL:217250:C0D45B6:C:0:301:300:0:A0:12003:0:0:0
    ProSieben:294250:C0D45B6:C:0:301:300:0:A0:898:0:0:0
    DSF:319250:C0D45B6:C:0:301:300:0:A0:900:0:0:0
    RTL2:245250:C0D45B6:C:0:301:300:0:A0:12020:0:0:0
    VOX:231250:C0D45B6:C:0:301:300:0:A0:12060:0:0:0
    Super RTL:303250:C0D45B6:C:0:301:300:0:A0:12040:0:0:0
    KABEL1:140250:C0D45B6:C:0:301:300:0:A0:899:0:0:0
    rbb:182250:C0D45B6:C:0:301:300:0:A0:28206:0:0:0
    3sat:161250:C0D45B6:C:0:301:300:0:A0:28007:0:0:0
    NDR:273250:C0D45B6:C:0:301:300:0:A0:28224:0:0:0
    tvb:147250:C0D45B6:C:0:301:300:0:A0:772:0:0:0
    WDR:311250:C0D45B6:C:0:301:300:0:A0:28111:0:0:0
    MDR FERNSEHEN:280250:C0D45B6:C:0:301:300:0:A0:28204:0:0:0
    Bayerisches FS:259250:C0D45B6:C:0:301:300:0:A0:28107:0:0:0
    SÜDWEST BW:623250:C0D45B6:C:0:301:300:0:A0:28113:0:0:0
    arte:335250:C0D45B6:C:0:301:300:0:A0:28109:0:0:0
    Phoenix:287250:C0D45B6:C:0:301:300:0:A0:28114:0:0:0
    FAB:266250:C0D45B6:C:0:301:300:0:A0:1003:0:0:0
    onyx:495250:C0D45B6:C:0:301:300:0:A0:502:0:0:0
    XXP:168250:C0D45B6:C:0:301:300:0:A0:12602:0:0:0
    Tele 5:471250:C0D45B6:C:0:301:300:0:A0:51:0:0:0
    n-tv:133250:C0D45B6:C:0:301:300:0:A0:12730:0:0:0
    BBC World:252250:C0D45B6:C:0:301:300:0:A0:8204:0:0:0
    CNN:238250:C0D45B6:C:0:301:300:0:A0:28512:0:0:0
    N24:327250:C0D45B6:C:0:301:300:0:A0:47:0:0:0
    VIVA:511250:C0D45B6:C:0:301:300:0:A0:12732:0:0:0
    VIVA plus:487250:C0D45B6:C:0:301:300:0:A0:12120:0:0:0
    MTV:503250:C0D45B6:C:0:301:300:0:A0:28653:0:0:0
    MTV2:154250:C0D45B6:C:0:301:300:0:A0:28659:0:0:0
    EuroNews:639250:C0D45B6:C:0:301:300:0:A0:49:0:0:0
    BR alpha:607250:C0D45B6:C:0:301:300:0:A0:4:0:0:0
    3sat:161250:C0D45B6:C:0:301:300:0:A0:34:0:0:0
    XXP:168250:C0D45B6:C:0:301:300:0:A0:33:0:0:0
    VOX:231250:C0D45B6:C:0:301:300:0:A0:32:0:0:0
    CNN:238250:C0D45B6:C:0:301:300:0:A0:31:0:0:0
    RTL2:245250:C0D45B6:C:0:301:300:0:A0:30:0:0:0
    BBC World:252250:C0D45B6:C:0:301:300:0:A0:29:0:0:0
    Bayerisches FS:259250:C0D45B6:C:0:301:300:0:A0:28:0:0:0
    FAB:266250:C0D45B6:C:0:301:300:0:A0:27:0:0:0
    NDR:273250:C0D45B6:C:0:301:300:0:A0:26:0:0:0
    MDR FERNSEHEN:280250:C0D45B6:C:0:301:300:0:A0:25:0:0:0
    Phoenix:287250:C0D45B6:C:0:301:300:0:A0:24:0:0:0
    ProSieben:294250:C0D45B6:C:0:301:300:0:A0:23:0:0:0
    DSF:319250:C0D45B6:C:0:301:300:0:A0:20:0:0:0
    WDR:311250:C0D45B6:C:0:301:300:0:A0:21:0:0:0
    Super RTL:303250:C0D45B6:C:0:301:300:0:A0:22:0:0:0
    arte:335250:C0D45B6:C:0:301:300:0:A0:18:0:0:0
    EuroSport:479250:C0D45B6:C:0:301:300:0:A0:16:0:0:0
    VIVA:511250:C0D45B6:C:0:301:300:0:A0:12:0:0:0
    VIVA plus:487250:C0D45B6:C:0:301:300:0:A0:15:0:0:0
    MTV:503250:C0D45B6:C:0:301:300:0:A0:13:0:0:0
    Fritz analog:8954:C0:C:0:0:300:0:A0:64009:0:0:0
    S-Video In:1:C0D89B6:C:0:301:300:0:A0:99999:0:0:0


    ACHTUNG! VDR-1.2.6 benötigt statt "A0" "32001" und ivtv-0.1.9 benötigt statt "301:300" "160:80" für die VPIDs und APIDs.

  • (optional: epg für die analogen Kanäle)


    # benötigt:
    # tvmovie2vdr-0.1.3.tar.bz2


    1) ein paar perl-Module nach der README des tvmovie2vdr installieren:
    tar xfj tvmovie2vdr-0.1.3.tar.bz2
    cd tvmovie2vdr-0.1.3
    perl -MCPAN -e shell;
    # (evtl. muss beim ersten Aufruf einiges konfiguriert werden,
    # irgendwann hat man dan den cpan-prompt)


    # anschließend:


    install Date::Manip
    install HTML::Entities
    install LWP::UserAgent
    install Compress::Zlib
    quit


    # die Datei config.pl entsprechend deinen
    # Pfaden editieren:
    $channelsfile = "/etc/vdr/channels.conf";
    $epgfile = "/video0/epg.data";


    2) die channels.pl editieren. Der schwierigste Teil.


    # Hier hilft und das script printchannels.pl aus dem Ordner contrib.
    cd contrib


    # Allerdings gibt das script für analogtv falsche Frequenzen an,
    # deswegen editieren wir es vorher:


    if ( $source eq 'T' ) {
    $frequency=substr($frequency, 0, 3);
    }
    if ( $source eq 'C' ) {
    $frequency=substr($frequency, 0, 3);
    }

    $data = $nid>0 ? $tid : $frequency;


    # Auf diese Art und Weise gibt das script nur die ersten drei Stellen der # Frequenz bei Kabel und analog aus.


    # nun rufen wir das script auf:

  • ./printchannels.pl -c /etc/vdr/channels.conf


    # Das script gibt folgendes aus:


    ard C-0-210-28106
    zdf C-0-196-28006
    sat1 C-0-203-46


    # Diese Angaben brauchen wir für die channels.pl:


    @chan{"ard.de"} = ["C-0-210-28106" ,"3" ,"001" ,"37" ,"ARD" ,"71"];
    @chan{"zdf.de"} = ["C-0-196-28006" ,"3" ,"002" ,"36" ,"ZDF" ,"37"];
    @chan{"sat1.de"} = ["C-0-203-46" ,"3" ,"005" ,"38" ,"Sat1" ,"39"];


    3) das script muß gestartet werden.


    # zuerst mal von Hand.
    ./tvm2vdr.pl -v


    # Nachdem das script durchgelaufen ist, haben wir im vdr den epg.
    # (der vdr muß laufen während das script läuft!)


    4) das script muß regelmäßig gestartet werden.


    # Da bietet sich nun eure Phantasie an, ein cronjob wäre hier ideal.
    # Google hilft euch dabei weiter.

  • Du brauchst das script nicht, das ist eher aus didaktischen Gründen hier.
    Die Reihenfolge der Module und deren Parameter sind wichtig, ob du die per modules.conf, mit diesem script oder was andrem lädst ist IMHO relativ wurst. Welche tuner Option du brauchst verrät dir tveeprom.



    Der komplette ivtv sollte allerdings vor den dvb Treibern geladen werden, damit die pvr video0 werden kann..
    Beim Entladen isses egal solange das Modul als unused gekennzeichnet ist..

  • Ich würde die Ausgabe von lspci dazu verwursten.



    Im übrigen könnte man schlicht alle Trei´ber laden; einige bleiben schlicht ungenutzt, andere geben eben ein 'no such module' als Meldung.

  • Wäre eigentlich ganz interessant für die wiki. Aber vllt. mehr was für die Autoren von c't vdr und linvdr.

  • Hi,


    ich bin ein absoluter Newbie in Sachen VDR.


    Beim Stöbern durchs Portal bin ich auf Deine Anleitung gestoßen und wollte sie ausprobieren. Bleibe aber leider schon am Anfang kleben.


    Ich finde das Patch in der


    "patch -p2 < ../vdr-1.3.11/PLUGINS/src/analogtv/patches/ivtv-0.1.9.diff"


    nicht. (vielleicht bin ich aber auch nur zu blöd :-)))) )


    Kannst du mir dieses mal zukommen lassen ?????????


    Wäre Dir SEHR dankbar.



    Gruß


    Goodbunny

  • Hallo,


    naja, bevor ich dir den Patch gebe, und du dir damit dein System zerschiesst, schau bitte vorher mal, ob deine Versionen auch passen:


    VDR 1.3.11
    ivtv 0.1.9


    Ansonsten musst du halt den Pfad zu dem Patch ändern (wenn du ne andere VDR-Version hast) oder einen anderen Patch nehmen (wenn du ne andere ivtv-Version hast).


    Hast du analogtv istalliert? was liegt den alles im dortigen Unterverzeichnis /patches ?


    Grüße
    ED

  • Nimm bitte einen aktuellen ivtv Treiber, der benötigt diesen Patch nicht mehr. Möglichst ivtv-0.20-rcX


    Dann brauchst du allerdings als VPID und APID in der channels.conf die 301 bzw. 300.

  • Hi,


    mußt keine Angst haben das ich mir irgendwas zerschiese :-).


    So oft wie ich den VDR jetzt schon versucht habe aufzusetzen :-(


    naja - schwamm drüber.


    Aber trotzdem danke für deine Bedenken.


    Vielleicht hast du ja noch einen Tip für mich. Ich habe eine PVR350 und ich bekomm die einfach nicht zum laufen. Unter Bills OS läuft die (habe es mal ausprobiert, wegen HW Fehler uns so.)



    Thx and greets


    Goodbunny

  • Hallo Wirbel,


    bin auch gerade dabei mit Hilfe deiner Anleitung eine PVR 250 einzubinden.


    Das Ganze auf Basis Suse 9.2 und zusätzlich ner Siemens DVB-C-Karte. Hab VDR per Hand aufgesetzt und "welch Wunder", nach einigen Versuchen... er läuft.


    Nun habe ich das Analog-Plugin mit Ver. 0.9.36 und den ivtv-0.2.0-rc3a eingespielt (ivtv ohne weiters patchen), die Firmware extrahiert und wollte nun ivtv maken.


    Leider läuft er auf den Fehler


    Makefile:6: /lib/modules/2.6.8-24.5-default/build/.config: No such file or directory


    Was fehlt mir hier? Wie gehts weiter?


    Gruss
    Thomas

  • Na hast du die .config Datei deiner aktuellen Kernelkonfiguration bei Hand? Dann könntest du die dort hin kopieren.