Beiträge von TimHansen

    Vorwort
    Dies ist die 2. Version meines HowTos zur Erstellung eines XEN-VDRs. Sie ist notwendig geworden, da das alte HowTo auf einem sich wöchentlich ändernden CD Image basierte und einen Release Candidate Kernel verwendet hat.
    Die alte Version findet ihr hier.


    Ziel
    Ziel dieser Anleitung ist das Erstellen eines möglichst stromsparenden
    Streaming VDRs der HD fähig ist. Der Rechner soll im Keller stehen und
    auch noch andere Dienste bereitstellen. Daher wird darauf XEN
    installiert und der VDR nur virtuell betrieben.
    Die Gesamtdauer dieses Tutorials bis der Videostream geht ca. 90 Minuten.
    Achtung: alle Daten die auf dem PC gespeichert sind gehen dabei verloren.


    Als Hardware viel die Wahl auf folgende Komponenten:
    Netzteil: Seasonic SS-660KM 80 Plus Gold (passt leider nicht gescheit in das Gehäuse)
    Mainboard: Intel Server Board S3420GPLX i3420 S1156 ATX
    CPU: Intel Xeon UP L3406 4x 1.86GHz So.1156 BOX
    RAM: 8192MB Kingston 1066MHZ DDR3 ECC REG CL7
    Festplatten: 1x Samsung HD501LJ für System und 2 x WD Caviar Green WD20EARS - Festplatte - 2TB -
    Gehäuse: Chenbro RM314 3HE Server Gehäuse RM31408
    * Chenbro - SATA-SAS-Backplane für Server (Packung mit 2)
    * Intel Remote Management Module 3 - Fernverwaltungsadapter
    * 2 x Cine S2


    Das Remote Management Module hat den Vorteil, das man den Rechner
    komplett fernbedienen kann (auch im BIOS). Man kann also selbst die
    Installation aus der ferne durchführen. Ein DVD-Laufwerk ist ebenfalls
    nicht notwendig. Da man die Installations-CD Iso-Datei über das Remote
    Management Modul einbinden kann. (Sehr angenehm)


    Nicht jede Position der CineS2 Karten funktioniert. Die folgende funktioniert bei mir:
    [Blockierte Grafik: http://www.timhansen.de/vdr/xenvdrcines2_2013/slots1_small.jpg]



    Debian Installieren


    IP Adresse festlegen



    Xen Installieren und Bootloader anpassen
    siehe auch:
    http://wiki.ubuntuusers.de/GRUB_2/Konfiguration
    Hinweis: Falls der Kernel 3.1 mittlerweile relased ist, das entsprechende Paket installieren

    • Ab jetzt kann man entweder weiter am Rechner stehen oder mittels SSH drauf zugreifen
    • Die Paketlisten aktualisieren

      Code
      apt-get update
    • Den richtigen Zeichensatz einstellen

      Code
      dpkg-reconfigure locales


      "de_DE.UTF-8 UTF8" auswählen
      "de_DE.UTF-8" als Standard

    • In Putty unter Translation "UTF-8" auswählen
    • mittels aptitude folgendes installieren:
      xen-system-amd64
      xen-hypervisor-4.1-amd64
      xen-utils-4.1eeed
      xen-utils-common
      xen-linux-system-am64
      xen-linux-system-3.2.0-4-amd64
      xen-docs-4.1
      xen-tools

      Code
      aptitude install xen-system-amd64 xen-linux-system-amd64 xen-docs-4.1 xen-tools


      [Blockierte Grafik: http://www.timhansen.de/vdr/xenvdrcines2_2013/50.png]

    • ggf. DVD einlegen
    • DVD wieder entfernen
    • Rechner neustarten

      Code
      reboot
    • Neustart und sich merken unter welchem Hauptmenu und Untermenüeintrag sich der richtige Eintrag verbirgt. Man braucht den Eintrag "Xen 4.1-amd64" > ".... 3.2.-rc7-amd64"
      Der erste Eintrag hat die Nummer 0
      [Blockierte Grafik: http://www.timhansen.de/vdr/xenvdrcines2_2013/60.png


      [Blockierte Grafik: http://www.timhansen.de/vdr/xenvdrcines2_2013/61.png]

    • In der Datei /etc/default/grub den Eintrag GRUB_DEFAULT anpassen. Bei mir: GRUB_DEFAULT="2>0"

      Code
      nano /etc/default/grub


      [Blockierte Grafik: http://www.timhansen.de/vdr/xenvdrcines2_2013/70.png]

    • Die Informationen des Bootloaders aktualisieren

      Code
      update-grub
    • Neustarten, jetzt sollte der Bootloader XEN als Default Einstellung ausgewählt haben

      Code
      reboot

    PCI Back beim Start ausführen
    siehe auch:
    http://wiki.ubuntuusers.de/kernelmodule
    http://wiki.xen.org/xenwiki/As…_module?highlight=(module)

    • 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
    • "lspci | grep Micronas" ausführen, und sich die ersten drei Zahlen merken. Damit bekommt man die PCI Adresse der CineS2 Karten heraus (Hier: 06:00.0 sowie 04:00.0)

      Code
      root@debian:~# lspci | grep Micronas
      04:00.0 Multimedia video controller: Micronas Semiconductor Holding AG nGene PCI-Express Multimedia Controller (rev 01)
      06:00.0 Multimedia video controller: Micronas Semiconductor Holding AG nGene PCI-Express Multimedia Controller (rev 01)
    • pciback Optionen definieren (Bitte "06:00.0" und "04:00.0" durch die PCI Adressen der CineS2 ersetzten. Die Nullen vorne bleiben stehen.

      Code
      echo "# hide (0000:06:00.0) and (0000:04:00.0)" >>  /etc/modprobe.d/xen-pciback.conf
      echo "options xen-pciback hide=(0000:06:00.0)(0000:04:00.0) " >>  /etc/modprobe.d/xen-pciback.conf
    • In der Datei /etc/modprobe.d/xen-pciback.conf steht jetzt folgendes

      Code
      # hide (0000:06:00.0) and (0000:04:00.0)
      options xen-pciback hide=(0000:06:00.0)(0000:04:00.0)
    • Neustarten

      Code
      reboot
    • Ü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 Adressen der Karten zurückgeben. Hier:

      Code
      root@debian:~# xm pci-list-assignable-devices
      0000:06:00.0
      0000:04:00.0
    • 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
    • In /etc/network/interfaces jetzt folgendes einstellen (Die alten Einstellungen können wieder auskommentiert werden).


      Die Einstellungen bewirken, das eine green und eine orange Bridge angelegt werden. (Kann man sich wie einen Software Switch vorstellen) eth0 ist mit green, eth1 mit orange verbunden. eth0 ist zudem mit einer IP ausgestattet, dadurch kann man die Xen-Maschine auch erreichen.

    • Jetzt neustarten

      Code
      reboot


    Paravirtualisierte DomU erzeugen

    • Mittels "xen-create-image --hostname PV" eine virtuelle Maschine anlegen:

    • Das dauert mehrere(>10) Minuten so, irgendwann kommt dann:

    • Passwort für die VM eingeben, und nochmal eingeben.
    • In die Datei /etc/xen/PV.cfg folgendes hinzufügen. Adressen wieder entsprechend anpassen

      Code
      pci = [ '06:00.0' , '04:00.0' ]
      extra ='iommu=soft'

    DomU starten

    • Mittels "xm create PV.cfg" die DomU starten
    • Mittels "xm console PV" in die DomU wechseln, und einloggen
    • Dort "pciutils" via aptitude installieren

      Code
      apt-get install pciutils
    • Jetzt sollte "lspci" dort die Karten anzeigen

      Code
      root@PV:~# lspci
      00:00.0 Multimedia video controller: Micronas Semiconductor Holding AG nGene PCI-Express Multimedia Controller (rev 01)
      00:01.0 Multimedia video controller: Micronas Semiconductor Holding AG nGene PCI-Express Multimedia Controller (rev 01)
    • "cat /var/log/messages | grep ngene" sollte etwas liefern wie:

    • 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 http://linuxtv.org/wiki/index.…_cineS2_DVB-S2_Twin_Tuner

      Code
      cd ~
      wget http://l4m-daten.de/downloads/firmware/dvb-s2/linux/all/ngene_18.fw
      cp ngene_18.fw /lib/firmware
    • Mittels "halt" die PV anhalten
    • Mittels "xm create PV.cfg" die DomU starten
    • Mittels "xm console PV" in die DomU wechseln, und einloggen
    • Falls es zu großen Problemen in der DomU 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"
      root@PV:~# dmesg | grep ngene

      Code
      [0.926051] ngene 0000:00:00.0: enabling device (0000 -> 0002)
      [0.926208] ngene 0000:00:00.0: Xen PCI mapped GSI16 to IRQ27
      [0.926232] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
      [0.946232] ngene 0000:00:00.0: setting latency timer to 64
      [0.946328] ngene: Device version 1
      [0.954277] ngene: Loading firmware file ngene_18.fw.
    • In der PV nimmt man nun folgende Änderungen vor
    • "vdr" mittels aptitude installieren

      Code
      aptitude install vdr
    • Bestätigen, dass man "/var/lib/video.00" als erstellen möchte
    • "Satellite" auswählen
    • "vdr-plugin-streamdev-server" via aptitude installieren

      Code
      aptitude install vdr-plugin-streamdev-server
    • 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
    • In der Datei "/etc/default/vdr" den vdr bei jedem start mitstarten lassen:

      Code
      ENABLED=1
    • Mittels "halt" die DomU herunterfahren
    • Mittels "xm create PV.cfg" die DomU starten
    • Mittels "xm console PV" in die DomU wechseln, und einloggen
    • Mittels "ifconfig" die IP der PV herausfinden
    • Jetzt sollte man falls alles geklappt hat mit dem VLC Player den Stream "http://[IP_der_DomU]:3000/TS/1" empfangen können

    Stromverbrauch

    • Obwohl es mein Ziel war einen möglichst stromsparenden Server aufzubauen ist, erfüllt der Stromverbrauch nicht meine Erwartungen.
    • Hier die Messungen (Idle, nur eine Festplatte, keine VM gestartet)
      Windows 7: 67W
      Linux ohne XEN: 67W
      Linux mit XEN: 82W
      Xen erzeugt also einen Mehrverbrauch von ca. 15W
    • Stromverbraucher die ich identifizieren konnte:
      Gehäuselüfter (2x4W) -> jetzt deaktiviert
    • Falls ihr noch Tipps habt wie man den Stromverbrauch weiter reduzieren kann, bin ich dafür dankbar.


    Ich hoffe ich konnte euch trotzdem mit dieser Anleitung ein wenig dabei helfen einen Xen-VDR aufzusetzen.



    Viele Grüße
    Tim

    Hallo zusammen,


    hier ein kleines Update der Geschichte: mit yaVDR hat es ebenfalls nicht geklappt. Daraufhin habe ich eine der Karte in einen anderen Windows Rechner eingebaut und Herr Rösner von DigitalDevices hat die Karte mit einem Support Tool überprüft. -> funktioniert ohne Probleme. Auf diesem Weg nochmal ein herzliches Dankeschön an den den DigitalDevices Support. Danach habe ich die andere Karte ebenfalls überpruft -> funktioniert ebenfalls. Jetzt habe ich eine Karte wieder in den VDR-Rechner eingebaut und auf einer anderen Festplatte Windows 7 installiert. Das Supporttool zeigt an das kein Empfang vorhanden ist.
    Ich kann das Tool übrigens nur jedem empfehlen: (Unter Windows nur die Treiber installieren und die .exe Datei des Test-Tools starten)


    So, nach ein paar Tagen probiere ich es nochmal um zu sehen, ob das nur für einen Sender gilt und siehe da: Das Testtool zeigt Empfang an. Ich teste alle Tuner mit unterschiedlichen Sendern -> funktioniert. Einzig ArteHD schwächelt ein wenig. Und jetzt kommts: Ich starte nochmal den VDR lade das Backup der VDR DomU bei dem es vorher nicht funktioniert hat -> funktioniert auf Anhieb.
    Gleiche Kabel wie vorher, gleiche Anschlüsse am Multischalter.


    Ich kann mir ehrlich gesagt überhaupt nicht erklären woran das gelegen hat. Wobei mich das im Moment auch nicht allzu sehr interessiert. Hauptsache es funktioniert.


    Vielen Dank nochmal für die ganzen Tipps, und allen ein fröhliches Weihnachtsfest
    Tim

    gerdh: habe deinen Eintrag für das Erste ausprobiert -> gleicher Fehler


    Oliver:
    Ich komme am neuen VDR nicht an ein OSD ran (reine Streaming Kiste) und wollte jetzt nicht auch noch ein Plugin installieren. (Möglichst wenig am ursprünglichen Zustand verändern)
    Auf dem alten VDR steht in der setup.conf:

    Code
    /etc/vdr/setup.conf:Card1usesLNBnr = 1
    /etc/vdr/setup.conf:Card2usesLNBnr = 2
    /etc/vdr/setup.conf:Card3usesLNBnr = 3
    /etc/vdr/setup.conf:LnbFrequHi = 10600
    /etc/vdr/setup.conf:LnbFrequLo = 9750
    /etc/vdr/setup.conf:LnbSLOF = 11700
    /etc/vdr/setup.conf:VerboseLNBlog = 0


    Und auf dem neuen VDR:

    Code
    /etc/vdr/setup.conf:LnbFrequHi = 10600
    /etc/vdr/setup.conf:LnbFrequLo = 9750
    /etc/vdr/setup.conf:LnbSLOF = 11700


    Die Frequenzen stimmen also überein. An dem ursprünglichen neuen VDR habe ich kein Update durchgeführt. Testweise habe ich die DomU aber auch nochmal kopiert und ein apt-get update und apt-get upgrade durchgeführt, wurde aber nicht besser.
    Ich habe auch noch einmal eine ältere Kopie der DomU ausprobiert -> gleicher Fehler. Ich kann zwar nicht garantieren dass diese Kopie damals funktioniert hat, gehe aber im Moment davon aus.
    Was noch zu den CineS2 Karten zu sagen ist: Da ich für den neuen VDR zur Zeit nur 2 SAT-Anschlüsse habe, waren zwar beide CineS2 eingebaut aber nur eine wurde an den VDR durchgereicht. Falls also die inaktive Karte schon früher gestorben ist, wäre das nicht aufgefallen. Mir fällt es irgendwie ziemlich schwer zu glauben das es an eine Software Sache liegt, da es selbst mit Windows nicht funktioniert.
    Das einzige was man noch ausprobieren könnte wäre ev. eine fertige Distribution die mit der CineS2 out-of-the-box funktioniert (weiß aber nicht welche das ist). Ich habe hier im Moment genügend Festplatten zum Ausprobieren rumliegen.


    Viele Grüße
    Tim

    Hallo nochmal,
    habe jetzt noch mal zum testen auf einer anderen Festplatte Windows 7 x86 installiert. Dort den Treiber für die CineS2 sowie ProgDVB installiert. Beim Scannen nach Kanälen wird dort nicht ein einziger Kanal gefunden. Windows Media Center meldet beim Versuch etwas aufzunehmen "Der Tuner wurde getrennt" ..


    Vielen Dank für weitere Ideen
    Tim

    So, ich habe die Sache noch mal genauer untersucht.
    Erst mal zur Definition: Ich habe noch einen anderen (älteren) VDR der im folgenden mit "alter VDR" bezeichnet wird. Der neue VDR in dem die CineS2 verbaut sind und der die Probleme erzeugt wird mit "neuer VDR" bezeichnet. Ich besitze 2 CineS2. Eine habe ich jetzt aus dem neuen VDR ausgebaut, so dass jetzt immer nur eine Karte eingebaut ist.


    Alle Anschlüsse bzw. Kabel die verwendet werden funktionieren am alten VDR. Es ist dort möglich "Das Erste" zu empfangen.

    Code
    Das Erste;ARD:11837:HC34M2O0S0:S19.2E:27500:101=2:102=deu,103=mis;106=deu:104:0:28106:1:110


    1. CineS2 Karte im neuen VDR:
    Die Spannung mit der die CineS2 aus dem Netzteil versorgt werden betragen 5,04V und 12,2V.


    Es ist nicht möglich "Das Erste" anzuzeigen:

    Code
    Das Erste;ARD:11837:HC34M2O0S0:S19.2E:27500:101=2:102=deu@3,103=mis@3;106=deu@106:104:0:28106:1:1101:0


    Femon erkennt wenn ein Kabel angeschlossen ist:

    Code
    status | signal 58% | snr 0% | ber 8388608 | unc 4199814 |


    bzw. wenn es nicht angeschlossen ist:

    Code
    status | signal 0% | snr 0% | ber 8388608 | unc 4199814 |


    2. CineS2 Karte im neuen VDR:
    Es ist nicht möglich "Das Erste" anzuzeigen:

    Code
    Das Erste;ARD:11837:HC34M2O0S0:S19.2E:27500:101=2:102=deu@3,103=mis@3;106=deu@106:104:0:28106:1:1101:0


    Femon liefert auch hier mit angeschlossenem Kabel:

    Code
    Problem retrieving frontend information: Operation not supported
    status | signal 58% | snr 0% | ber 8388608 | unc 4199814 |


    Leider klappt der Empfang bei beiden Karten nicht. In /var/log/user.log steht nur ständig:

    Code
    Dec 1 20:28:26 VDR vdr: [1942] frontend 0/0 timed out while tuning to channel 1, tp 111837


    Irgendwie habe ich den Verdacht das die beiden CineS2 Karten kaputt sind. Es ist zwar irgendwie komisch das gleich 2 Karten bzw. 4 Tuner eine Macke haben sollten, aber mir fällt sonst nichts mehr ein. Falls noch jemand andere Ideen hat nur her damit.


    Viele Grüße
    Tim

    Hallo zusammen,


    ich habe folgendes Problem:
    Ohne mir einer Änderung an dem bis dato funktionsfähigen System bewusst zu sein, funktioniert der VDR nicht mehr.
    In /var/log/user.log steht folgendes:

    Code
    Nov 25 18:33:46 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:34:06 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:34:34 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:34:52 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:35:12 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:35:32 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:35:50 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:36:17 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:36:36 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837
    Nov 25 18:36:54 VDR vdr: [1811] frontend 0/0 timed out while tuning to channel 1, tp 111837


    in /var/log/dmesg steht:


    lspci liefert:

    Code
    root@VDR:~# lspci
    00:00.0 Multimedia video controller: Micronas Semiconductor Holding AG nGene PCI-Express Multimedia Controller (rev 01)


    femon -H:

    Code
    root@VDR:~# femon -H
    FE: STV090x Multistandard (DVBS)
    Problem retrieving frontend information: Operation not supported
    status   	| signal  64% | snr   0% | ber 8388608 | unc 4199814 |
    Problem retrieving frontend information: Operation not supported
    status   	| signal  64% | snr   0% | ber 8388608 | unc 4199814 |
    Problem retrieving frontend information: Operation not supported
    status   	| signal  64% | snr   0% | ber 8388608 | unc 4199814 |
    Problem retrieving frontend information: Operation not supported
    status   	| signal  64% | snr   0% | ber 8388608 | unc 4199814 |


    in der channels.conf steht mittlerweile nur noch:

    Code
    :@1 ARD
    Das Erste;ARD:11837:HC34M2O0S0:S19.2E:27500:101=2:102=deu@3,103=mis@3;106=deu@1$


    Das System besteht aus einem XEN Server, der eine der zwei eingebauten CineS2 Karten an die DomU durchreicht. Dort ist ein Debian Wheezy installiert. Eine genaue Beschreibung findet sich hier.


    Neustarten und eine zeitlang ausschalten habe ich schon ausprobiert. Ich habe ebenfalls schon versucht die andere CineS2 zu benutzen. Jedoch hat das an den Fehlermeldungen nichts geändert.


    Falls jemand Ideen hat woran es liegen könnte wäre ich für Tipps sehr dankbar.


    Vielen Dank schon mal
    Tim

    Ziel dieser Anleitung ist das erstellen eines möglichst Stromsparenden Streaming VDRs der HD fähig ist. Der Rechner soll im Keller stehen und auch noch andere Dienste bereitstellen. Daher wird darauf XEN installiert und der VDR nur virtuell betrieben.


    Als Hardware viel die Wahl auf folgende Komponenten:
    Mainboard: Intel Server Board S3420GPLX i3420 S1156 ATX
    CPU: Intel Xeon UP L3406 4x 1.86GHz So.1156 BOX
    RAM: 8192MB Kingston 1066MHZ DDR3 ECC REG CL7
    Festplatten: 2 x WD Caviar Green WD20EARS - Festplatte - 2TB -
    Gehäuse: Chenbro RM314 3HE Server Gehäuse RM31408
    * Chenbro - SATA-SAS-Backplane für Server (Packung mit 2)
    * Intel Remote Management Module 3 - Fernverwaltungsadapter
    * 2 x Cine S2 (bis jetzt erst eine eingebaut)


    Das Remote Management Module hat den Vorteil, das man den Rechner komplett fernbedienen kann (auch im BIOS). Man kann also selbst die Installation aus der ferne durchführen. Ein DVD-Laufwerk ist ebenfalls nicht notwendig. Da man die Installations-CD Iso-Datei über das Remote Management Modul einbinden kann. (Sehr angenehm)


    Nicht jede Position der CineS2 Karte funktioniert. Die folgende funktioniert bei mir:
    [Blockierte Grafik: http://www.timhansen.de/vdr/xe…nes2/000-PCI-Position.jpg]


    Debian Installieren

    IP Adresse festlegen

    Xen Installieren und Bootloader anpassen
    siehe auch:
    http://wiki.ubuntuusers.de/GRUB_2/Konfiguration
    Hinweis: Falls der Kernel 3.1 mittlerweile relased ist, das entsprechende Paket installieren

    • Mittels "reboot" neustarten
    • Ab jetzt kann man entweder weiter am Rechner stehen oder mittels SSH drauf zugreifen
    • "deb http://ftp.de.debian.org/debian experimental main" in /etc/apt/sources.list hinzugefügt

      Code
      echo "deb http://ftp.de.debian.org/debian experimental main" >> /etc/apt/sources.list
    • "apt-get update" ausführen
    • "linux-image-3.1.0-rc7-amd64" via aptitude installieren
    • "xen-linux-system-3.1.0-rc7-amd64" via aptitude installieren
    • "xen-tools" via aptitude installieren
    • Neustart und sich merken unter welchem Hauptmenu und Untermenüeintrag sich der richtige Eintrag verbirgt. Man braucht den Eintrag "Xen 4.1-amd64" > ".... 3.1.0-rc7-amd64"
      Der erste Eintrag hat die Nummer 0
    • In der Datei /etc/default/grub den Eintrag GRUB_DEFAULT anpassen. Bei mir: GRUB_DEFAULT="4>0"
    • "update-grub" ausführen

    PCI Back beim Start ausführen
    siehe auch:
    http://wiki.ubuntuusers.de/kernelmodule
    http://wiki.xen.org/xenwiki/As…_module?highlight=(module)


    • 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
    • "lspci | grep Micronas" ausführen, und sich die ersten drei Zahlen merken. Damit bekommt man die PCI Adresse der CineS2 Karte herraus (Hier: 06:00.0)

      Code
      root@debian:~# lspci | grep Micronas
      06:00.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
    • pciback Optionen definieren (Bitte "06:00.0" durch die PCI Adresse der CineS2 ersetzten. Die Nullen vorne bleiben stehen.

      Code
      echo "# hide (0000:06:00.0)" >>  /etc/modprobe.d/xen-pciback.conf
      echo "options xen-pciback hide=(0000:06:00.0) " >>  /etc/modprobe.d/xen-pciback.conf
    • In der Datei /etc/modprobe.d/xen-pciback.conf steht jetzt folgendes

      Code
      # hide (0000:06:00.0)
      options xen-pciback hide=(0000:06:00.0)
    • 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. Hier:

      Code
      root@debian:~# xm pci-list-assignable-devices
      0000:06:00.0
    • In "/etc/xen/xend-config.sxp" die Zeile "# (network-script network-bridge)" einkommentieren. (Also das "#" und das LEERZEICHEN löschen!).
    • 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
    • xend neustarten

      Code
      xend restart

    Paravirtualisierte DomU erzeugen


    • Mittels "xen-create-image --hostname PV" eine virtuelle Maschine anlegen:

    • Das dauert mehrere(>10) Minuten so, irgendwann kommt dann:

    • Passwort für die VM eingeben, und nochmal eingeben.
    • In die Date /etc/xen/PV.cfg folgendes hinzufügen. Adresse wieder entsprechend anpassen

      Code
      pci = [ '06:00.0' ]
      extra ='iommu=soft'

    DomU starten


    • Mittels "xm create PV.cfg" die DomU starten
    • Mittels "xm console PV" in die DomU wechseln, und einloggen
    • Dort "pciutils" via aptitude installieren
    • Jetzt sollte "lspci" dort die Karte anzeigen

      Code
      root@PV:~# lspci
      00:00.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
    • "cat /var/log/messages | grep ngene" sollte etwas liefern wie:

      Code
      root@PV:~# cat /var/log/messages | grep ngene
      Oct  8 20:59:23 PV kernel: [0.808911] ngene 0000:00:00.0: enabling device (0000 -> 0002)
      Oct  8 20:59:23 PV kernel: [0.809081] ngene 0000:00:00.0: Xen PCI mapped GSI16 to IRQ27
      Oct  8 20:59:23 PV kernel: [0.809105] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
      Oct  8 20:59:23 PV kernel: [0.824256] ngene: Device version 1
      Oct  8 20:59:23 PV kernel: [0.835198] ngene: Copy ngene_18.fw to your hotplug directory!
      Oct  8 20:59:23 PV kernel: [0.850781] ngene: probe of 0000:00:00.0 failed with error -1
    • 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 http://linuxtv.org/wiki/index.…_cineS2_DVB-S2_Twin_Tuner

      Code
      cd ~
      wget http://l4m-daten.de/downloads/firmware/dvb-s2/linux/all/ngene_18.fw
      cp ngene_18.fw /lib/firmware
    • Mittels "halt" die PV anhalten
    • Mittels "xm create PV.cfg" die DomU starten
    • Mittels "xm console PV" in die DomU wechseln, und einloggen
    • Falls es zu großen Problemen in der DomU 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
      root@PV:~# dmesg | grep ngene
      [0.926051] ngene 0000:00:00.0: enabling device (0000 -> 0002)
      [0.926208] ngene 0000:00:00.0: Xen PCI mapped GSI16 to IRQ27
      [0.926232] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
      [0.946232] ngene 0000:00:00.0: setting latency timer to 64
      [0.946328] ngene: Device version 1
      [0.954277] ngene: Loading firmware file ngene_18.fw.
    • In der PV nimmt man nun folgende Änderungen vor
    • "vdr" mittels aptitude installieren
    • Bestätigen, dass man "/var/lib/video.00" als erstellen möchte
    • "Satellite" auswählen
    • "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
    • In der Datei "/etc/default/vdr" den vdr bei jedem start mitstarten lassen:

      Code
      ENABLED=1
    • Mittels "halt" die DomU herunterfahren
    • Mittels "xm create PV.cfg" die DomU starten
    • Mittels "xm console PV" in die DomU wechseln, und einloggen
    • Mittels "ifconfig" die IP der PV herausfinden
    • Jetzt sollte man falls alles geklappt hat mit dem VLC Player den Stream "http://[IP_der_DomU]:3000/TS/1" empfangen können

    Ich hoffe ich konnte euch mit dieser Anleitung ein wenig dabei helfen einen Xen-VDR aufzusetzen.


    Viele Grüße
    Tim

    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

    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

    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

    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 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?

    Danke an alle,


    Das mit dem ARM-Crash macht denke ich Sinn, habe mir auch schon eingebildet, dass es etwas mit der Signalqualität zu tun hat, konnte es aber nicht sicher verifizieren.


    Jetzt weiß ich auf alle Fälle schon mal in welcher Richtung ich weiter suchen/ probieren kann. Ich habe noch 1-2 Budget Karten da, die werde ich wahrscheinlich mal anstatt der FF einbauen. Getreu nach dem Motto: Kein ARM -> kein ARM Crash.


    Vielen Dank für die Hilfe
    Tim


    P.S. Wenn man erst einmal ein Stichwort für das Problem hat, findet man auch mehr Beiträge ;)

    Hallo,


    meine Konfiguration:
    Mainboard: ASUS A7V
    Prozessor: AMD Athlon XP 2Ghz
    Betriebssystem: Gen2VDR V3 Beta 7 (vdr-1.7.14)
    DVB-Karten: 2 Fullfeatured DVB-S Karten


    in dmesg steht: "Technotrend/Hauppauge WinTV Nexus-S rev2.X"
    lspci listet 2x "Multimedia controller: Philips Semiconductors SAA7146 (rev 01)" auf.


    femon liefert im Moment z.B.:
    status SCVYL | signal 69% | snr 90% | ber 0 | unc 0 | FE_HAS_LOCK


    Der Rechner wird als Streaming Server + Recorder im Keller verwendet.
    Streaming Client ist VLC Media Player auf Windows Maschinen.
    Timer Programmierung mit Hilfe von TV Browser + LazyBones Plugin


    Mein Problem begleitet mich schon seit einigen VDR Versionen / Distributionen.
    Nach einiger Zeit (zwischen Tagen und ein paar Wochen) hängt sich irgendein Teil des VDRs auf. Alles was jetzt mit DVB zu tun hat (Live-Streaming + Aufnahmen) enthält Bildstörungen. So stark das man überhaupt garnichts mehr erkennen kann. Das ganze lässt sich dann beseitigen, indem man entweder den VDR mit "stp vdr" und "stt vdr" wieder neu startet oder den ganzen Rechner neu startet (beides funktioniert immer).


    Hat jemand von euch eine Idee woran das liegen könnte? Bzw. welche Informationen noch interessant sein können.


    Viele Grüße
    Tim