ASMedia USB controller 3.1 cannot be masked by bhyve ?

From: Mario Marietto <marietto2008_at_gmail.com>
Date: Sat, 11 Dec 2021 23:33:25 UTC
Hello to everyone.


I've bought a new USB 3.1 controller from the company "ASMedia Technology
Inc." ,this model :


https://www.xt-xinte.com/h-product-detail.html?goods_id=682689


and I tried to mask it with bhyve because I want to pass thru it inside a
virtual machine. This is how I have assigned the addresses to bhyve inside
the file /boot/loader.conf :


/boot/loader.conf

pptdevs="1/0/0 2/0/0 2/2/0 2/6/0 2/14/0 3/0/0 4/0/0 5/0/0 6/0/0 7/0/0
7/0/1 7/0/2 7/0/3"


unfortunately hasn't been assigned any ppt device to this controller. All I
seem to see is PCI-PCI bridges. No interfaces under pciconf. Is there a
workaround for this ? thanks.

# pciconf -lv

hostb0@pci0:0:0:0:      class=0x060000 rev=0x0d hdr=0x00 vendor=0x8086
device=0x3e30 subvendor=0x1458 subdevice=0x5000
vendor     = 'Intel Corporation'
device     = '8th/9th Gen Core 8-core Desktop Processor Host
Bridge/DRAM Registers [Coffee Lake S]'
class      = bridge
subclass   = HOST-PCI

pcib1@pci0:0:1:0:       class=0x060400 rev=0x0d hdr=0x01 vendor=0x8086
device=0x1901 subvendor=0x1458 subdevice=0x5000
vendor     = 'Intel Corporation'
device     = '6th-10th Gen Core Processor PCIe Controller (x16)'
class      = bridge
subclass   = PCI-PCI

pcib7@pci0:0:1:1:       class=0x060400 rev=0x0d hdr=0x01 vendor=0x8086
device=0x1905 subvendor=0x1458 subdevice=0x5000
vendor     = 'Intel Corporation'
device     = 'Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe
Controller (x8)'
class      = bridge
subclass   = PCI-PCI

vgapci0@pci0:0:2:0:     class=0x030000 rev=0x02 hdr=0x00 vendor=0x8086
device=0x3e98 subvendor=0x1458 subdevice=0xd000
vendor     = 'Intel Corporation'
device     = 'CoffeeLake-S GT2 [UHD Graphics 630]'
class      = display
subclass   = VGA

none0@pci0:0:18:0:      class=0x118000 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa379 subvendor=0x1458 subdevice=0x8888
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH Thermal Controller'
class      = dasp

xhci0@pci0:0:20:0:      class=0x0c0330 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa36d subvendor=0x1458 subdevice=0x5007
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH USB 3.1 xHCI Host Controller'
class      = serial bus
subclass   = USB

none1@pci0:0:20:2:      class=0x050000 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa36f subvendor=0x8086 subdevice=0x7270
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH Shared SRAM'
class      = memory
subclass   = RAM

none2@pci0:0:22:0:      class=0x078000 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa360 subvendor=0x1458 subdevice=0x1c3a
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH HECI Controller'
class      = simple comms

ahci0@pci0:0:23:0:      class=0x010601 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa352 subvendor=0x1458 subdevice=0xb005
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH SATA AHCI Controller'
class      = mass storage
subclass   = SATA

pcib8@pci0:0:27:0:      class=0x060400 rev=0xf0 hdr=0x01 vendor=0x8086
device=0xa340 subvendor=0x1458 subdevice=0x5001
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH PCI Express Root Port'
class      = bridge
subclass   = PCI-PCI

pcib9@pci0:0:28:0:      class=0x060400 rev=0xf0 hdr=0x01 vendor=0x8086
device=0xa338 subvendor=0x1458 subdevice=0x5001
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH PCI Express Root Port'
class      = bridge
subclass   = PCI-PCI

pcib10@pci0:0:28:5:     class=0x060400 rev=0xf0 hdr=0x01 vendor=0x8086
device=0xa33d subvendor=0x1458 subdevice=0x5001
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH PCI Express Root Port'
class      = bridge
subclass   = PCI-PCI

pcib11@pci0:0:29:0:     class=0x060400 rev=0xf0 hdr=0x01 vendor=0x8086
device=0xa330 subvendor=0x1458 subdevice=0x5001
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH PCI Express Root Port'
class      = bridge
subclass   = PCI-PCI

isab0@pci0:0:31:0:      class=0x060100 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa305 subvendor=0x1458 subdevice=0x5001
vendor     = 'Intel Corporation'
device     = 'Z390 Chipset LPC/eSPI Controller'
class      = bridge
subclass   = PCI-ISA

hdac0@pci0:0:31:3:      class=0x040300 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa348 subvendor=0x1458 subdevice=0xa0c3
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH cAVS'
class      = multimedia
subclass   = HDA

ichsmb0@pci0:0:31:4:    class=0x0c0500 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa323 subvendor=0x1458 subdevice=0x5001
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH SMBus Controller'
class      = serial bus
subclass   = SMBus

none3@pci0:0:31:5:      class=0x0c8000 rev=0x10 hdr=0x00 vendor=0x8086
device=0xa324 subvendor=0x8086 subdevice=0x7270
vendor     = 'Intel Corporation'
device     = 'Cannon Lake PCH SPI Controller'
class      = serial bus

em0@pci0:0:31:6:        class=0x020000 rev=0x10 hdr=0x00 vendor=0x8086
device=0x15bc subvendor=0x1458 subdevice=0xe000
vendor     = 'Intel Corporation'
device     = 'Ethernet Connection (7) I219-V'
class      = network
subclass   = ethernet

pcib2@pci0:1:0:0:       class=0x060400 rev=0x01 hdr=0x01 vendor=0x1b21
device=0x1806 subvendor=0x0000 subdevice=0x0000
vendor     = 'ASMedia Technology Inc.'
class      = bridge
subclass   = PCI-PCI

pcib3@pci0:2:0:0:       class=0x060400 rev=0x01 hdr=0x01 vendor=0x1b21
device=0x1806 subvendor=0x0000 subdevice=0x0000
vendor     = 'ASMedia Technology Inc.'
class      = bridge
subclass   = PCI-PCI

pcib4@pci0:2:2:0:       class=0x060400 rev=0x01 hdr=0x01 vendor=0x1b21
device=0x1806 subvendor=0x0000 subdevice=0x0000
vendor     = 'ASMedia Technology Inc.'
class      = bridge
subclass   = PCI-PCI

pcib5@pci0:2:6:0:       class=0x060400 rev=0x01 hdr=0x01 vendor=0x1b21
device=0x1806 subvendor=0x0000 subdevice=0x0000
vendor     = 'ASMedia Technology Inc.'
class      = bridge
subclass   = PCI-PCI

pcib6@pci0:2:14:0:      class=0x060400 rev=0x01 hdr=0x01 vendor=0x1b21
device=0x1806 subvendor=0x0000 subdevice=0x0000
vendor     = 'ASMedia Technology Inc.'
class      = bridge
subclass   = PCI-PCI

ppt0@pci0:3:0:0:        class=0x0c0330 rev=0x02 hdr=0x00 vendor=0x1912
device=0x0015 subvendor=0xffff subdevice=0xffff
vendor     = 'Renesas Technology Corp.'
device     = 'uPD720202 USB 3.0 Host Controller'
class      = serial bus
subclass   = USB

ppt1@pci0:4:0:0:        class=0x0c0330 rev=0x02 hdr=0x00 vendor=0x1912
device=0x0015 subvendor=0xffff subdevice=0xffff
vendor     = 'Renesas Technology Corp.'
device     = 'uPD720202 USB 3.0 Host Controller'
class      = serial bus
subclass   = USB

ppt2@pci0:5:0:0:        class=0x0c0330 rev=0x02 hdr=0x00 vendor=0x1912
device=0x0015 subvendor=0xffff subdevice=0xffff
vendor     = 'Renesas Technology Corp.'
device     = 'uPD720202 USB 3.0 Host Controller'
class      = serial bus
subclass   = USB

ppt3@pci0:6:0:0:        class=0x0c0330 rev=0x02 hdr=0x00 vendor=0x1912
device=0x0015 subvendor=0xffff subdevice=0xffff
vendor     = 'Renesas Technology Corp.'
device     = 'uPD720202 USB 3.0 Host Controller'
class      = serial bus
subclass   = USB

ppt4@pci0:7:0:0:        class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de
device=0x1e04 subvendor=0x19da subdevice=0x2503
vendor     = 'NVIDIA Corporation'
device     = 'TU102 [GeForce RTX 2080 Ti]'
class      = display
subclass   = VGA

ppt5@pci0:7:0:1:        class=0x040300 rev=0xa1 hdr=0x00 vendor=0x10de
device=0x10f7 subvendor=0x19da subdevice=0x2503
vendor     = 'NVIDIA Corporation'
device     = 'TU102 High Definition Audio Controller'
class      = multimedia
subclass   = HDA

ppt6@pci0:7:0:2:        class=0x0c0330 rev=0xa1 hdr=0x00 vendor=0x10de
device=0x1ad6 subvendor=0x19da subdevice=0x2503
vendor     = 'NVIDIA Corporation'
device     = 'TU102 USB 3.1 Host Controller'
class      = serial bus
subclass   = USB

ppt7@pci0:7:0:3:        class=0x0c8000 rev=0xa1 hdr=0x00 vendor=0x10de
device=0x1ad7 subvendor=0x19da subdevice=0x2503
vendor     = 'NVIDIA Corporation'
device     = 'TU102 USB Type-C UCSI Controller'
class      = serial bus

nvme0@pci0:8:0:0:       class=0x010802 rev=0x03 hdr=0x00 vendor=0xc0a9
device=0x5403 subvendor=0xc0a9 subdevice=0x2100
vendor     = 'Micron/Crucial Technology'
class      = mass storage
subclass   = NVMxhci1@pci0:10:0:0:      class=0x0c0330 rev=0x03
hdr=0x00 vendor=0x1912 device=0x0014 subvendor=0x1912 subdevice=0x0015
vendor     = 'Renesas Technology Corp.'
device     = 'uPD720201 USB 3.0 Host Controller'
class      = serial bus
subclass   = USB

# grep usbus /var/run/dmesg.boot

usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
usbus1 on xhci1
usbus1: 5.0Gbps Super Speed USB v3.0
ugen0.1: <0x8086 XHCI root HUB> at usbus0
ugen1.1: <0x1912 XHCI root HUB> at usbus1
uhub0 on usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
uhub1 on usbus1
uhub1: <0x1912 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus1
Root mount waiting for: usbus0 CAM usbus1
Root mount waiting for: usbus0 usbus1
ugen0.2: <VIA Labs, Inc. USB2.0 Hub> at usbus0
uhub2: <VIA Labs, Inc. USB2.0 Hub, class 9/0, rev 2.10/90.14, addr 1> on usbus0
ugen1.2: <Western Digital Elements 25A3> at usbus1
umass0: <Western Digital Elements 25A3, class 0/0, rev 3.10/10.21,
addr 1> on usbus1
ugen1.3: <Apple, Inc. Keyboard Hub> at usbus1
uhub3: <Apple, Inc. Keyboard Hub, class 9/0, rev 2.00/96.15, addr 2> on usbus1
ugen0.3: <VIA Labs, Inc. USB2.0 Hub> at usbus0
uhub4: <VIA Labs, Inc. USB2.0 Hub, class 9/0, rev 2.10/90.14, addr 2> on usbus0
Root mount waiting for: usbus0 usbus1
ugen1.4: <Apple Inc. Apple Keyboard> at usbus1
ukbd0: <Apple Inc. Apple Keyboard, class 0/0, rev 2.00/0.74, addr 3> on usbus1
Root mount waiting for: usbus0 usbus1
ugen0.4: <C-Media Electronics Inc. USB Audio Device> at usbus0
ugen1.5: <Logitech Wireless Receiver> at usbus1
ugen0.5: <vendor 0x05e3 USB2.0 Hub> at usbus0
uhub5: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/85.36, addr 4> on usbus0
Root mount waiting for: usbus0
ugen0.6: <ITE Tech. Inc. ITE Device(8595)> at usbus0
ukbd1: <ITE Tech. Inc. ITE Device(8595), class 0/0, rev 2.00/0.03,
addr 5> on usbus0
Root mount waiting for: usbus0
ugen0.7: <vendor 0x05e3 USB2.0 Hub> at usbus0
uhub6: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/85.36, addr 6> on usbus0
Root mount waiting for: usbus0
ugen0.8: <vendor 0x04b3 USB Optical Mouse> at usbus0
Root mount waiting for: usbus0
ugen0.9: <SEM HCT Keyboard> at usbus0
ukbd2: <SEM HCT Keyboard, class 0/0, rev 1.10/1.10, addr 8> on usbus0
Root mount waiting for: usbus0
ugen0.10: <VIA Labs, Inc. USB3.0 Hub> at usbus0
uhub7: <VIA Labs, Inc. USB3.0 Hub, class 9/0, rev 3.00/90.15, addr 9> on usbus0
Root mount waiting for: usbus0
ugen0.11: <VIA Labs, Inc. USB3.0 Hub> at usbus0
uhub8: <VIA Labs, Inc. USB3.0 Hub, class 9/0, rev 3.00/90.15, addr 10> on usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
ugen0.12: <TOSHIBA External USB 3.0> at usbus0
umass1: <TOSHIBA External USB 3.0, class 0/0, rev 3.00/1.00, addr 11> on usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
ugen0.13: <TOSHIBA External USB 3.0> at usbus0
umass2: <TOSHIBA External USB 3.0, class 0/0, rev 3.00/1.00, addr 12> on usbus0
Root mount waiting for: usbus0
ugen0.14: <Seagate M3 Portable> at usbus0
umass3: <Seagate M3 Portable, class 0/0, rev 3.00/7.08, addr 13> on usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
ugen0.15: <HGST G-DRIVE USB> at usbus0
umass4: <HGST G-DRIVE USB, class 0/0, rev 3.00/26.02, addr 14> on usbus0
Root mount waiting for: usbus0
ugen0.16: <GODO USB3.0 External HDD> at usbus0
umass5: <GODO USB3.0 External HDD, class 0/0, rev 3.00/1.00, addr 15> on usbus0
uhid1: <C-Media Electronics Inc. USB Audio Device, class 0/0, rev
1.10/1.00, addr 3> on usbus0
uhid0: <Apple Inc. Apple Keyboard, class 0/0, rev 2.00/0.74, addr 3> on usbus1
uhid2: <SEM HCT Keyboard, class 0/0, rev 1.10/1.10, addr 8> on usbus0
ums0: <vendor 0x04b3 USB Optical Mouse, class 0/0, rev 2.00/2.00, addr
7> on usbus0
ums1: <Logitech Wireless Receiver, class 0/0, rev 1.10/3.02, addr 4> on usbus1
uaudio0: <C-Media Electronics Inc. USB Audio Device, class 0/0, rev
1.10/1.00, addr 3> on usbus0

# usbconfig

gen0.1: <0x8086 XHCI root HUB> at usbus0, cfg=0 md=HOST spd=SUPER
(5.0Gbps) pwr=SAVE (0mA)
ugen1.1: <0x1912 XHCI root HUB> at usbus1, cfg=0 md=HOST spd=SUPER
(5.0Gbps) pwr=SAVE (0mA)
ugen0.2: <VIA Labs, Inc. USB2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (0mA)
ugen1.3: <Apple, Inc. Keyboard Hub> at usbus1, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (300mA)
ugen0.3: <VIA Labs, Inc. USB2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (0mA)
ugen1.4: <Apple Inc. Apple Keyboard> at usbus1, cfg=0 md=HOST spd=LOW
(1.5Mbps) pwr=ON (20mA)
ugen0.4: <C-Media Electronics Inc. USB Audio Device> at usbus0, cfg=0
md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
ugen1.5: <Logitech Wireless Receiver> at usbus1, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON (50mA)
ugen0.5: <vendor 0x05e3 USB2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (100mA)
ugen0.6: <ITE Tech. Inc. ITE Device(8595)> at usbus0, cfg=0 md=HOST
spd=FULL (12Mbps) pwr=ON (100mA)
ugen0.7: <vendor 0x05e3 USB2.0 Hub> at usbus0, cfg=0 md=HOST spd=HIGH
(480Mbps) pwr=SAVE (100mA)
ugen0.8: <vendor 0x04b3 USB Optical Mouse> at usbus0, cfg=0 md=HOST
spd=LOW (1.5Mbps) pwr=ON (100mA)
ugen0.9: <SEM HCT Keyboard> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps)
pwr=ON (98mA)
ugen0.10: <VIA Labs, Inc. USB3.0 Hub> at usbus0, cfg=0 md=HOST
spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.11: <VIA Labs, Inc. USB3.0 Hub> at usbus0, cfg=0 md=HOST
spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.12: <TOSHIBA External USB 3.0> at usbus0, cfg=0 md=HOST
spd=SUPER (5.0Gbps) pwr=ON (224mA)
ugen0.13: <TOSHIBA External USB 3.0> at usbus0, cfg=0 md=HOST
spd=SUPER (5.0Gbps) pwr=ON (0mA)
ugen0.14: <Seagate M3 Portable> at usbus0, cfg=0 md=HOST spd=SUPER
(5.0Gbps) pwr=ON (224mA)
ugen0.15: <HGST G-DRIVE USB> at usbus0, cfg=0 md=HOST spd=SUPER
(5.0Gbps) pwr=ON (2mA)
ugen0.16: <GODO USB3.0 External HDD> at usbus0, cfg=0 md=HOST
spd=SUPER (5.0Gbps) pwr=ON (0mA)
ugen1.2: <Western Digital Elements 25A3> at usbus1, cfg=0 md=HOST
spd=SUPER (5.0Gbps) pwr=ON (2mA)


-- 
Mario.