Motherboard Bluetooth Passthrough UnRaid 6.4 to Windows 10 VM?


Recommended Posts

Hi All,

 

I ran some searches and came up empty - figured it couldn't hurt to ask.

 

I have recently set up a windows 10 VM on a UnRaid 6.4 machine.  I'm new to VM configuration and the method for passing through peripheral devices is not 100% clear to me.  My motherboard is an Asrock Taichi x370.  It has on-board bluetooth which I would like to use for Logitech Harmony Hub control of my windows VM.  However, I have not been able to figure out how to pass through the Bluetooth to the VM and am not really sure where to start.

 

Any help would be sincerely appreciated.

 

Best,

Rob

  • Like 1
Link to comment
  • 5 months later...
  • 1 month later...
  • 4 weeks later...
  • 6 months later...

I once bought a BCM94360CS2 and BCM943602CS pci wifi and bluetooth card. Both of their wifi modules use the pci bus and the bluetooth modules use the USB bus. Situation is the same as my Asrock x370 Taichi board, in which case the bluetooth use the USB bus, too.

So I would recommend that you use the following commands to check which usb port / bus it is using and pass the bus / port to the vm. Note that using the vendor id and product id will not work.

lsusb -t

and 

lsusb

 

Link to comment
  • 2 years later...
  • 9 months later...
  • 1 month later...

@Geck0

 

I'm struggling a bit with the same problem; also have a Gigabyte Extreme x570 WIiFi. hoping you might be able to help. I can get wifi, but not bluetooth...

Unraid 6.10.2

 

IOMMU

 

IOMMU group 22:[1103:2680] 04:00.0 SCSI storage controller: HighPoint Technologies, Inc. Device 2680 (rev 01)

IOMMU group 23:[8086:24fb] 05:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)

IOMMU group 24:[8086:1539] 06:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

 

XML

 

<hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x01' function='0x0'/>
    </hostdev>

 

Windows Devices

 

WiFi is showing, no bluetooth :(

 

1054245094_ScreenShot2022-09-24at10_41_11.thumb.png.d5ecd020beab813b9ea37972b7827dd0.png

 

 

Link to comment
39 minutes ago, whitephoenix117 said:

WiFi is showing, no bluetooth :(

There's no trace of bluetooth in your post..Why you set the wifi on slot 1? put it on bus 5, slot 0, function 0.

As far as bluetooth, it's a usb device, that wifi (or better bluetooth) should have a physical connection to a usb controller, better to passthorugh the whole usb controller to which it is attached, check with lsusb command.

Edited by ghost82
Link to comment
7 hours ago, ghost82 said:

Why you set the wifi on slot 1? put it on bus 5, slot 0, function 0.

I tried, I get an error message

Quote

XML error: Invalid PCI address 0000:05:00.0. slot must be >= 1

 

7 hours ago, ghost82 said:

As far as bluetooth, it's a usb device,

Thanks on 2nd review of the intel doc's you're right. It's USB

https://www.intel.com/content/www/us/en/products/sku/94854/intel-dual-band-wirelessac-3168/specifications.html

 

I passed through just the device

<hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x8087'/>
        <product id='0x0aa7'/>
      </source>
      <address type='usb' bus='0' port='2'/>
    </hostdev>

I can't figure out how to passthrough the entire controller as a PCI device...

 

 

it appears, but it still has an error
 

1799398102_ScreenShot2022-09-24at19_05_20.thumb.png.bbe78e925e793edc27d48402a6995604.png

 

 

IOMMU's

1679385795_ScreenShot2022-09-24at19_08_42.thumb.png.e41e60c3fd954cf9197215e4ab3848bb.png

 

 

Link to comment

@whitephoenix117

Hi, I'm pressed for time, before I finally go away on holiday. Hopefully, the below helps.

Here is my system info in full and a screenshot of the relevant, below it.

 

One thing I do remember doing, is installing bluetooth using the drivers provided by Gigabyte, rather than allowing Windows to update automatically.

 

 

Quote

vices and IOMMU Groups

Warning: Your system has booted with the PCIe ACS Override setting enabled. The below list doesn't not reflect the way IOMMU would naturally group devices.
To see natural IOMMU groups for your hardware, go to the VM Manager page and set the PCIe ACS override setting to Disabled.

IOMMU group 0:[1022:1482] 00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

IOMMU group 1:[1022:1483] 00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge

IOMMU group 2:[1022:1483] 00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge

IOMMU group 3:[1022:1482] 00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

IOMMU group 4:[1022:1482] 00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

IOMMU group 5:[1022:1483] 00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge

IOMMU group 6:[1022:1482] 00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

IOMMU group 7:[1022:1482] 00:05.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

IOMMU group 8:[1022:1482] 00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

IOMMU group 9:[1022:1484] 00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]

IOMMU group 10:[1022:1482] 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge

IOMMU group 11:[1022:1484] 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B]

IOMMU group 12:[1022:790b] 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 61)

[1022:790e] 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)

IOMMU group 13:[1022:1440] 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 0

[1022:1441] 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 1

[1022:1442] 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 2

[1022:1443] 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 3

[1022:1444] 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 4

[1022:1445] 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 5

[1022:1446] 00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 6

[1022:1447] 00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 7

IOMMU group 14:[1987:5018] 01:00.0 Non-Volatile memory controller: Phison Electronics Corporation E18 PCIe4 NVMe Controller (rev 01)

[N:0:1:1] disk Sabrent Rocket 4.0 Plus__1 /dev/nvme0n1 2.00TB

IOMMU group 15:[1022:57ad] 02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse Switch Upstream

IOMMU group 16:[1022:57a3] 03:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 17:[1022:57a3] 03:01.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 18:[1022:57a3] 03:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 19:[1022:57a3] 03:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 20:[1022:57a3] 03:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 21:[1022:57a3] 03:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 22:[1022:57a4] 03:08.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 23:[1022:57a4] 03:09.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 24:[1022:57a4] 03:0a.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge

IOMMU group 25:[1bb1:5016] 04:00.0 Non-Volatile memory controller: Seagate Technology PLC FireCuda 520 SSD (rev 01)

[N:1:1:1] disk Seagate IronWolf ZP1000NM30002-2XW301__1 /dev/nvme1n1 1.00TB

IOMMU group 26:[1bb1:5016] 05:00.0 Non-Volatile memory controller: Seagate Technology PLC FireCuda 520 SSD (rev 01)

[N:2:1:1] disk Seagate IronWolf ZP1000NM30002-2XW301__1 /dev/nvme2n1 1.00TB

IOMMU group 27:[1000:0072] 06:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)

[11:0:0:0] disk ATA ST14000NE0008-2J EN01 /dev/sde 14.0TB

[11:0:1:0] disk ATA WDC WD6003FZBX-0 1A01 /dev/sdf 6.00TB

[11:0:2:0] disk ATA WDC WD6003FZBX-0 1A01 /dev/sdg 6.00TB

[11:0:3:0] disk ATA ST14000VN0008-2J SC60 /dev/sdh 14.0TB

[11:0:4:0] disk ATA ST16000NE000-2RW EN02 /dev/sdi 16.0TB

IOMMU group 28:[1d6a:d107] 07:00.0 Ethernet controller: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02)

IOMMU group 29:[8086:1539] 08:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

IOMMU group 30:[8086:2723] 09:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)

IOMMU group 31:[1022:1485] 0a:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP

[1022:149c] 0a:00.1 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller

This controller is bound to vfio, connected USB devices are not visible.

[1022:149c] 0a:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller

This controller is bound to vfio, connected USB devices are not visible.

IOMMU group 32:[1022:7901] 0b:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)

IOMMU group 33:[1022:7901] 0c:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)

[6:0:0:0] disk ATA ZA480NM10001 011J /dev/sda 480GB

[9:0:0:0] disk ATA ST18000NE000-2YY EN01 /dev/sdc 18.0TB

[10:0:0:0] disk ATA ST14000VN0008-2J SC60 /dev/sdd 14.0TB

IOMMU group 34:[10de:2204] 0d:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)

[10de:1aef] 0d:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)

IOMMU group 35:[1022:148a] 0e:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function

IOMMU group 36:[1022:1485] 0f:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP

IOMMU group 37:[1022:1486] 0f:00.1 Encryption controller: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP

IOMMU group 38:[1022:149c] 0f:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller

Bus 005 Device 001 Port 5-0 ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 005 Device 002 Port 5-2 ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS

Bus 005 Device 003 Port 5-3 ID 0718:067d Imation Corp. ImationFlashDriv

Bus 006 Device 001 Port 6-0 ID 1d6b:0003 Linux Foundation 3.0 root hub

IOMMU group 39:[1022:1487] 0f:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller

 

XML config from my VM:

 

Quote

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='47'>
  <name>Windows 10</name>
  <uuid>39c3904d-4c2b-44d8-6c78-c9f9c09c0e66</uuid>
  <description>New</description>
  <metadata>
    <vmtemplate xmlns="http://unraid.net/xmlns" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>13107200</memory>
  <currentMemory unit='KiB'>13107200</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>6</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='16'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='18'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='20'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-6.0'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv mode='custom'>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='3' threads='2'/>
    <cache mode='passthrough'/>
    <feature policy='require' name='topoext'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/cache_nvme/isos/virtio-win-0.1.196-1.iso' index='2'/>
      <backingStore/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <alias name='sata0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/nvme_vmstorage/VMstorage/Windows 10/vdisk.img' index='1'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xa'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xb'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xc'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='pci' index='8' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='8' port='0xd'/>
      <alias name='pci.8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
    </controller>
    <controller type='pci' index='9' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='9' port='0xe'/>
      <alias name='pci.9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
    </controller>
    <controller type='pci' index='10' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='10' port='0xf'/>
      <alias name='pci.10'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
    </controller>
    <controller type='pci' index='11' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='11' port='0x10'/>
      <alias name='pci.11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='12' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='12' port='0x11'/>
      <alias name='pci.12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='13' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='13' port='0x12'/>
      <alias name='pci.13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='14' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='14' port='0x15'/>
      <alias name='pci.14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <controller type='pci' index='15' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='15' port='0x16'/>
      <alias name='pci.15'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
    </controller>
    <controller type='pci' index='16' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='16' port='0x17'/>
      <alias name='pci.16'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:e3:43:93'/>
      <source bridge='br0'/>
      <target dev='vnet43'/>
      <model type='virtio-net'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-47-Windows 10/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <audio id='1' type='none'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0d' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0d' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0f' slot='0x00' function='0x4'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x10' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev3'/>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev4'/>
      <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev5'/>
      <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x3'/>
      </source>
      <alias name='hostdev6'/>
      <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>
 

image.thumb.png.251cdf1e5ef07d8dafc352ddf9016aec.png

Link to comment
11 hours ago, whitephoenix117 said:

I passed through just the device

--->

Quote

Note that using the vendor id and product id will not work.

As suggested, you should try to passthrough the device by setting the source bus and port: this will emulate a usb controller to which your bt usb will be attached; since the controller is emulated there is the possibility that it wont work. Moreover if you passthrough the device to the emulated controller it couldn't work if devices are renumbered.

 

11 hours ago, whitephoenix117 said:

I can't figure out how to passthrough the entire controller as a PCI device...

You iommu group 19 contains several devices, probably you didn't enable acs override. Enable it and see if iommu group 19 is splitted. As it is now, you can't passthrough 07:00.3 because your unraid usb is probably at 07:00.1, in the same iommu group.

 

Enable acs override, reboot and check if 07:00.3 is splitted, if it is, bind it to vfio, set the vm to use that controller and reboot.

 

11 hours ago, whitephoenix117 said:

XML error: Invalid PCI address 0000:05:00.0. slot must be >= 1

Probably because you already used address 05:00.0 for something else, without looking the diagnostics impossible to help.

Link to comment

Post your groupings and your XML from your VM. 

Im guessing your only passing through BT on its own. You need to pass the whole controller, or try to ACS override! Which has already been mentioned. 

Reset your XML to default by changing  a setting in gui of VM config. Change it back to base settings and then post your XML. 

 

You also have a conflict. It can't be Bus 0.  

 

1022:1485 and 1022:149c devices I've bracketed in the image need to be passed through. I'm guessing when you select one of them to pass through it automatically selects all 3. You will need to reboot to take effect. In the image they're not ticked. 

 

After doing this, post your Sys Info page and VM XML. 

 

 

IMG_20220925_230032.thumb.png.66ef082f595717e6d4b198f9a06599d4.png

 

 

Link to comment
15 minutes ago, Geck0 said:

1022:1485 and 1022:149c devices I've bracketed in the image need to be passed through

He can't as I wrote, the checkmarks are greyed out because probably he has the unraid usb plugged in a usb controller in iommu group 19 (I bet it's the sandisk ultra usb 3.0).

Enable acs override, reboot and post the whole diagnostics not only xml.

Edited by ghost82
Link to comment

 

2 hours ago, ghost82 said:

the checkmarks are greyed out because probably he has the unraid usb plugged in a usb controller in iommu group 19 (I bet it's the sandisk ultra usb 3.0).

Enable acs override, reboot and post the whole diagnostics not only xml.

Thanks! I hadn't thought about this. SanDisk was my boot drive.

 

I had ACS override turned on for my GPU, I moved it to "both" this was able to split it up, and bind it to VFIO

1515031213_ScreenShot2022-09-25at12_11_21.thumb.png.57606ad952544a8c2a0cd1da449899b6.png

 

I updated my VM settings

1865370195_ScreenShot2022-09-25at12_19_15.thumb.png.088af076717d60b237c504990fd5a8ab.png

 

Now My Xbox Controller is Working :) (its the little things)

846042967_ScreenShot2022-09-25at12_18_21.thumb.png.7d477d38326fc53f31bc03fc1f5b5fd8.png

 

 

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.