XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    [SOLVED] Xenctrl.Error("22: Invalid argument") after trying to passthrough a PCI

    Scheduled Pinned Locked Moved Compute
    4 Posts 2 Posters 1.9k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M Offline
      moussa854
      last edited by moussa854

      I do not see mt WIFI card in my VM
      windows_10__Running_.png

      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")
      
      1 Reply Last reply Reply Quote 0
      • X Offline
        xTITUS MAXIMUSx
        last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • X Offline
          xTITUS MAXIMUSx
          last edited by

          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.

          M 1 Reply Last reply Reply Quote 3
          • M Offline
            moussa854 @xTITUS MAXIMUSx
            last edited by moussa854

            xTITUS MAXIMUSx

            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
            1 Reply Last reply Reply Quote 0
            • First post
              Last post