PCI passthrough with PV-183

redninjas101

New Member
Jun 13, 2012
2
0
1
[FONT=&amp]I’m attempting to install zoneminder on a vm in Proxmox 2.1. I’ll have to apologize in advance, because I’m new to Proxmox. My host hardware is as follows:[/FONT]

[FONT=&amp]Mobo: Giga-byte GA-EP43-UD3L[/FONT]
[FONT=&amp]CPU: Intel Q9400[/FONT]
[FONT=&amp]RAM: 6 Gb OCZ DDR2[/FONT]
[FONT=&amp]HDD: Seagate 2 Tb[/FONT]
[FONT=&amp]Capture Card: Pro Video PV-183 8 video/8 audio inputs[/FONT]

[FONT=&amp]The hardware is VT-d compatible and iommu turned on in the BIOS in grub.conf. When listing PCI devices using lspci –nn, I’m greeted with 16 individual devices, instead of one consolidated address to use for the ‘hostpci0: xx:xx.x’ in the vm.conf file. The output of lspci –nn is listed below.[/FONT]

Code:
root@proxmox:~# lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 4 Series Chipset DRAM Controller [8086:2e20] (rev 03)
00:01.0 PCI bridge [0604]: Intel Corporation 4 Series Chipset PCI Express Root Port [8086:2e21] (rev 03)
00:1a.0 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4 [8086:3a37]
00:1a.1 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5 [8086:3a38]
00:1a.2 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6 [8086:3a39]
00:1a.7 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2 [8086:3a3c]
00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller [8086:3a3e]
00:1c.0 PCI bridge [0604]: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1 [8086:3a40]
00:1c.4 PCI bridge [0604]: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 5 [8086:3a48]
00:1c.5 PCI bridge [0604]: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6 [8086:3a4a]
00:1d.0 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1 [8086:3a34]
00:1d.1 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2 [8086:3a35]
00:1d.2 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3 [8086:3a36]
00:1d.7 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1 [8086:3a3a]
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 90)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801JIB (ICH10) LPC Interface Controller [8086:3a18]
00:1f.2 SATA controller [0106]: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller [8086:3a22]
00:1f.3 SMBus [0c05]: Intel Corporation 82801JI (ICH10 Family) SMBus Controller [8086:3a30]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2)
01:00.1 Audio device [0403]: NVIDIA Corporation High Definition Audio Controller [10de:0be3] (rev a1)
03:00.0 IDE interface [0101]: JMicron Technology Corp. JMB368 IDE controller [197b:2368]
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 02)
05:00.0 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI [1000:0030] (rev 07)
05:00.1 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI [1000:0030] (rev 07)
05:01.0 PCI bridge [0604]: Hint Corp HiNT HB4 PCI-PCI Bridge (PCI6150) [3388:0022] (rev 04)
06:04.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
06:04.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
06:05.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
06:05.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
06:06.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
06:06.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
06:07.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
06:07.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
06:08.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
06:08.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
06:09.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
06:09.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
06:0a.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
06:0a.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
06:0b.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
06:0b.1 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)


[FONT=&amp]I[/FONT]’ve tried several of the devices addresses but Proxmox yields an error in the web interface when starting the VM, stating:[FONT=&amp]

[/FONT]
Code:
No IOMMU found.  Unable to assign device "hostpci0"
kvm: -device pci-assign,host=06:04.0,id=hostpci0,bus=pci.0,addr=0x10: Device 'pci-assign' could not be initialized
TASK  ERROR: start failed: command '/usr/bin/kvm -id 100 -chardev  'socket,id=monitor,path=/var/run/qemu-server/100.mon,server,nowait' -mon  'chardev=monitor,mode=readline' -vnc  unix:/var/run/qemu-server/100.vnc,x509,password -pidfile  /var/run/qemu-server/100.pid -daemonize -usbdevice tablet -device  'pci-assign,host=06:04.0,id=hostpci0,bus=pci.0,addr=0x10' -name  Zoneminder -smp 'sockets=1,cores=1' -nodefaults -boot 'menu=on' -vga  cirrus -k en-us -drive  'file=/var/lib/vz/template/iso/ubuntu-12.04-server-i386.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/100/vm-100-disk-1.raw,if=none,id=drive-ide0,aio=native,cache=none'  -device  'ide-hd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=100' -m 512  -netdev  'type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,vhost=on'  -device  'virtio-net-pci,mac=42:84:D7:15:9A:F4,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300''  failed: exit code 1

I get the above No IOMMU found even though the result of the command dmesg | grep -e DMAR -e IOMMU is as follows:

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


I’ve even tried to use the PCI bridge device, but I’m getting an error as follows. Has anyone got any suggestions or have a setup like this working with zoneminder?


Any help would be greatly appreciated

Phil
 
Last edited:
I apologize for bumping an old thread, especially with my first post, but I have the exact same situation. Were you able to get this working after upgrading? I've been unable to pass my Bt878 card through to my ZM VM and have tried the same thing as you. I don't receive any errors about IOMMU, and it is enabled. I'm even able to assign 2 different address to hostpci0 and hostpci1, the VM starts but there are no new devices listed.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!