Unable to boot VM after adding NIC as PCI Passthrough Device

Joined
Jan 23, 2022
Messages
2
Hi all,

I'm running TrueNAS-SCALE-22.02-RC.2 on a HP Microserver G8 and I'm trying to assign one of the built-in NIC's as a PCI Passthrough device to an OPNSenseVM.
If i boot the VM with no PCI device it works fine, however as soon as I add either of the NIC's as a PCI Pass through device and try to start the VM I get the below error:

2022-01-24_15h21_33.png


The devices I'm trying to add are below:
2022-01-24_12h13_43.png


I have a 4-port 1GB PCI card with a bonded interface that i'm using for access to TrueNAS, the two devices i'm trying to pass through are eno1 and eno2 (as per the screenshot below)

1643009288748.png


I've tried searching for previous posts with a similar issue and the only other one i could find that was similar suggested removing and re-adding the PCI devices.
After several attempts (adding only one or the other, then adding both), i still have no luck.

This is the full error:
Code:
Error: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/supervisor/supervisor_base.py", line 166, in start
    if self.domain.create() < 0:
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1353, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2022-01-24T07:29:55.219660Z qemu-system-x86_64: -device vfio-pci,host=0000:03:00.0,id=hostdev0,bus=pci.0,addr=0x6: vfio 0000:03:00.0: group 11 is not viable
Please ensure all devices within the iommu_group are bound to their vfio bus driver.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 160, in call_method
    result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1281, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1269, in nf
    return await func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1137, in nf
    res = await f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/vm_lifecycle.py", line 42, in start
    await self.middleware.run_in_thread(self._start, vm['name'])
  File "/usr/lib/python3/dist-packages/middlewared/utils/run_in_thread.py", line 10, in run_in_thread
    return await self.loop.run_in_executor(self.run_in_thread_executor, functools.partial(method, *args, **kwargs))
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/vm_supervisor.py", line 62, in _start
    self.vms[vm_name].start(vm_data=self._vm_from_name(vm_name))
  File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/supervisor/supervisor_base.py", line 175, in start
    raise CallError('\n'.join(errors))
middlewared.service_exception.CallError: [EFAULT] internal error: qemu unexpectedly closed the monitor: 2022-01-24T07:29:55.219660Z qemu-system-x86_64: -device vfio-pci,host=0000:03:00.0,id=hostdev0,bus=pci.0,addr=0x6: vfio 0000:03:00.0: group 11 is not viable
Please ensure all devices within the iommu_group are bound to their vfio bus driver.
 
Top