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

    PCI device doesn't show in XO or xe pci-list

    Scheduled Pinned Locked Moved Compute
    23 Posts 6 Posters 351 Views 6 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.
    • andSmvA Offline
      andSmv Vates 🪐 XCP-ng Team Xen Guru @chicagomed
      last edited by andSmv

      @chicagomed If lspci shows the PCI device in its output we probably need to check if XAPI layer "sees" all this devices and correctly reports them to XO. Ping @Team-XAPI-Network

      C 1 Reply Last reply Reply Quote 1
      • A Offline
        andriy.sultanov Vates 🪐 XAPI & Network Team @chicagomed
        last edited by

        @chicagomed Could you (and others with the issue) please post the output of lspci -mnn for the devices that are not shown in xe pci-list?

        XAPI filters for PCI devices with classes 01XX, 02XX, and 03XX as a safety measure (better to be safe than sorry in avoiding passthrough of critical devices), but perhaps we could reasonably expand this filter.

        marcoiM 1 Reply Last reply Reply Quote 2
        • marcoiM Offline
          marcoi
          last edited by

          here my list - items c6, c8, c9 are not showing up.

          00:00.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1507]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1507]"
          00:00.2 "IOMMU [0806]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1508]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1508]"
          00:01.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1509]" "" ""
          00:01.1 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150a]" "" ""
          00:01.2 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150a]" "" ""
          00:02.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1509]" "" ""
          00:02.1 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" ""
          00:02.2 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" ""
          00:02.4 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" ""
          00:02.5 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" ""
          00:03.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1509]" "" ""
          00:03.1 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" ""
          00:03.2 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" ""
          00:08.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1509]" "" ""
          00:08.1 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150c]" "" ""
          00:08.2 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150c]" "" ""
          00:08.3 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150c]" "" ""
          00:14.0 "SMBus [0c05]" "Advanced Micro Devices, Inc. [AMD] [1022]" "FCH SMBus Controller [790b]" -r71 "Advanced Micro Devices, Inc. [AMD] [1022]" "FCH SMBus Controller [790b]"
          00:14.3 "ISA bridge [0601]" "Advanced Micro Devices, Inc. [AMD] [1022]" "FCH LPC Bridge [790e]" -r51 "Advanced Micro Devices, Inc. [AMD] [1022]" "FCH LPC Bridge [790e]"
          00:18.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16f8]" "" ""
          00:18.1 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16f9]" "" ""
          00:18.2 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fa]" "" ""
          00:18.3 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fb]" "" ""
          00:18.4 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fc]" "" ""
          00:18.5 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fd]" "" ""
          00:18.6 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fe]" "" ""
          00:18.7 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16ff]" "" ""
          c1:00.0 "SATA controller [0106]" "JMicron Technology Corp. [197b]" "JMB58x AHCI SATA controller [0585]" -p01 "JMicron Technology Corp. [197b]" "Device [0000]"
          c2:00.0 "Non-Volatile memory controller [0108]" "Samsung Electronics Co Ltd [144d]" "NVMe SSD Controller SM961/PM961/SM963 [a804]" -p02 "Samsung Electronics Co Ltd [144d]" "SM963 2.5\" NVMe PCIe SSD [a801]"
          c3:00.0 "Ethernet controller [0200]" "Aquantia Corp. [1d6a]" "AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G] [04c0]" -r03 "Aquantia Corp. [1d6a]" "Device [0001]"
          c4:00.0 "Ethernet controller [0200]" "Realtek Semiconductor Co., Ltd. [10ec]" "Device [8126]" -r01 "Realtek Semiconductor Co., Ltd. [10ec]" "Device [0123]"
          c5:00.0 "VGA compatible controller [0300]" "NVIDIA Corporation [10de]" "GK208 [GeForce GT 720] [1286]" -ra1 "NVIDIA Corporation [10de]" "Device [1087]"
          c5:00.1 "Audio device [0403]" "NVIDIA Corporation [10de]" "GK208 HDMI/DP Audio Controller [0e0f]" -ra1 "NVIDIA Corporation [10de]" "Device [1087]"
          c6:00.0 "USB controller [0c03]" "Etron Technology, Inc. [1b6f]" "EJ168 USB 3.0 Host Controller [7023]" -r01 -p30 "Unknown vendor [7023]" "Device [1b6f]"
          c7:00.0 "Display controller [0380]" "Advanced Micro Devices, Inc. [AMD/ATI] [1002]" "Device [150e]" -rd1 "Unknown vendor [1f4c]" "Device [b020]"
          c7:00.1 "Audio device [0403]" "Advanced Micro Devices, Inc. [AMD/ATI] [1002]" "Rembrandt Radeon High Definition Audio Controller [1640]" "Unknown vendor [1f4c]" "Device [b020]"
          c7:00.2 "Encryption controller [1080]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [17e0]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [17e0]"
          c7:00.4 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151e]" -p30 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [15b9]"
          c7:00.6 "Audio device [0403]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Family 17h/19h HD Audio Controller [15e3]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [d808]"
          c7:00.7 "Signal processing controller [1180]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [164a]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [164a]"
          c8:00.0 "Non-Essential Instrumentation [1300]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150d]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150d]"
          c8:00.1 "Signal processing controller [1180]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [17f0]" -r10 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [17f0]"
          c9:00.0 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151f]" -p30 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [15b9]"
          c9:00.3 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151a]" -p30 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151a]"
          c9:00.4 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151b]" -p30 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151b]"
          c9:00.5 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151c]" -p40 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151c]"
          c9:00.6 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151d]" -p40 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151d]"
          
          
          1 Reply Last reply Reply Quote 0
          • marcoiM Offline
            marcoi @andriy.sultanov
            last edited by

            @andriy.sultanov is there a way to allow all devices (even if we blow up the system lol)

            For example in the docs there a usb filter list you can edit
            /etc/xensource/usb-policy.conf

            anything similar for pcie? Can something be added with disclaimer you break it on you etc?
            Maybe make it a command line option to disable the pci device filters for users that want to pass through special devices.

            olivierlambertO 1 Reply Last reply Reply Quote 0
            • olivierlambertO Offline
              olivierlambert Vates 🪐 Co-Founder CEO @marcoi
              last edited by

              @marcoi Right now it's hard coded. But we'll see what could be the best approach on this 🙂

              marcoiM 1 Reply Last reply Reply Quote 0
              • marcoiM Offline
                marcoi @olivierlambert
                last edited by

                @olivierlambert thanks for the update.
                and just to confirm, if a device is not showing up in xe list with uuid, there is no way to pass it to a VM correct?

                1 Reply Last reply Reply Quote 0
                • olivierlambertO Offline
                  olivierlambert Vates 🪐 Co-Founder CEO
                  last edited by

                  No, you can pass it anyway, it's just not doable via XO. But the CLI method should work 🙂

                  marcoiM 1 Reply Last reply Reply Quote 0
                  • marcoiM Offline
                    marcoi @olivierlambert
                    last edited by

                    @olivierlambert to confirm the steps
                    i can skip this step since it isnt showing up anyways

                    • xe pci-disable-dom0-access uuid=<pci uuid>

                    then use

                    • xe vm-param-set other-config:pci=0/0000:04:01.0 uuid=<vm uuid> to add it to vm
                    1 Reply Last reply Reply Quote 0
                    • olivierlambertO Offline
                      olivierlambert Vates 🪐 Co-Founder CEO
                      last edited by olivierlambert

                      That might work indeed. If it doesn't, you'll have to go via the old method:

                      /opt/xensource/libexec/xen-cmdline --set-dom0 "xen-pciback.hide=(0000:04:01.0)"
                      

                      Please let us know 🙂 (this way we could update the doc)

                      marcoiM 1 Reply Last reply Reply Quote 0
                      • marcoiM Offline
                        marcoi @olivierlambert
                        last edited by

                        @olivierlambert

                        xe vm-param-set other-config:pci=0/0000:c6:00.0 uuid=45d0f537-9076-b395-1fbd-850d2cc0cf68

                        This command worked. I was able to pass through the usb and also pcie devices i can get to using XO.

                        3555b351-e13d-478d-9df4-7bbcb1643909-image.png

                        windows host showing usb drive plugged into usb3 card and graphics card.

                        b6f55d15-9e66-4606-8a37-7593e3068d3a-image.png

                        1 Reply Last reply Reply Quote 0
                        • olivierlambertO Offline
                          olivierlambert Vates 🪐 Co-Founder CEO
                          last edited by

                          Perfect! It's just a matter of stuff hidden for some reasons, at least it doesn't cause any problem, which is what matters 🙂

                          1 Reply Last reply Reply Quote 1
                          • C Offline
                            chicagomed @andSmv
                            last edited by

                            @andSmv

                            From LSPCI:

                            0a:00.0 Audio device: Intel Corporation DG2 Audio Controller
                            0b:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A310] (rev 05)
                            

                            With xl pci-assignable-list :

                            0000:01:00.6
                            0000:01:00.4
                            0000:0b:00.0
                            0000:01:00.0
                            0000:01:00.3
                            
                            

                            Here you go...hope this helps!

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post