# ASMedia USB controller 3.1 cannot be masked by bhyve ?



## ziomario (Dec 11, 2021)

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. I don't know why. Can u give a look below ? maybe I made some mistake. 10x


```
# 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)
```


----------



## Phishfry (Dec 11, 2021)

No mistakes on your PPT settings. ASmedia are junk in every class they serve.
Who makes a 4 port SATA controller with x1 lanes.
ASmedia that's who.
Get another Renesas and call it a day.

I thought FreeBSD had issues with USB3.1? Does it work?


----------



## Phishfry (Dec 11, 2021)

I don't see the card enumerated under XHCI1 which is what it should be.... XHCI0 being USB on mobo.


----------



## ziomario (Dec 11, 2021)

I'm having a lot of troubles with this controller. I tried to install the driver under windows 10 and it has not been accepted. Under Linux is recognized and with virt-manager,where I have virtualized windows 7,the driver does not work. Anyway,the Renesas controller is under device host PCI,but why the ASMedia is under the device host USB ?


----------



## Phishfry (Dec 11, 2021)

All I seem to see is PCI-PCI bridges. No interfaces under pciconf.


----------



## ziomario (Dec 11, 2021)

yes,I think that I've understood why it is not masked. the ASmedia PCI bridge is marked by bhyve as a (pcib*) device that cannot be assigned to the special driver. I have some different pcib* devices that can't be masked. For the script there is no differences between the pcib devices that can't be masked and the ASmedia pci bridge. Is there a workaround for this ? Maybe I will ask to the virtualization ML.


----------



## ziomario (Dec 12, 2021)

this controller is not good. can u suggest a new usb controller self powered supported by freebsd ? thanks.


----------



## Phishfry (Dec 12, 2021)

Here is what I use.

Basic:
Dell OEM card - Renesys USB3 with two ports. Can be found in full height or half bracket,








						Dell Dual Port USB 3.0 PCI Express Card Low Profile P/N:0FWGJ8 Tested Working  | eBay
					

Find many great new & used options and get the best deals for Dell Dual Port USB 3.0 PCI Express Card Low Profile P/N:0FWGJ8 Tested Working at the best online prices at eBay! Free shipping for many products!



					www.ebay.com
				



Card is ECS U3N2-D

Deluxe:
Startech PEXUSB3S44V
4 separate channels allows one card to pass thru to four different VM's.
Each channel has a separate bus address.

There is a cheaper 2 channel version of the deluxe card. Only 2 pass-thru addresses.








						Startech.com PEXUSB3S42V 4 Port PCI Express PCIE USB 3.0 Card Adapter W 2 5GBPS   | eBay
					

Find many great new & used options and get the best deals for Startech.com PEXUSB3S42V 4 Port PCI Express PCIE USB 3.0 Card Adapter W 2 5GBPS  at the best online prices at eBay! Free shipping for many products!



					www.ebay.com
				



Startech PEXUSB3S42V
With this you can pass through two ports to two separate VM's.

Both of these cards have auxiliary power connectors. They are not required for its use.


----------



## Phishfry (Dec 12, 2021)

Have you tried swapping ASmedia card to another slot?

Have you read on IO-MMU?





						IOMMU introduction
					

iommu



					terenceli.github.io


----------



## ziomario (Dec 12, 2021)

I don't know if it will work,but if I give the following command :


```
devctl set driver -f pci0:1:0:0 ppt
```

I get :


```
devctl: Failed to set pci0:1:0:0 driver to ppt: Device not configured

BUT :

root@marietto:/usr/home/marietto # pciconf -vl

ppt0@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
```


----------



## ziomario (Dec 12, 2021)

The first usb controller that you have suggested can't be shipped to italy and it has only 2 usb ports. the second one is too expensive


----------



## Zare (Dec 12, 2021)

ziomario said:


> this controller is not good. can u suggest a new usb controller self powered supported by freebsd ? thanks.



Delock. They're in electronic stores in Croatia therefore they should be present in Italy.


```
root@phobos:~ # diff pci.log pci.log.2
318a319,323
> pcib10@pci0:0:28:7:   class=0x060400 rev=0xd5 hdr=0x01 vendor=0x8086 device=0x8d1e subvendor=0x1462 subdevice=0x7885
>     vendor     = 'Intel Corporation'
>     device     = 'C610/X99 series chipset PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
371a377,381
>     class      = serial bus
>     subclass   = USB
> xhci3@pci0:9:0:0:     class=0x0c0330 rev=0x01 hdr=0x00 vendor=0x1106 device=0x3483 subvendor=0x1106 subdevice=0x3483
>     vendor     = 'VIA Technologies, Inc.'
>     device     = 'VL805/806 xHCI USB 3.0 Controller'
root@phobos:~ # pciconf -lv | grep ppt
ppt0@pci0:3:0:0:        class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de device=0x1401 subvendor=0x1462 subdevice=0x3202
ppt1@pci0:3:0:1:        class=0x040300 rev=0xa1 hdr=0x00 vendor=0x10de device=0x0fba subvendor=0x1462 subdevice=0x3202
ppt2@pci0:9:0:0:        class=0x0c0330 rev=0x01 hdr=0x00 vendor=0x1106 device=0x3483 subvendor=0x1106 subdevice=0x3483
root@phobos:~ #
```

Ppt on USB keyb/mouse works seamlessly for Debian bhyve guest


----------



## ziomario (Dec 12, 2021)

Can you give me the exact link of the product ? anyway an alternative for those who do not want to pass a whole USB controller could be using synergy and barrier. Who knows maybe they have been ported on freebsd. Let's take a look inside the ports.

that's nice. they are present :


```
root@marietto:/usr/home/marietto # pkg search barrier

barrier-2.3.3                  Mouse and keyboard sharing utility

root@marietto:/usr/home/marietto # pkg search synergy

quicksynergy-0.9.0_6           Graphical interface for easily configuring Synergy2
synergy-1.14.0.4,3             Mouse and keyboard sharing utility
```


----------



## ziomario (Dec 12, 2021)

nothing to do :


```
bhyve: PCI device at 1/0/0 is not using the ppt(4) driver
```


----------



## Zare (Dec 12, 2021)

I can't. I threw the box out, and even if I didn't, I don't think peanuts-price retail peripherals have a site.
The vendor is Delock, the chipset is VIA, you can see it in my pciconf output.

The store where I bought it doesn't have this model listed any more.
Mine is 3 external ports and 1 internal, powered by a separate 5"25' jack.

Like this






						DeLOCK 2X USB 3.0 PCI Express Card, 89243 : Amazon.it: Informatica
					

DeLOCK 2X USB 3.0 PCI Express Card, 89243 : Amazon.it: Informatica



					www.amazon.it
				




just with some extra ports.


----------



## ziomario (Dec 12, 2021)

It has only two USB ports,a little bit. I'm oriented to buy another Renesas controller like what I have (NEC/Renesas UPD720201),attaching it using a molex cable. Anyway I'm not totally satisfied because it will use a power cable that I could use in the future to power on a different device than the new USB controller. I would like to find a 4 ports self-powered USB controller,to be honest. Is the USB controller that you have,self powered ? I found this :






						Scheda PCI Express in punti taglio 4 x USB 3,0, Delock [89297] : Amazon.it: Informatica
					

Scheda PCI Express in punti taglio 4 x USB 3,0, Delock [89297] : Amazon.it: Informatica



					www.amazon.it
				




but it costs 70 euros !


----------



## ziomario (Dec 12, 2021)

it seems nice. 5 ports :






						5 Porte 19PIN PCI-E a connettore Scheda di espansione USB 3.0, Chip di Controllo Principale Renesas uPD720201 + Genesys GL3520 Integrato, CD Driver : Amazon.it: Informatica
					

Compra 5 Porte 19PIN PCI-E a connettore Scheda di espansione USB 3.0, Chip di Controllo Principale Renesas uPD720201 + Genesys GL3520 Integrato, CD Driver. SPEDIZIONE GRATUITA su ordini idonei



					www.amazon.it
				




do u think that it is supported by FreeBSD ?


----------



## Phishfry (Dec 13, 2021)

Looks good to me.
We already established that Renesas is supported.
Is that a good price?

There is a chip at the top that is not the USB controller.
With 5 ports that may not be best choice.


----------



## ziomario (Dec 14, 2021)

I would like to know,why,if I attach two different USB controllers on two different slot of the pci-e bus,the first one is the renesas on one slot and the second one is the sedna on another slot,I see that the renesas is splitted in more sub devices :



```
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
```

but,when I have only the Renesas attached to the bus but I have removed the sedna (the controller pci to pci bridge),I have this configuration :


```
ppt4@pci0:5:0:0:        class=0x0c0330 rev=0x03 hdr=0x00 vendor=0x1912 device=0x0014 subvendor=0x1912 subdevice=0
x0015
vendor     = 'Renesas Technology Corp.'
device = 'uPD720201 USB 3.0 Host Controller'
class      = serial bus
subclass   = USB
```

As you can see there is only one device. I ask this because I've thought that for me it is more useful to have more subdevices than one only because in that way I can pass through the devices I want,individually. Instead if I have one the root of the Renesas,I should pass through every device attached to it.


----------



## jmos (Dec 14, 2021)

ziomario said:


> but it costs 70 euros !


I've got no clue about trustworthy dealers in your country, but Amazon isn't always the cheapest (and I won't buy there anything, even if they are the cheapest); I've checked my first three ones for Delock products (alternate.de, reichelt.de and lets-sell.de), and all of them are able to ship Delock 89297 in a price range from 22 to 30 €.

I'm using a 2 port (for a extra two port frontpanel) with bhyve, Win10 and PCI passhrough: Delock 89272 - without any problem right from the start.


----------

