[SOLVED] Xenctrl.Error("22: Invalid argument") after trying to passthrough a PCI
-
I do not see mt WIFI card in my VM
I am thinking I need to pass the WIFI card PCI to my VM. So, I have ASUS H110T motherboard and I am trying to get M.2 wifi card be recognized by the VM. I followed the instruction here https://xcp-ng.org/docs/compute.html. I enabled the Virtualization in BIOS. SSH to xcp-ng.
# lspci 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 07) 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 510 (rev 06) 00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31) 00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31) 00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31) 00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1) 00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1) 00:1d.1 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #10 (rev f1) 00:1f.0 ISA bridge: Intel Corporation H110 Chipset LPC/eSPI Controller (rev 31) 00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31) 00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31) 00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31) 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V (rev 31) 02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32) 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
I am interested in passing-through the
02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
I followed the instruction.# /opt/xensource/libexec/xen-cmdline --set-dom0 "xen-pciback.hide=(0000:02:00.0)" # reboot
The WIFI card was excluded.
# xl pci-assignable-list 0000:02:00.0
then I added the PCI to the VM but I am getting an error. This is the third time I am doing this the first time there was no error but I could not see the WIFI card in the VM either. Any suggestion on how to solve this error ?
# xe vm-param-set other-config:pci=0/0000:02:00.0 uuid=b29a6204-c911-93cc-32bb-89a7f80ba06e # xe vm-start uuid=b29a6204-c911-93cc-32bb-89a7f80ba06e The server failed to handle your request, due to an internal error. The given message may give details useful for debugging the problem. message: xenopsd internal error: Xenctrl.Error("22: Invalid argument")
-
I have the exact same issue. I have a fresh install of xcp-ng and followed the documentation to a "T"! Install version is xcp-ng-8.1.0-2. I really hope to get an answer soon about this.
-
@moussa854 ok bruh....soooo.... you might want to check your bios settings and make sure VT-d is enabled or if you are on a AMD rig IOMMU or AMD-Vi is enabled. I feel so dumb and overlooked this and after enabling VT-d on my rig everything worked as expected.
-
Thanks for the tip. I went to the bios and enabled the Intel Virtualization Technology and I thought I was done. After further research I recognized there are two steps to Enable the Intel Virtualization Technology. https://us.informatiweb.net/tutorials/it/bios/enable-iommu-or-vt-d-in-your-bios.html
- Advanced >> CPU configuration >> Intel Virtualization Technology >> Enable
- Advanced >> System Agent Configuration >> VT-d >> Enable