bhyve Which USB slot to passthrough?

I'm trying to figure out which slot to pass throught in bhyve such as passthru0="6/0/0=2:0"

I put the USB in thinking when it's there I can figure out which slot it's running on but I couldn't.

Even with all the information below I can't figure out on which slot is the USB actually running on so I can reserve it and pass it through.


Here's what I have:

Code:
➜  ~ sudo usbconfig                    
ugen1.1: <(0x1912) XHCI root HUB> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen2.1: <Intel EHCI root HUB> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.1: <Intel EHCI root HUB> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen2.2: <Integrated Rate Matching Hub Intel Corp.> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.2: <Integrated Rate Matching Hub Intel Corp.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.3: <Cruzer Glide SanDisk Corp.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (200mA)
That shows the USB at ugen0.3 ... What does that mean? Generation or place?

YAML:
➜  ~ sudo usbconfig -d 0.3 dump_all_desc
ugen0.3: <Cruzer Glide SanDisk Corp.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (200mA)

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x0781
  idProduct = 0x5575
  bcdDevice = 0x0126
  iManufacturer = 0x0001  <SanDisk>
  iProduct = 0x0002  <Cruzer Glide>
  iSerialNumber = 0x0003  <20044528430591F0CD9E>
  bNumConfigurations = 0x0001

 Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x0020
    bNumInterfaces = 0x0001
    bConfigurationValue = 0x0001
    iConfiguration = 0x0000  <no string>
    bmAttributes = 0x0080
    bMaxPower = 0x0064

    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x0008  <Mass storage>
      bInterfaceSubClass = 0x0006
      bInterfaceProtocol = 0x0050
      iInterface = 0x0000  <no string>

     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0002  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200
        bInterval = 0x0001
        bRefresh = 0x0000
        bSynchAddress = 0x0000

All of my vm passthru. Deleted some Xeon entries. Message is too long.

Code:
➜  ~ sudo vm passthru                  
DEVICE     BHYVE ID     READY        DESCRIPTION
hostb0     0/0/0        No           Xeon E7 v2/Xeon E5 v2/Core i7 DMI2
pcib1      0/1/0        No           Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a
pcib2      0/1/1        No           Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1b
pcib3      0/2/0        No           Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a
pcib4      0/3/0        No           Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a
none0      0/5/0        No           Xeon E7 v2/Xeon E5 v2/Core i7 VTd/Memory Map/Misc
none1      0/5/2        No           Xeon E7 v2/Xeon E5 v2/Core i7 IIO RAS
ioapic0    0/5/4        No           Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC
pcib5      0/17/0       No           C600/X79 series chipset PCI Express Virtual Root Port
none2      0/22/0       No           C600/X79 series chipset MEI Controller
em0        0/25/0       No           82579LM Gigabit Network Connection (Lewisville)
ehci0      0/26/0       No           C600/X79 series chipset USB2 Enhanced Host Controller
hdac1      0/27/0       No           C600/X79 series chipset High Definition Audio Controller
pcib6      0/28/0       No           C600/X79 series chipset PCI Express Root Port 3
pcib7      0/28/1       No           C600/X79 series chipset PCI Express Root Port 2
pcib8      0/28/4       No           C600/X79 series chipset PCI Express Root Port 5
ehci1      0/29/0       No           C600/X79 series chipset USB2 Enhanced Host Controller
pcib9      0/30/0       No           82801 PCI Bridge
isab0      0/31/0       No           C600/X79 series chipset LPC Controller
ahci0      0/31/2       No           C600/X79 series chipset 6-Port SATA AHCI Controller
ichsmb0    0/31/3       No           C600/X79 series chipset SMBus Host Controller
mps0       1/0/0        No           SAS2308 PCI-Express Fusion-MPT SAS-2
vgapci0    4/0/0        No           GP108 [GeForce GT 1030]
hdac0      4/0/1        No           GP108 High Definition Audio Controller
xhci0      6/0/0        No           uPD720201 USB 3.0 Host Controller
igb0       7/0/0        No           I210 Gigabit Network Connection
re0        8/0/0        No           RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
none3      127/8/0      No           Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0
none4      127/9/0      No           Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1
none37     127/22/0     No           Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder
none38     127/22/1     No           Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers
none71     255/16/7     No           Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3
none72     255/19/0     No           Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe
none73     255/19/1     No           Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe
none74     255/19/4     No           Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers
none75     255/19/5     No           Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring
none76     255/22/0     No           Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder
none77     255/22/1     No           Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers
none78     255/22/2     No           Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers


All the pcie minus some deleted Xeon entries.

Code:
➜  ~ sudo pciconf -v -l          
hostb0@pci0:0:0:0:    class=0x060000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e00 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 DMI2'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:0:    class=0x060400 rev=0x04 hdr=0x01 vendor=0x8086 device=0x0e02 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:1:1:    class=0x060400 rev=0x04 hdr=0x01 vendor=0x8086 device=0x0e03 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1b'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:2:0:    class=0x060400 rev=0x04 hdr=0x01 vendor=0x8086 device=0x0e04 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a'
    class      = bridge
    subclass   = PCI-PCI


    vendor     = 'Broadcom / LSI'
    device     = 'SAS2308 PCI-Express Fusion-MPT SAS-2'
    class      = mass storage
    subclass   = SAS
vgapci0@pci0:4:0:0:    class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de device=0x1d01 subvendor=0x1043 subdevice=0x85f4
    vendor     = 'NVIDIA Corporation'
    device     = 'GP108 [GeForce GT 1030]'
    class      = display
    subclass   = VGA
hdac0@pci0:4:0:1:    class=0x040300 rev=0xa1 hdr=0x00 vendor=0x10de device=0x0fb8 subvendor=0x1043 subdevice=0x85f4
    vendor     = 'NVIDIA Corporation'
    device     = 'GP108 High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
xhci0@pci0:6:0:0:    class=0x0c0330 rev=0x03 hdr=0x00 vendor=0x1912 device=0x0014 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Renesas Technology Corp.'
    device     = 'uPD720201 USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
igb0@pci0:7:0:0:    class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x1533 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'I210 Gigabit Network Connection'
    class      = network
    subclass   = ethernet
re0@pci0:8:0:0:    class=0x020000 rev=0x15 hdr=0x00 vendor=0x10ec device=0x8161 subvendor=0x10ec subdevice=0x8168
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
none3@pci0:127:8:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e80 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0'
    class      = base peripheral
none4@pci0:127:9:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e90 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1'
    class      = base peripheral
none5@pci0:127:10:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec0 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 0'
    class      = base peripheral
none6@pci0:127:10:1:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec1 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 1'
    class      = base peripheral
none7@pci0:127:10:2:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec2 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 2'
    class      = base peripheral
none8@pci0:127:10:3:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec3 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 3'
    class      = base peripheral
none9@pci0:127:11:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e1e subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers'
    class      = base peripheral
none15@pci0:127:13:1:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ee3 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers'
    class      = base peripheral
none16@pci0:127:13:2:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ee5 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers'
    class      = base peripheral
none17@pci0:127:14:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ea0 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0'
    class      = base peripheral
none18@pci0:127:14:1:    class=0x110100 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e30 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0'
    class      = dasp
    subclass   = performance counters
ioapic1@pci0:128:5:4:    class=0x080020 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e2c subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC'
    class      = base peripheral
    subclass   = interrupt controller
none42@pci0:255:8:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e80 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0'
    class      = base peripheral
none43@pci0:255:9:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e90 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1'
    class      = base peripheral
none44@pci0:255:10:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec0 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 0'
    class      = base peripheral
none45@pci0:255:10:1:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec1 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 1'
    class      = base peripheral
none46@pci0:255:10:2:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec2 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 2'
    class      = base peripheral
none63@pci0:255:15:5:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ead subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers'
    class      = base peripheral
none64@pci0:255:16:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eb0 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0'
    class      = base peripheral
none65@pci0:255:16:1:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eb1 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1'
    class      = base peripheral
none66@pci0:255:16:2:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eb2 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0'
    class      = base peripheral
none67@pci0:255:16:3:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eb3 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1'
    class      = base peripheral
none68@pci0:255:16:4:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eb4 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2'
    class      = base peripheral
none69@pci0:255:16:5:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eb5 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3'
    class      = base peripheral
none70@pci0:255:16:6:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eb6 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2'
    class      = base peripheral
none71@pci0:255:16:7:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eb7 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3'
    class      = base peripheral
none72@pci0:255:19:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e1d subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe'
    class      = base peripheral
none73@pci0:255:19:1:    class=0x110100 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e34 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe'
    class      = dasp
    subclass   = performance counters
none74@pci0:255:19:4:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e81 subvendor=0x8086 subdevice=0x0000
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers'
    class      = base peripheral
none75@pci0:255:19:5:    class=0x110100 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0e36 subvendor=0x8086 subdevice=0x0000
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring'
    class      = dasp
    subclass   = performance counters
none76@pci0:255:22:0:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec8 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder'
    class      = base peripheral
none77@pci0:255:22:1:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0ec9 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers'
    class      = base peripheral
none78@pci0:255:22:2:    class=0x088000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x0eca subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Intel Corporation'
    device     = 'Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers'
    class      = base peripheral
 
Well I guess according to this https://vermaden.wordpress.com/2023/08/18/freebsd-bhyve-virtualization/ the USB should support support MSI/MSI-X interrupts. And I only have one USB 3.0 and that narrows it down. I wanted to use the inside USB directly on the board but it's 2.0 like all others.

sudo pciconf -lvc gave me only one that supports MSI interupts.

Code:
xhci0@pci0:6:0:0:    class=0x0c0330 rev=0x03 hdr=0x00 vendor=0x1912 device=0x0014 subvendor=0x1028 subdevice=0x05d4
    vendor     = 'Renesas Technology Corp.'
    device     = 'uPD720201 USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
    cap 01[50] = powerspec 3  supports D0 D3  current D0
    cap 05[70] = MSI supports 8 messages, 64 bit
    cap 11[90] = MSI-X supports 8 messages, enabled
                 Table in map 0x10[0x1000], PBA in map 0x10[0x1080]
    cap 10[a0] = PCI-Express 2 endpoint max data 128(128) NS
                 max read 512
                 link x1(x1) speed 5.0(5.0) ASPM disabled(L0s/L1) ClockPM disabled
    ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected
    ecap 0018[150] = LTR 1
 
Back
Top