vdr in Virtueller Maschine mit Hardware

  • Sorry, "lspci -v" sollte es heißen. ;) und welche Bezeichnung hat die DVB-Karte? Hersteller, Typ, Modell.


    cu
    Markus

  • dmesg gibt jetzt aus

    Code
    1. dmesg | grep -e DMAR -e IOMMU
    2. Please enable the IOMMU option in the BIOS setup
    3. AMD-Vi: Enabling IOMMU at 0000:00:00.2 cap 0x40


    Soweit also so gut


    Sicher, dass das soweit ok ist?


    Die "Please enable the IOMMU option in the BIOS setup"-Meldung irritiert mich etwas. Oder hast du das geändert, aber hier nicht explizit angeführt? Ich hab zwar ein Intel System (Board: S1200BTL, CPU: Xeon E3-1220v2) aber bei mir sind es mehr Einträge die mit IOMMU zusammen hängen.



    Ich verwende ebenfalls KVM als Hypervisor und kann erfolgreich eine Digital Device Cine C/T v6 an die VM durchreichen; ist aber laut "lspci" auch nur ein PCI-Gerät.

  • OK, hier die Daten:


    Das ist dmesg der virtuellen vdr:




    hier die conf Datei desr VM auf Proxmox:


    lspci vom proxmox host:



    und dmesg vom proxmox host:




    Jan

  • Sicher, dass das soweit ok ist?


    Ich verwende ebenfalls KVM als Hypervisor und kann erfolgreich eine Digital Device Cine C/T v6 an die VM durchreichen; ist aber laut "lspci" auch nur ein PCI-Gerät.

    Soweit ich gelesen habe, ist das bei AMD Boards so. Wenn ichdie iommu Bios Option ausschalte, gibts nur Fehlermeldungen


    Diese PCI Karte zeigt sich immer mit 4 Geräten. Nativ in einem VDR Rechner funktioniert sie ja auch so (bereits ausprobiert).
    Jan

  • Hier noch das lspci vom proxmox Host



    jan

  • Servus,


    beim schnellen drüberschauen erst mal nix gesehen. Um mal die Funktion prinzipiell zu testen und die 4 Devices der DVB-Karte außen vor zu lassen, reich doch mal den USB3 Controller (und nur den! Also Device 02:00.0) an die VM durch. Wenn der dann sichtbar ist, liegt es an der DVB-Karte, da muss dann ein bisserl probiert werden, wie das mit den 4 Devices ist. Aber ein Schritt nach dem anderen. Erst mal die generelle Funktion demonstrieren. Falls es denn an dem USB3 Host auch scheitert, ist es noch was anderes (BIOS, Kernel Treiber, etc.).


    cu
    Markus

  • Ach ja, entsprechende Module für USB natürlich vorher auf dem Host entladen/blacklisten.


    cu
    Markus

  • Also mit und ohne das durchschleifen eines PCI Devices (USB Host Controller) sieht lspci und lsusb im Gast immer gleich aus.


    jan


    btw: Ich habe keine Module blacklisten müssen, weil keine mit "lsmod |grep -i usb " angezeigt wurden.

  • Also mit und ohne das durchschleifen eines PCI Devices (USB Host Controller) sieht lspci und lsusb im Gast immer gleich aus.


    Das kann nun nicht sein. Dann funktioniert da etwas nicht so, wie es sein sollte. Du bist noch die Ausgabe von "lsmod" und "dmidecode" schuldig. Evtl. war ja doch etwas mit USB Bezug geladen.


    Btw: Kannst Du bitte die Ausgaben als Dateianhänge oder in einen Spoiler (Icon mit "SP") verpacken? So scrollt man unnötig durch 1000ende Zeilen. Danke!


    cu
    Markus

  • Also mit und ohne das durchschleifen eines PCI Devices (USB Host Controller) sieht lspci und lsusb im Gast immer gleich aus.


    jan


    btw: Ich habe keine Module blacklisten müssen, weil keine mit "lsmod |grep -i usb " angezeigt wurden.


    Achtung: Der USB3 Controller wird doch durch ein Modul (xhci_hcd) verwendet:


    In einer früheren "lspci -v" Ausgabe stand bei dir

    Quote


    Kernel driver in use: xhci_hcd

  • Habe etwas gefunden:
    wenn ich hostpci: xxxxxx angebe startet die vm zwar, bringt aber im Syslog den Fehler:


    unknow settings "hostpci"


    nehme ich hostpci0: xxxx


    startet die vm nicht mit 2 Fehlern:


    1:


    TASK ERROR: can't reset pci device '00:12.0'



    2:






    kvm: -device pci-assign,host=03:05.0,id=hostpci0,bus=pci.0,addr=0x10: Failed to assign device "hostpci0" : Invalid argument
    kvm: -device pci-assign,host=03:05.0,id=hostpci0,bus=pci.0,addr=0x10: Device 'kvm-pci-assign' could not be initialized
    TASK
    ERROR: start failed: command '/usr/bin/kvm -id 113 -chardev
    'socket,id=qmp,path=/var/run/qemu-server/113.qmp,server,nowait' -mon
    'chardev=qmp,mode=control' -vnc
    unix:/var/run/qemu-server/113.vnc,x509,password -pidfile
    /var/run/qemu-server/113.pid -daemonize -name vdr -smp
    'sockets=1,cores=2' -nodefaults -boot 'menu=on' -vga cirrus -cpu
    kvm64,+x2apic,+sep -k de -m 4098 -device
    'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device
    'usb-tablet,id=tablet,bus=uhci.0,port=1' -device
    'pci-assign,host=03:05.0,id=hostpci0,bus=pci.0,addr=0x10' -device
    'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -drive
    '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=/mnt/vm-storage/images/113/vm-113-disk-1.vmdk,if=none,id=drive-virtio0,format=vmdk,aio=native,cache=none'
    -device
    'virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,bootindex=100'
    -netdev
    'type=tap,id=net0,ifname=tap113i0,script=/var/lib/qemu-server/pve-bridge'
    -device
    'e1000,mac=E6:7E:BA:96:F3:85,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300''
    failed: exit code 1



    Jan

  • Schau mal, ob die Module "ohci_hcd" und "ehci_hcd" noch geladen sind. Das sind die für die USB Controller. Die müssen vorher entladen werden ("modprobe -r ohci_hcd; modprobe -r ehci_hcd" bzw. vorher noch die Abhängigen entfernen oder gleich blacklisten).


    Wie sieht die Konfigurationsdatei konkret aus? Keine Auszüge, die volle Pracht ;) Außerdem bist Du noch ein paar Ausgaben (siehe vorheriger Post) schuldig.


    cu
    Markus

  • Hallo,



    also es sind laut lsmod keine hcd Module geladen.
    Hier noch die beiden Infos:



    Ausgabe von dmidecode





    und hier noch lsmod


    und hier noch die cfg der VM


    Jan


  • Kann es sein dass sich bei "hostpci0: 02:12.0" ein Tipp- oder Kopierfehler eingeschlichen hat? Wenn ich mir die "lspci" ausgabe von oben ansehe, dann ist der USB 3 Controller doch auf 02:00.0, oder?

  • ??? wieso ?


    00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890 PCI to PCI bridge (PCI express gpp port B) (prog-if 00 [Normal decode])



    Das ist doch nicht der USB Controller !?



    Jan

  • Verdammt ....


    und was ist das auf dem Host ?:

    Code
    1. 00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    2. 00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
    3. 00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    4. 00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller



    Ok, sorry, also 02:00:0 - wird in die VM durchgeschleift.
    Hier das lspci des Gastes:


    Das scheint also zu funktionieren.
    Und was machen wir mit der PCI Karte ?


    Jan

  • und was ist das auf dem Host ?:

    Code
    1. 00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    2. 00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
    3. 00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    4. 00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller


    Das sind USB 2.0 Controller.


    Hast du auch am USB 3.0 Port mal versucht etwas (einen USB Stick) anzustecken und in der VM mit

    Code
    1. lsusb

    geprüft, ob das auch wirklich funktioniert?


    In der Konfigurationsdatei hast du zur Zeit nur das

    Code
    1. hostpci0: 02:00.0


    drinnen, oder?


    Wenn du

    Code
    1. hostpci0: 03:05.0
    2. hostpci1: 03:05.1
    3. hostpci2: 03:05.2
    4. hostpci3: 03:05.4


    hinzufügst, wird versucht die Geräte an den Gast weiter zu reichen. Ob es kappt? Ich drücke dir meine Daumen.


    Wobei ob du 03:05.4 in der VM brauchen wirst, weiß ich nicht. Ich weiß aber auch nicht wie die Treiber damit zurecht kämen, solltest du nur einen Teil in die VM packen. Außerdem hab ich gelesen, dass kvm nur zwei Geräte durchreichen kann, also es nur die Einträge hostpci0 und hsotpci1 gibt. Ob das noch gültig ist, weiß ich nicht. Aber versuchen kannst du es ja mal.

  • Also mit dieser CFG


    Code
    1. cat 113.confbootdisk: virtio0cores: 2ide2: none,media=cdrommemory: 4098name: vdrnet0: e1000=E6:7E:BA:96:F3:85,bridge=vmbr0ostype: l26sockets: 1virtio0: vm-storage:113/vm-113-disk-1.vmdk,format=vmdk,size=32Ghostpci0: 03:05.0
    2. hostpci1: 03:05.1hostpci2: 03:05.2hostpci3: 03:05.4




    bekomme ich diese Fehlermeldung.


    Code
    1. vm 113 - unable to parse value of 'hostpci2' - unknown setting 'hostpci2'
    2. vm 113 - unable to parse value of 'hostpci3' - unknown setting 'hostpci3'
    3. kvm: -device pci-assign,host=03:05.0,id=hostpci0,bus=pci.0,addr=0x10: Failed to assign device "hostpci0" : Invalid argument
    4. kvm: -device pci-assign,host=03:05.0,id=hostpci0,bus=pci.0,addr=0x10: Device 'kvm-pci-assign' could not be initialized



    Und mit dieser CFG


    Code
    1. cat 113.confbootdisk: virtio0cores: 2ide2: none,media=cdrommemory: 4098name: vdrnet0: e1000=E6:7E:BA:96:F3:85,bridge=vmbr0ostype: l26sockets: 1virtio0: vm-storage:113/vm-113-disk-1.vmdk,format=vmdk,size=32Ghostpci0: 03:05.0




    bekomme ich diesen Fehler.


    Code
    1. kvm: -device pci-assign,host=03:05.0,id=hostpci0,bus=pci.0,addr=0x10: Failed to assign device "hostpci0" : Invalid argument
    2. kvm: -device pci-assign,host=03:05.0,id=hostpci0,bus=pci.0,addr=0x10: Device 'kvm-pci-assign' could not be initialized




    Das bedeutet wohl:
    1. proxmox kann nur 2 Devices.
    2. mein pci Device kann nicht durchgeschliffen werden.


    Ich habe jetzt noch 2 Möglichkeiten:
    Zunächst werde ich einen USB Sat Receiver dranhängen und alternativ auch eine DVB-S1 Karte, welche ich noch habe.
    Diese wird mit lspci auch nur als 1 Device gezeigt. Leider wäre dann kein HD Empfang mehr möglich.
    Mit dem USB Receiver hatte ich - wenn er nicht am Host angesteckt - ganz schlechte Erfahrungen, das USB war zu langsam.
    Allerdings hatte ich auch kein USB3 Kontroller zur Verfügung gehabt (seinerzeit alles unter virtualbox).
    Andererseits ... der USB Receiver ist auch nur USB2 ...


    Seis drum.
    Ich schreibe mein Ergebnis später hier rein.


    Jan