Hi,
i try to passthrough a pci device to my vm:
I need the last card: 04:07.0. To prevent the Proxmox Server to use the card with kernel based support i have add the following to /etc/modprobe.d/blacklist.conf:
Now i add the hospci command to my vm:
But the vm don't start anymore:
Have you any ideas?
dmesg on my vm:
dmesg on the proxmox server:
i try to passthrough a pci device to my vm:
root@master-srv:~# lspci
00:00.0 Host bridge: Intel Corporation 82Q35 Express DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 82Q35 Express PCI Express Root Port (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)
00:03.0 Communication controller: Intel Corporation 82Q35 Express MEI Controller (rev 02)
00:03.2 IDE interface: Intel Corporation 82Q35 Express PT IDER Controller (rev 02)
00:03.3 Serial controller: Intel Corporation 82Q35 Express Serial KT Controller (rev 02)
00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02)
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02)
00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02)
00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IO (ICH9DO) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
04:07.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card (rev 02)
I need the last card: 04:07.0. To prevent the Proxmox Server to use the card with kernel based support i have add the following to /etc/modprobe.d/blacklist.conf:
blacklist s5h1420
blacklist dvb_core
blacklist cx24113
blacklist cx24123
blacklist i2c-core
blacklist b2c2_flexcop
blacklist b2c2_flexcop_pci
Now i add the hospci command to my vm:
root@master-srv:~# cat /etc/pve/qemu-server/101.conf
ide0: local:101/vm-101-disk-1.raw
ostype: l26
memory: 1024
sockets: 1
net0: e1000=0E:1B:56:A6:C2:89,bridge=vmbr0
ide2: local:iso/yavdr64-0.4.0.iso,media=cdrom
name: srv-vdr
bootdisk: ide0
cores: 1
hostpci0: 04:07.0
But the vm don't start anymore:
*** EHCI support is under development ***
Failed to assign device "hostpci0" : Operation not permitted
kvm: -device pci-assign,host=04:07.0,id=hostpci0,bus=pci.0,addr=0x10: Device 'pci-assign' could not be initialized
TASK ERROR: start failed: command '/usr/bin/kvm -id 101 -chardev socket,id=monitor,path=/var/run/qemu-server/101.mon,server,nowait -mon chardev=monitor,mode=readline -vnc unix:/var/run/qemu-server/101.vnc,x509,password -pidfile /var/run/qemu-server/101.pid -daemonize -readconfig /usr/share/qemu-server/pve-usb.cfg -device usb-tablet,bus=ehci.0,port=6 -device pci-assign,host=04:07.0,id=hostpci0,bus=pci.0,addr=0x10 -name srv-vdr -smp sockets=1,cores=1 -nodefaults -boot menu=on,order=cdn -vga cirrus -tdf -k de -drive file=/var/lib/vz/template/iso/yavdr64-0.4.0.iso,if=none,id=drive-ide2,media=cdrom,aio=native -device ide-drive,bus=ide.1,unit=0,drive=drive-ide2,id=device-ide2 -drive file=/var/lib/vz/images/101/vm-101-disk-1.raw,if=none,id=drive-ide0,aio=native,boot=on -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0,id=device-ide0 -m 1024 -netdev type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge -device e1000,romfile=,mac=0E:1B:56:A6:C2:89,netdev=net0,bus=pci.0,addr=0x12 -cpuunits 1000' failed: exit code 1
Have you any ideas?
dmesg on my vm:
dmesg | grep -e DMAR -e IOMMU
[ 0.000000] Intel-IOMMU: enabled
dmesg on the proxmox server:
root@master-srv:~# dmesg | grep -e DMAR -e IOMMU
ACPI: DMAR 00000000bf1d797b 000D8 (v01 Intel OEMDMAR 00060000 LOHR 00000001)
Intel-IOMMU: enabled
DMAR: Host address width 36
DMAR: DRHD base: 0x000000fed91000 flags: 0x0
IOMMU fed91000: ver 1:0 cap c0000020230270 ecap 1000
DMAR: DRHD base: 0x000000fed92000 flags: 0x0
IOMMU fed92000: ver 1:0 cap c0000020230270 ecap 1000
DMAR: DRHD base: 0x000000fed93000 flags: 0x1
IOMMU fed93000: ver 1:0 cap c9008020230270 ecap 1000
DMAR: RMRR base: 0x000000bf1db000 end: 0x000000bf1fffff
DMAR: No ATSR found
IOMMU 0xfed92000: using Register based invalidation
IOMMU 0xfed91000: using Register based invalidation
IOMMU 0xfed93000: using Register based invalidation
IOMMU: Setting RMRR:
IOMMU: Setting identity map for device 0000:00:1d.0 [0xbf1db000 - 0xbf200000]
IOMMU: Setting identity map for device 0000:00:1d.1 [0xbf1db000 - 0xbf200000]
IOMMU: Setting identity map for device 0000:00:1d.2 [0xbf1db000 - 0xbf200000]
IOMMU: Setting identity map for device 0000:00:1d.7 [0xbf1db000 - 0xbf200000]
IOMMU: Setting identity map for device 0000:00:1a.0 [0xbf1db000 - 0xbf200000]
IOMMU: Setting identity map for device 0000:00:1a.1 [0xbf1db000 - 0xbf200000]
IOMMU: Setting identity map for device 0000:00:1a.2 [0xbf1db000 - 0xbf200000]
IOMMU: Setting identity map for device 0000:00:1a.7 [0xbf1db000 - 0xbf200000]
IOMMU: Prepare 0-16MiB unity mapping for LPC
IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0x1000000]
DMAR:[DMA Write] Request device [00:02.0] fault addr bf800000
DMAR:[fault reason 01] Present bit in root entry is clear