Proxmox(KVM) - Cine S2 durchreichen

  • Hallo zusammen,

    hab nun geschlagene 5 Stunden damit verbracht o.g. auf die Reihe zu kriegen. Vor ca. 1ner Stunde habe ich einen Teilerfolg errungen und ich konnte wenigstens den Gast wieder starten.

    Ehrlich gesagt weiss ich nicht mehr genau wo ich schon was geändert habe, aber ich hänge mal die m.M. wichtigsten Sachen mit an.

    Hardware:
    Dell Poweredge T20 Xeon E3-1225
    Cine S2

    Host
    cat /etc/pve/qemu-server/102.conf

    folgende Zeile in /etc/default/grub ergänzt:

    Code
    GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
    Code
    cat /etc/modprobe.d/blacklist
    blacklist pci-stub
    Code
    lspci -v
    ...gekürzt...
    04:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter
            Subsystem: Digital Devices GmbH Cine S2 V6 DVB adapter
            Flags: bus master, fast devsel, latency 0, IRQ 10
            Memory at f7c00000 (64-bit, non-prefetchable) [size=64K]
            Capabilities: [50] Power Management version 3
            Capabilities: [70] MSI: Enable- Count=1/2 Maskable- 64bit+
            Capabilities: [90] Express Endpoint, MSI 00
            Capabilities: [100] Vendor Specific Information: ID=0000 Rev=0 Len=00c <?>

    lsmod

    Spoiler anzeigen
    Code
    dmesg | grep -e DMAR -e IOMMU
    ACPI: DMAR 00000000d8ffe4c8 000B8 (v01 INTEL      HSW  00000001 INTL 00000001)
    Intel-IOMMU: disable GFX device mapping
    dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
    dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap d2008020660462 ecap f010da


    Gast:

    Code
    04:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter
            Subsystem: Digital Devices GmbH Cine S2 V6 DVB adapter
            Flags: bus master, fast devsel, latency 0, IRQ 10
            Memory at f7c00000 (64-bit, non-prefetchable) [size=64K]
            Capabilities: [50] Power Management version 3
            Capabilities: [70] MSI: Enable- Count=1/2 Maskable- 64bit+
            Capabilities: [90] Express Endpoint, MSI 00
            Capabilities: [100] Vendor Specific Information: ID=0000 Rev=0 Len=00c <?>

    Falls noch etwas benötigt wird reiche ich es natürlich gerne nach...

    Danke schonmal

    Im Aufbau bzw. Testphase
    Headless Server: yaVDR 0.5.0 | 19"-Gehäuse |Intel Desktop Board DH67CL | Intel Celeron G440 1,6GHz boxed | Patriot 8GB USB3.0-Stick | DigitalDevices Cine S2 V6 | S5 4,6W, Betrieb ??W
    Client: yaVDR 0.5.0 XBMC Frontend | Techsolo TC-2200S | ASRock B75 Pro3-M | Intel Celeron G550 2,6GHz boxed | 4GB Patriot DDR3-1600 DIMM | 1GB Asus GeForce GT 610 LP Passiv PCIe | Patriot 8GB USB-3.0-Stick
    Qnap TS-509
    Lagerregal: Technisat DVB-S2-Karte | TeVii S480 V2.1

  • Servus,

    hier meine funktionierende Konfiguration:

    • CPU und Mainboard müssen vt-D unterstützen und im BIOS muss die Funktion auch aktiviert sein. Ist per Default gerne mal deaktiviert.
    • Mein Eintrag in /etc/default/grub:
      Code
      GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on pcie_aspm=force i915.i915_enable_rc6=1 i915.i915_enable_fcb=1 i915.lvds_downclock=1"

      . Config neu erzeugen nicht vergessen ;)

    • in /etc/modprobe.de/blacklist.conf:
      Code
      #dvb
      blacklist dvb_usb_dw2102
      blacklist ir_lirc_codec
      blacklist lirc_dev

      Das "blacklist pci-stub" kannst Du entfernen, den pci-stub brauchst du auf dem host.

    • in (Bsp.) 102.conf:
      Code
      hostpci0: 02:00.0

      , hostpci entsprechend deinen Gegebenheiten anpassen, mein lspci auf dem Host:

    • Reboot und sollte tun.

    Meine Hardware:
    Mainboard: MSI Z68MA-G43 (G3) (MS-7676)
    CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz

  • nEiMi
    Grundsätzlich wäre die Ausgabe von "pveversion -v" interessant, dann wüssten wir schonmal auf welchem Softwarestand du arbeitest. vfio geht z.B. nur mit kernel 3.10, der nachinstalliert werden müsste. pci-stub musst Du aus der blacklist rausnehmen, wie mahlzeit bereits geschrieben hat.
    Die Auszüge von mahlzeit sind sicherlich hilfreich, jedoch bitte beachten, dass dies speziell auf sein System zugeschnitten ist. Das wenigste hiervon wirst Du benötigen.

    Den WIki Eintrag zu Proxmox hast Du bereits studiert? Hier sollten die wichtigsten Parameter genannt sein! Vor allem "allow_unsafe_interrupts" kann sehr hilfreich sein. https://pve.proxmox.com/wiki/Pci_passthrough

  • Hallo und erstmal danke für eure Antworten...

    habe jetzt alles genau so eingestellt wie von mahlzeit beschrieben:

    Spoiler anzeigen

    Mit dem Ergebnis das die VM bei "Booting from Hard Disk..." hängen bleibt und ich diese auch nicht mehr stoppen kann. Auch auf den Host kann ich anschliessend weder über Konsole noch Web zugreifen -> Rechner Reset...

    Hier noch die Ausgabe von
    root@proxmox:# pveversion -v

    Spoiler anzeigen

    root@proxmox:~# dmesg | grep -e DMAR -e IOMMU

    Spoiler anzeigen

    Ausserdem gerade noch probiert:

    Code
    root@proxmox:/etc/modprobe.d# nano kvm_iommu_map_guest.conf
    options kvm allow_unsafe_assigned_interrupts=1

    Mal sehen ob ich das bis zum Rückrundenstart noch hinbekomm :dösen Ansonsten muss ich die Karte vorübergehend zurückbauen... Deadline 20:00 :skull4

    mahlzeit: ich glaub wir wohnen gar nicht so weit entfernt voneinander ~37km... ist schon bei St. Wolfgang, oder?

    Im Aufbau bzw. Testphase
    Headless Server: yaVDR 0.5.0 | 19"-Gehäuse |Intel Desktop Board DH67CL | Intel Celeron G440 1,6GHz boxed | Patriot 8GB USB3.0-Stick | DigitalDevices Cine S2 V6 | S5 4,6W, Betrieb ??W
    Client: yaVDR 0.5.0 XBMC Frontend | Techsolo TC-2200S | ASRock B75 Pro3-M | Intel Celeron G550 2,6GHz boxed | 4GB Patriot DDR3-1600 DIMM | 1GB Asus GeForce GT 610 LP Passiv PCIe | Patriot 8GB USB-3.0-Stick
    Qnap TS-509
    Lagerregal: Technisat DVB-S2-Karte | TeVii S480 V2.1

    2 Mal editiert, zuletzt von nEiMi (30. Januar 2015 um 19:22)

  • Ich würde den 3.10er kernel installieren und die wiki Anleitung für vfio befolgen. Wenn die VM dann nicht starten sollte, bitte die Fehlermeldung vollständig posten.
    Die config Auszüge von mahlzeit mögen ihren Sinn haben, sind aber sicherlich nicht grundsätzliche Voraussetzung für das Durchreichen einer pci/pcie Karte.

  • Hallo,

    habe ebenfalls einen Server mit durchgereichter Cine.
    Jedoch mit Kernel 3.1
    blacklist ddbridge
    200.conf
    machine: q35
    hostpci0: 04:00.0,pcie=1,driver=vfio
    läuft bei mir ohne Probleme.

    Gruss Ralf

    Produktiv-1: ga-m61p-s3 Tevii S470 G210 yaVDR64-0.5.0
    Produktiv-2: ga-m61p-s3 FF 1.5 lenny mit E-tobi 1.4.7
    Nas-Vdr-Server: DQ77MK / Core i5-2500 / 32gb / cine V6 +2x duoflex / Intel PRO/1000GT dual / Proxmox yavdr omv
    Testsystem: ASRock B75 Pro3-M cine V6 gt740 yaVDR

  • Danke für die Antworten...

    Wie mache ich ein Kernelupdate bzw. wie finde ich den richtigen z.B. 3.1 oder 3.10?

    Edit:
    so wie hier beschrieben:
    Upgrade from 2.3 to 3.0

    Code
    wget http://download.proxmox.com/debian/dists/wheezy/pve-upgrade-2.3-to-3.0
    chmod +x pve-upgrade-2.3-to-3.0
    ./pve-upgrade-2.3-to-3.0 --download-only
    ./pve-upgrade-2.3-to-3.0

    Im Aufbau bzw. Testphase
    Headless Server: yaVDR 0.5.0 | 19"-Gehäuse |Intel Desktop Board DH67CL | Intel Celeron G440 1,6GHz boxed | Patriot 8GB USB3.0-Stick | DigitalDevices Cine S2 V6 | S5 4,6W, Betrieb ??W
    Client: yaVDR 0.5.0 XBMC Frontend | Techsolo TC-2200S | ASRock B75 Pro3-M | Intel Celeron G550 2,6GHz boxed | 4GB Patriot DDR3-1600 DIMM | 1GB Asus GeForce GT 610 LP Passiv PCIe | Patriot 8GB USB-3.0-Stick
    Qnap TS-509
    Lagerregal: Technisat DVB-S2-Karte | TeVii S480 V2.1

  • Er findet da Paket nicht :(

    Code
    root@proxmox:~# apt-get install pve-kernel-3.10.0-5-pve
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    E: Unable to locate package pve-kernel-3.10.0-5-pve
    E: Couldn't find any package by regex 'pve-kernel-3.10.0-5-pve'

    Im Aufbau bzw. Testphase
    Headless Server: yaVDR 0.5.0 | 19"-Gehäuse |Intel Desktop Board DH67CL | Intel Celeron G440 1,6GHz boxed | Patriot 8GB USB3.0-Stick | DigitalDevices Cine S2 V6 | S5 4,6W, Betrieb ??W
    Client: yaVDR 0.5.0 XBMC Frontend | Techsolo TC-2200S | ASRock B75 Pro3-M | Intel Celeron G550 2,6GHz boxed | 4GB Patriot DDR3-1600 DIMM | 1GB Asus GeForce GT 610 LP Passiv PCIe | Patriot 8GB USB-3.0-Stick
    Qnap TS-509
    Lagerregal: Technisat DVB-S2-Karte | TeVii S480 V2.1


  • Edit:
    so wie hier beschrieben:
    Upgrade from 2.3 to 3.0

    Code
    wget http://download.proxmox.com/debian/dists/wheezy/pve-upgrade-2.3-to-3.0
    chmod +x pve-upgrade-2.3-to-3.0
    ./pve-upgrade-2.3-to-3.0 --download-only
    ./pve-upgrade-2.3-to-3.0


    Damit zerhaust Du Dir Dein System! Du bist schon auf proxmox 3.3 gemäß Deiner Ausgabe von pverversion! Vielleicht nicht ganz auf dem aktuellsten Stand, aber sicherlich nicht auf 2.3... Das ist keine Anleitung für ein Kernel-Update, sondern für das Update von proxmox 2.3 auf 3.0...

  • Poste mal Deine sources.list

    Code
    # cat /etc/apt/sources.list

    Dir fehlt sicherlich das no-subscription repo. Du willst Dir alles vorkauen lassen, oder? An der Stelle nochmal: Es gibt ein sehr gutes Wiki für Proxmox! Das solltest Du Dir wirklich mal durchlesen, wenn Du es damit ernst meinst.

  • Sorry, aber ich wollte vermeiden die Karte wieder in den alten Rechner zurückzubauen... ist aber jetzt gerade geschehen da ich sonst keine Buli sehen kann...

    vorher hatte ich noch folgendes getan...

    die 102.conf abgeändert...


    die /etc/apt/sources.list um folgendes ergänzt...

    Code
    # PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
    deb http://download.proxmox.com/debian wheezy pve-no-subscription
    anschliessend...
    [code]root@proxmox:# apt-get update
    root@proxmox:# apt-get install pve-kernel-3.10.0-5-pve
    root@proxmox:# reboot


    beim Start der VM 102 folgende Fehlermeldung:

    Code
    Could not access KVM kernel module: No such file or directory
    failed to initialize KVM: No such file or directory
    TASK ERROR: start failed: command '/usr/bin/kvm -id 102 -chardev 'socket,id=qmp,path=/var/run/qemu-server/102.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -vnc unix:/var/run/qemu-server/102.vnc,x509,password -pidfile /var/run/qemu-server/102.pid -daemonize -smbios 'type=1,uuid=d3ae4694-a035-4e1d-9fdc-7cde40257702' -name VDR -smp 'sockets=1,cores=1' -nodefaults -boot 'menu=on' -vga cirrus -cpu kvm64,+lahf_lm,+x2apic,+sep -k de -m 512 -readconfig /usr/share/qemu-server/pve-q35.cfg -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' -device 'vfio-pci,host=04:00.0,id=hostpci0,bus=ich9-pcie-port-1,addr=0x0' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:e65845e7c73a' -drive 'file=/var/lib/vz/template/iso/ubuntu-14.04.1-server-amd64.iso,if=none,id=drive-ide2,media=cdrom,aio=native' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -drive 'file=/var/lib/vz/images/102/vm-102-disk-1.qcow2,if=none,id=drive-ide0,format=qcow2,aio=native,cache=none' -device 'ide-hd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap102i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown' -device 'e1000,mac=AA:C1:84:61:76:0D,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -machine 'type=q35'' failed: exit code 1


    Den Wiki-Artikel "PCI Passthrough" kannte ich schon... hab ich gestern bei meiner 5 stündigen Such- und Konfigurationsorgie gelesen, nur leider bin ich in Linux "noch" nicht so fit das ich den Fehler selbst gefunden hätte... deshalb auch hier mein Post.

    Im Aufbau bzw. Testphase
    Headless Server: yaVDR 0.5.0 | 19"-Gehäuse |Intel Desktop Board DH67CL | Intel Celeron G440 1,6GHz boxed | Patriot 8GB USB3.0-Stick | DigitalDevices Cine S2 V6 | S5 4,6W, Betrieb ??W
    Client: yaVDR 0.5.0 XBMC Frontend | Techsolo TC-2200S | ASRock B75 Pro3-M | Intel Celeron G550 2,6GHz boxed | 4GB Patriot DDR3-1600 DIMM | 1GB Asus GeForce GT 610 LP Passiv PCIe | Patriot 8GB USB-3.0-Stick
    Qnap TS-509
    Lagerregal: Technisat DVB-S2-Karte | TeVii S480 V2.1

  • Jetzt muss ich nochmal nerven da ich schon wieder 4 Stunden dran sitze und es leider immer noch nicht funktioniert ;(

    Erstmal zum Problem:
    Eine VM(neue mit Debian-Iso) lässt sich starten und ich komme bis zum Installationsbildschirm...
    gebe ich ein "info pci" im Monitor der VM ein, kommt folgendes zum Vorschein:

    Code
    Bus  0, device  16, function 0:
        Multimedia controller: PCI device dd01:0003
          IRQ 11.
          BAR0: 64 bit memory at 0xfebd0000 [0xfebdffff].
          id "hostpci0"


    soweit so gut...
    doch drücke ich dann auf "Install" schmiert der komplette Rechner ab...
    keine Verbindung mehr per ssh oder Webinterface, weder zum Gast noch zum Host...

    Nun meine Vorgehensweise bis ich soweit war:
    Habe heute Proxmox 3.3 nochmal komplett neu installiert...
    dann wie folgt vorgegangen:
    in /etc/default/grub Zeile ergänzen:

    Code
    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=igfx_off intel_iommu=on"


    anschliessend...


    Dann noch ein Update...
    in /etc/apt/sources.list folgendes ergänzt:

    Code
    # PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
    deb http://download.proxmox.com/debian wheezy pve-no-subscription


    in /etc/apt/sources.list.d/pve-enterprise.list Zeile auskommentieren

    Code
    root@proxmox:/# apt-get update && apt-get dist-upgrade


    Nun bin ich mit meinem Latein am Ende... :(

    Bitte helft mir nochmal...

    Danke

    Im Aufbau bzw. Testphase
    Headless Server: yaVDR 0.5.0 | 19"-Gehäuse |Intel Desktop Board DH67CL | Intel Celeron G440 1,6GHz boxed | Patriot 8GB USB3.0-Stick | DigitalDevices Cine S2 V6 | S5 4,6W, Betrieb ??W
    Client: yaVDR 0.5.0 XBMC Frontend | Techsolo TC-2200S | ASRock B75 Pro3-M | Intel Celeron G550 2,6GHz boxed | 4GB Patriot DDR3-1600 DIMM | 1GB Asus GeForce GT 610 LP Passiv PCIe | Patriot 8GB USB-3.0-Stick
    Qnap TS-509
    Lagerregal: Technisat DVB-S2-Karte | TeVii S480 V2.1

  • Ich hatte das vor ca. einem halben Jahr mit einer TeVii S471 DVB-S2 PCIe probiert. Es hat soweit geklappt, dass die Karte an eine Ubuntu-VM durchgereicht und erkannt wurde. Allerdings schmierte das komplette System (Proxmox-Server) regelmäßig komplett ab und startete neu. Wurde einfach nur die Karte nicht benutzt bzw. die Ubuntu-VM nicht gestartet, dann lief das System stabil. Diese Erfahrungen waren ernüchternd, so dass ich diesen Ansatz danach nicht mehr verfolgt habe.

    Mittlerweile läuft mein VDR-Server in einem OpenVZ-Container auf dem Proxmox-Server und nutzt einen SAT>IP-Server (Triax TSS 400) mittels SAT>IP-Plugin. Auch diese Lösung hat so ihre Probleme, doch läuft sie besser als die PCI-Passthrough-Geschichte.

    Eine weitere Option, die DVB-Karte unter dem Proxmox zu installieren und an den Container durchreichen, habe ich nicht hinbekommen, weil der Proxmox-Kernel kaum noch DVB-Treiber enthält und die Sourcen für den 2.6er Kernel mittlerweile zu alt sind. Mit dem 3er Kernel läuft OpenVZ (noch) nicht. :(

    ByE...

    Server:  (K)VM on Proxmox 4.x-Host, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) auf Debian 8 (Jessie), 1x Digital Devices Cine S2 (V6) + DuoFlex S2
    Clients: Raspberry Pi 2/3 mit Raspbian, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) als Streamdev-Clients

  • nEiMi
    Es ist ehrlich gesagt aber auch nicht einfach Dir zu helfen. Es hat den Anschein, als würdest Du an mehreren Baustellen gleichzeitig Anpassungen vornehmen. Da fehlt die klare Linie, um wirklich nachzuvollziehen was da passiert. Grundsätzlich kann ich natürlich nicht ausschließen, dass Deine Hardware nicht für Passthrough geeignet ist.

    Als Basis sollte das aktuelle Proxmox dienen. No-Subscription Repo hast Du ja drin. Auch mal ein "apt-get update; apt-get dist-upgrade" gemacht, damit auch wirklich alle Pakete auf aktuellstem Stand sind? [EDIT] hatte übersehen, dass Du das bereits getan hast! [/EDIT]
    Bitte nochmal prüfen, ob Du jetzt auch wirklich kernel 3.10 in Verwendung hast, damit vfio verwendet werden kann.

    Zitat


    Could not access KVM kernel module: No such file or directory
    failed to initialize KVM: No such file or directory


    Diese Fehlermeldung sieht eigentlich danach aus, dass das Modul kvm fehlt. Was i.d.R. ein Zeichen dafür ist, dass im Bios die Virtualisierungsfunktionen deaktiviert sind. Bitte nochmals prüfen, ob im Bios aktiv und ob das Modul kvm automatisch beim Systemstart geladen wird.

    Generell nochmal die Bitte auch wirklich Logs/Fehlermeldungen, die auf dem Host zu finden sind auch hier anzufügen. Die reine Aussage, dass der Rechner abschmiert, wenn man Install drückt sind wenig hilfreich (Stichwort Glaskugel)!

  • Grundsätzlich kann ich natürlich nicht ausschließen, dass Deine Hardware nicht für Passthrough geeignet ist.

    Ich vermute dass genau das der Fall ist. Wenn ich seine Signatur richtig lese, verwendet er dafür ein DH67CL mit H67 Express Chipsatz. Laut ark.intel.com ist der *nicht* VT-d geeignet. Intel H67. In den Handbüchern zum Board habe ich auch nichts zum Thema Virtualisierung gefunden.

  • Im ersten Thread schreibt er was von "Dell Poweredge T20 Xeon E3-1225". Laut Verlinkung steckt da ein Intel C226 Chipsatz auf dem Board. Das könnte schon passen.

  • Im ersten Thread schreibt er was von "Dell Poweredge T20 Xeon E3-1225". Laut Verlinkung steckt da ein Intel C226 Chipsatz auf dem Board. Das könnte schon passen.

    Stimmt, sorry. Vielleicht mal mit einem anderen Hypervisor testen, um HW Probleme auszuschließen.

  • Servus,

    ich weiß nicht ob das Problem noch aktuell ist. Ich bin heute auch auf Proxmox 3.4-1 und Kernel 3.10.0-8-pve umgestiegen. Prompt wollte natürlich meine CineS2 nicht mehr durchgereicht werden. Abhilfe schaffte folgendes in der vm config:

    Code
    machine: q35
    hostpci0: 02:00.0,driver=vfio,pcie=1

    Danach klappte alles wieder ohne Probleme beim Start der VM, das PCIe Device war auch wieder in der VM nutzbar.

    Infos waren aus http://forum.proxmox.com/threads/17495-…in-pvetest-repo

    cu
    Markus

  • Mittlerweile läuft mein VDR-Server in einem OpenVZ-Container auf dem Proxmox-Server und nutzt einen SAT>IP-Server (Triax TSS 400) mittels SAT>IP-Plugin. Auch diese Lösung hat so ihre Probleme, doch läuft sie besser als die PCI-Passthrough-Geschichte.


    Kurzer Nachtrag: Da die SAT>IP-Lösung nicht zufriedenstellend lief, habe ich mittlerweile eine CineS2 V6 mit zusätzliche Duoflex an meinen VDR im OpenVZ-Container durchgereicht. Seitdem läuft das Ganze problemlos! :D

    Server:  (K)VM on Proxmox 4.x-Host, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) auf Debian 8 (Jessie), 1x Digital Devices Cine S2 (V6) + DuoFlex S2
    Clients: Raspberry Pi 2/3 mit Raspbian, VDR 2.2.0 (selbstgebaut vom yaVDR unstable Repo) als Streamdev-Clients

Jetzt mitmachen!

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