VDR mit CineS2 in Xen DOMU

  • Hallo Zusammen,


    ich versuche seit einigen Stunden/Tagen einen VDR in einer Xen DomU zum laufen zu bringen. Leider klappt dies irgendwie nicht.


    Mainboard: Intel S3420
    DVB-Karte: CineS2 V5.5
    Dom0: Debian squeeze 64bit mit Xen 4.0
    DomU: Debian squeeze oder wheezy 32bit paravirtualisiert via bootstrap


    Das ganze soll als Streamingserver im Keller dienen. Eine Video-Anzeige ist also dort nicht nötig. Ich habe es geschafft die PCI-Karte bis an den Gast durchzureichen.

    Code
    lspci
    00:00.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)


    Ich habe schon einige Anleitungen durchprobiert, doch irgendwie kann ich die CineS2 Karte nicht in Betrieb nehmen. Bei der einen Anleitung wird der VDR nicht virtualisiert betrieben, bei der anderen wird eine andere Karte verwendet ... Mir fehlt irgendwie die Übersicht über das Problem.


    Hat jemand von euch einen virtualisierten VDR mit einer / zwei CineS2 Karten in Betrieb und kann mir eine Konfiguration aus Kernel, Distribution, DVB Treibern, Firmware und VDR nennen die funktioniert? Am liebsten würde ich die Programme mit dem Paketmanager installieren.


    Ist es zwingend notwendig die Kernel Sourcen zu besorgen oder gibt es die CineS2 Treiber (für XEN) mittlerweile als Paket?


    Ich bin nicht zwangsweise auf Debian als Gast festgelegt, wenn es eine einfachere Möglichkeit gibt, den VDR in Betrieb zu nehmen wäre das ebenfalls interessant.


    Vielen Dank für eure Hilfe
    Tim


    P.S. Leider lässt die Suchfunktion im Forum den Begriff "xen" nicht zu. Könnte man das ev. ändern?

  • Ist es zwingend notwendig die Kernel Sourcen zu besorgen oder gibt es die CineS2 Treiber (für XEN) mittlerweile als Paket?

    Kannst es ja mit einem s2-liplianin-dkms package versuchen. Musst vorher nur die header-files für deinen xen-domu-kernel installieren.


    Code
    apt-get install linux-headers-`uname -r`
    apt-get install module-init-tools gcc make build-essential dpkg-dev patch
    apt-get install dkms
    wget http://ftp.fbihome.de/iptv/s2liplianin-dkms/packages/deb/s2liplianin-dkms_0~20110301.15387_all.deb
    dpkg -i s2liplianin-dkms_0~20110301.15387_all.deb


    Ansonsten wie hier beschrieben vorgehen http://www.linuxtv.org/wiki/in…_cineS2_DVB-S2_Twin_Tuner

  • So, habe das gerade mal ausprobiert:


    sowohl bei squeeze und bei wheezy gibt es beim Schritt

    Code
    dpkg -i s2liplianin-dkms_0~20110301.15387_all.deb

    Probleme.


    Bei Squeeze erscheint eine Fehlermeldung:

    Code
    Error!  Build of v4l2-compat-ioctl32.ko failed for: 2.6.32-5-xen-686 (i686)
    Consult the make.log in the build directory
    /var/lib/dkms/s2liplianin/0~20110301.15387/build/ for more information.


    Dort werde ich unter anderem gewarnt, dass gewisse Teile einen neueren Kernel benötigen.


    Bei Wheezy erscheint die Fehlermeldung

    Code
    Error! Bad return status for module build on kernel: 2.6.39-2-686-pae (i686)
    Consult /var/lib/dkms/s2liplianin/0~20110301.15387/build/make.log for more information.


    In der make.log steht :


    Woran könnte das liegen?

  • Hallo TimHansen,


    konntest du dein Problem mittlerweile lösen?


    Viele Grüße


    Hoppel

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Hallo hoppel,


    habe es bis jetzt noch nicht lösen können. Im Moment versuche ich einen leicht anderen Ansatz.
    Ich habe gestern ein Debian Wheezy mit 3.0.0 er Kernel installiert, der kann die CineS2 von Haus aus benutzen.
    Nur die Firmware muss man noch gerunterladen:
    http://linuxtv.org/wiki/index.…_cineS2_DVB-S2_Twin_Tuner
    Den VDR habe ich einfach mit apt-get installiert. Das hat gestern gut funktioniert.


    Jetzt versuche ich das ganze HVM virtualisiert.
    Im Moment bin ich ganz zuversichtlich dass es klappen wird.


    Viele Grüße
    Tim

  • Also ohne xen?


    Ich möchte mir demnächst ein xen-server aufsetzen, siehe hier:


    xen mit freenas und vdr


    Viele Grüße


    Hoppel

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Bis jetzt hat es nur ohne Virtualisierung gut geklappt.


    Für mich ist aber Virtualisierung ein muss. Werde daher weiter probieren. Folgende Dinge sind mir dabei aufgefallen.

    • Der 3.0er Kernel hat den ngene Treiber und auch die Xen-Teile von Haus aus dabei. Ihm fehlt jedoch das xen-pciback Modul um die PCI Karte durchzureichen.
    • Der 3.1er Kernel hat den ngene Treiber und auch die Xen-Teiel von Haus aus dabei. Xen-pciback ist dort ein Modul was man noch per Hand nachladen kann. Soweit ich weiß ist das Durchreichen dadurch aber nicht so einfach im Bootloader möglich wie beim 2.6er Xen Kernel von squeeze.
    • Irgendwie scheint es Probleme mit MSI Interrupts zu geben. Welchen Einfluss die Option "pci_msitranslate" dabei hat, kann ich noch nicht sagen.
    • Häufig scheitert das Laden des ngene Treiber mit der Nachricht "ngene: probe of 0000:00:00.0 failed with error -1" in der Datei /var/log/messages
    • Einmal hat es geklappt mit dem 2.6er Xen Kernel in der Dom0 und einem 3.0er oder war es ein 3.1er Kernel als HVM. Dabei waren aber Störungen im Stream. Zudem ist diese Dom0 sehr instabil gelaufen.

    Falls jemand Tipps hat wie man eine CineS2 virtualisiert ans laufen bekommt bin ich darüber sehr dankbar.


    Viele Grüße
    Tim

  • Lass mal das script von neobiker in der Dom0 laufen:

    Bash
    #!/bin/bash
    for dev_id in $( lspci | cut -d\  -f1 ) ; do
        irq=$( dmesg | grep GSI | grep $dev_id | awk '{print $12}' | head -n 1 )
        device=$( lspci | grep $dev_id | cut -d\  -f2- )
        [ -n "$irq" ] && echo "$irq: $dev_id - $device"
    done


    Als Dom0 Kernel kann ich dir nur empfehlen nen vanilla Kernel mit diesen patches hier zu verwenden: http://code.google.com/p/gentoo-xen-kernel/downloads/list
    Läuft bei mir absolut stabil (siehe sig.), jedoch immer noch mit xen 3.4 und nicht 4.x.

  • tecfreak: Das Skript liefert unter dem 3.1er DOM0 Kernel:

    Vermute mal das es dort nicht so funktionierert wie es soll.


    Ich habe es aber mittlerweile ans laufen bekommen.
    Folgende Schritte habe ich unternommen (leider kein Anspruch auf Vollständigkeit bis jetzt). Es sieht zwar aus wie eine Anleitung, hat wahrscheinlich aber nicht die Qualität einer solchen, da es nur auf meinen groben Notizen und Erinnerungen basiert, und ich dabei ev. das ein oder andere vergessen haben könnte.

    • Debian Wheezy (testing) hier heruntergeladen http://www.debian.org/CD/http-ftp/index.de.html
    • Wheezy mit 3.0er Kernel installiert
    • "deb http://ftp.de.debian.org/debian experimental main " in /etc/apt/sources.list hinzugefügt
    • "linux-image-3.1.0-rc7-amd64" via aptitude installiert
    • "xen-linux-system-3.1.0-rc7-amd64" via aptitude installiert
    • "xen-tools" via aptitude installiert
    • Neustart und sich merken unter welchem Hauptmenu und Untermenüeintrag sich der richtige Eintrag verbirgt
    • In der Datei /etc/default/grub den Eintrag GRUB_DEFAULT anpassen. Bei mir: GRUB_DEFAULT="4>0"
    • Danach update-grub durchführen
    • Laden des ngene Moduls verhindern
      Code
      echo "blacklist ngene" > /etc/modprobe.d/blacklist-ngene.conf
      update-initramfs -u
    • xen-pciback immer laden
      Code
      echo "xen-pciback"  >> /etc/modules
    • pciback Optionen definieren (Bitte "0000:06:00.0" durch die PCI Adresse der CineS2 ersetzten. Kann man mit lspci herrausfinden)
      Code
      echo "# hide (0000:06:00.0)" >>  /etc/modprobe.conf
      echo "options xen-pciback hide=(0000:06:00.0) " >>  /etc/modprobe.conf
    • Neustarten
    • Überprüfen, dass "ngene" nicht geladen wird:
      Code
      cat /var/log/messages | grep ngene

      sollte keine aktuellen Einträge mehr liefern

    • Überprüfen, dass die PCI Karte zugeordnet werden kann
      Code
      xm pci-list-assignable-devices

      sollte die Adresse der Karte zurückgeben

    • "(network-script network-bridge)" in /etc/xen/xend-config.sxp einkommentieren
    • in /etc/xen-tools/xen-tools.conf folgendes einstellen
      Code
      dir = /home/xen
      size   = 10Gb  # Disk image size.
      memory = 512Mb# Memory size
      swap   = 512Mb# Swap size
      dhcp = 1
      passwd = 1
    • Mittels "xen-create-image --hostname PV" eine Virtuelle Maschine anlegen
    • In die Date /etc/xen/PV.cfg folgendes hinzufügen. Adresse wieder entsprechend anpassen
      Code
      pci = [ '06:00.0' ]
      extra ='iommu=soft'
    • Mittels "xm create PV.cfg" die DomU starten
    • Mittels "xm console PV" in die DomU wechseln
    • Dort "pciutils" via aptitude installieren
    • Jetzt sollte "lspci" dort die Karte anzeigen
    • "cat /var/log/messages | grep ngene" sollte etwas liefern wie
      Code
      ngene: Copy ngene_18.fw to your hotplug directory!
    • Jetzt die Firmware Datei der CineS2 herunterladen und an die richtige Stelle kopieren. Je nach Version der CineS2 kann es ein anderer Download Link sein siehe Anleitung auf LinuxTV
      Code
      cd ~
      wget http://l4m-daten.de/downloads/firmware/dvb-s2/linux/all/ngene_18.fw
      cp ngene_18.fw /lib/firmware
    • die PV neustarten
    • Falls es zu großen Problemen in der PV kommt (Der Kernel spuckt komische Meldungen aus und "dmesg | grep ngene" spuckt etwas aus wie:


      Dann hat man wahrscheinlich das

      Code
      extra   ='iommu=soft'

      vergessen. Falls dies auftritt sollte man aber die ganze Dom0 neustarten, ansonsten will die Karte nicht mehr.

    • Ein korrekt initialisierter ngene Treiber liefert z.B. folgendes auf "dmesg | grep ngene"
      Code
      [1.941926] ngene 0000:00:00.0: enabling device (0000 -> 0002)
      [1.942093] ngene 0000:00:00.0: Xen PCI mapped GSI16 to IRQ27
      [1.942116] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
      [1.952999] ngene 0000:00:00.0: setting latency timer to 64
      [1.953094] ngene: Device version 1
      [2.237704] ngene: Loading firmware file ngene_18.fw.
    • In der PV nimmt man nun folgende Änderungen vor
    • vdr mittels aptitude installieren
    • "vdr-plugin-streamdev-server" via aptitude installieren
    • erlaubte IP Adressen dem VDR hinzufügen. (ggf anpassen)
      Code
      echo "192.168.0.0/16" >> /etc/vdr/svdrphosts.conf
      echo "192.168.0.0/16" >> /etc/vdr/plugins/streamdevhosts.conf
    • PV neustarten
    • mittels "ifconfig" die IP der PV herausfinden
    • jetzt sollte man falls alles geklappt hat mit dem VLC Player den Stream "http://[IP der PV]:3000/TS/1" empfangen können

    Ich hoffe ich konnte damit dem ein oder anderen bei der Einrichtung seines XEN-VDRs helfen. Ev. schreibe ich noch eine echte Anleitung


    Viele Grüße
    Tim

  • Ich hoffe ich konnte damit dem ein oder anderen bei der Einrichtung seines XEN-VDRs helfen. Ev. schreibe ich noch eine echte Anleitung


    Nun konntest du ja schon ein paar Tage testen. Läuft das Ganze stabil? An einer echten Anleitung wär ich interessiert, aber mit diesen Informationen ist mir in jedem Fall schonmal geholfen. Sehr schön, alles mit nem 3er Kernel, das gefällt mir.


    Danke dafür!


    Viele Grüße

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Gibts einen Grund, weshalb du nicht das aktuelle XEN 4.1 nimmst? Kann mir als Grund nur ein zu kleines RAM vorstellen. Bei mir läuft XEN 4.1 wesentlich stressfreier als die 3er Versionen, die allerdings weniger RAM verbraten haben.


    Gruß
    iNOB

  • Gibts einen Grund, weshalb du nicht das aktuelle XEN 4.1 nimmst? Kann mir als Grund nur ein zu kleines RAM vorstellen. Bei mir läuft XEN 4.1 wesentlich stressfreier als die 3er Versionen, die allerdings weniger RAM verbraten haben.


    Hey iNOB, ich denke, du hast dich verlesen. Es wird vom 3.1er DOM0 Kernel geredet, nicht von xen 3. Gruß

    frontend software - android tv | libreelec | windows 10 | kodi krypton | emby for kodi | vnsi
    frontend hardware - nvidia shield tv | odroid c2 | yamaha rx-a1020 | quadral chromium style 5.1 | samsung le40-a789r2 | harmony smart control
    -------------------------------------------
    backend software - proxmox | openmediavault | debian jessie | kernel 4.4lts | zfs | emby | vdr | vnsi | fhem
    backend hardware - supermicro x11ssh-ctf | xeon E3-1240L-v5 | 64gb ecc | 8x4tb wd red | raid-z2 | digital devices max s8

  • Stimmt...jetzt wo du es sagst...tsts


    Gruß
    iNOB

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!