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
    1. GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"


    Code
    1. cat /etc/modprobe.d/blacklist
    2. blacklist pci-stub


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


    lsmod


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




    Gast:

    Code
    1. 04:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter
    2. Subsystem: Digital Devices GmbH Cine S2 V6 DVB adapter
    3. Flags: bus master, fast devsel, latency 0, IRQ 10
    4. Memory at f7c00000 (64-bit, non-prefetchable) [size=64K]
    5. Capabilities: [50] Power Management version 3
    6. Capabilities: [70] MSI: Enable- Count=1/2 Maskable- 64bit+
    7. Capabilities: [90] Express Endpoint, MSI 00
    8. 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
      1. 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
      1. #dvb
      2. blacklist dvb_usb_dw2102
      3. blacklist ir_lirc_codec
      4. blacklist lirc_dev

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

    • in (Bsp.) 102.conf:
      Code
      1. 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:



    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


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


    Ausserdem gerade noch probiert:

    Code
    1. root@proxmox:/etc/modprobe.d# nano kvm_iommu_map_guest.conf
    2. 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

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von nEiMi ()

  • 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
    1. wget http://download.proxmox.com/debian/dists/wheezy/pve-upgrade-2.3-to-3.0
    2. chmod +x pve-upgrade-2.3-to-3.0
    3. ./pve-upgrade-2.3-to-3.0 --download-only
    4. ./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
    1. root@proxmox:~# apt-get install pve-kernel-3.10.0-5-pve
    2. Reading package lists... Done
    3. Building dependency tree
    4. Reading state information... Done
    5. E: Unable to locate package pve-kernel-3.10.0-5-pve
    6. 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
    1. wget http://download.proxmox.com/debian/dists/wheezy/pve-upgrade-2.3-to-3.0
    2. chmod +x pve-upgrade-2.3-to-3.0
    3. ./pve-upgrade-2.3-to-3.0 --download-only
    4. ./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
    1. # 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
    1. # PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
    2. deb http://download.proxmox.com/debian wheezy pve-no-subscription
    3. anschliessend...
    4. [code]root@proxmox:# apt-get update
    5. root@proxmox:# apt-get install pve-kernel-3.10.0-5-pve
    6. root@proxmox:# reboot


    beim Start der VM 102 folgende Fehlermeldung:

    Code
    1. Could not access KVM kernel module: No such file or directory
    2. failed to initialize KVM: No such file or directory
    3. 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
    1. Bus 0, device 16, function 0:
    2. Multimedia controller: PCI device dd01:0003
    3. IRQ 11.
    4. BAR0: 64 bit memory at 0xfebd0000 [0xfebdffff].
    5. 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
    1. 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
    1. # PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use
    2. deb http://download.proxmox.com/debian wheezy pve-no-subscription


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

    Code
    1. 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.

  • 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
    1. machine: q35
    2. 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/threa…10-kernel-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