Issue Can't PCI Passthrough on Proxmox 4.0 Beta1

rarirureluis

Renowned Member
Jul 14, 2015
9
0
66
Hi.

I used Proxmox 3.4 and can passthrough PCI.
But I upgrade to 4.0 and cant passthrough.

How to passthrough on Proxmox 4.0 beta1?

Code:
lspci |grep Multi
08:00.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01)

vim 100.conf
bootdisk: virtio0
cores: 4
cpu: Westmere
memory: 3072
name: Chinachu
hostpci0: 08:00.0
net0: virtio=,bridge=vmbr0
numa: 0
ostype: l26
smbios1: uuid=
sockets: 1
virtio0: 500GB:100/vm-100-disk-2.qcow2,size=128G

dmesg | grep -e DMAR -e IOMMU
[    0.000000] Intel-IOMMU: enabled

and error log

Code:
[COLOR=#000000][FONT=tahoma]TASK ERROR: can't unbind/bind to stub pci device '08:00.0'[/FONT][/COLOR]

Code:
pve-manager/4.0-24/946af136 (running kernel: 3.19.8-1-pve)
root@proxmox:~# pveversion -v
proxmox-ve: 4.0-3 (running kernel: 3.19.8-1-pve)
pve-manager: 4.0-24 (running version: 4.0-24/946af136)
pve-kernel-3.19.8-1-pve: 3.19.8-3
lvm2: 2.02.116-pve1
corosync-pve: 2.3.4-2
libqb0: 0.17.1-3
pve-cluster: 4.0-14
qemu-server: 4.0-13
pve-firmware: 1.1-5
libpve-common-perl: 4.0-10
libpve-access-control: 4.0-5
libpve-storage-perl: 4.0-12
pve-libspice-server1: 0.12.5-1
vncterm: 1.2-1
pve-qemu-kvm: 2.3-6
pve-container: 0.9-3
pve-firewall: 2.0-4
pve-ha-manager: 1.0-4
ksm-control-daemon: 1.2-1
glusterfs-client: 3.5.2-2
lxc-pve: 1.1.2-1
lxcfs: 0.9-pve1
cgmanager: 0.37-pve1
What should i do?
 
Hi,
yes you are right, it is a bug.
please make a bug report on bugzilla.proxmox.com
the problem is the pci dev will not disconnected.
 
Last edited by a moderator:
@rarirureluis: The only change to the system (dom0) you did is
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
correct? I also tried
Code:
echo 1 > /sys/module/kvm/parameters/allow_unsafe_assigned_interrupts
But it didn't help. Any hints? It this an upstream (kernel?) issue or a "pve middleware" problem?
 
Does it work with vfio ?


machine: q35
hostpci0: 08:00.0,pcie=1,driver=vfio


or


hostpci0: 08:00.0,driver=vfio

I think I tried that as well and got an error related to the q35 not being available or something. But I will re-try this. Actually my SATA controller is a pcie device (SATA III, 4 Ports, PCIe x1).
 
Does it work with vfio ? machine: q35 hostpci0: 08:00.0,pcie=1,driver=vfio or hostpci0: 08:00.0,driver=vfio
Alright, good news: The first options work, including the machine parameter. Without that parameter I get:
Code:
 TASK ERROR: q35 machine model is not enabled at /usr/share/perl5/PVE/QemuServer.pm line 2663.
I also do need the other two parameters to get it working. I think the wiki should be updated accordingly? Thanks a lot!
 
Hello,

The pci_stub module is not loaded by default in Proxmox 4.0 Beta1 . It's a mandatory module to unbind your pci card from your host to your guest VM.

Just do the two following steps to fix your pci passthrough issue:

Code:
echo "pci_stub" >> /etc/modules
reboot

Christophe
 
Last edited: