I'm not sure what you mean by passthrough individual controler.
I have a 5ports usb 3 pci controller which i blacklisted on my host (same way as the graphic card) and i passthrough it to the vm to have plug and play. It has its own iommu group. If that's what you're looking for i can search my stuff for the reference
Almost a year and two more 4-controller usb 3.0 cards later, I still haven't found one that does what I'm after. I purchased the StarTech PEXUSB3S44V and the Sonnet Allegro Pro. Both devices get their own IOMMU group for each controller without the ACS override patch. The StarTech device seems to pass through okay, but I get in windows I get a code 10 on its root hub. The Sonnet Allegro Pro passes through perfectly, until I restart or shutdown the VM. After the passed through controller's entry in lspci -vvvv changes from04:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10) (prog-if 30 [XHCI])Subsystem: Sonnet Technologies, Inc. Device 6e31Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-Latency: 0, Cache Line Size: 64 bytesInterrupt: pin A routed to IRQ 26NUMA node: 0Region 0: Memory at fe500000 (64-bit, non-prefetchable) [size=64K]Region 2: Memory at fe511000 (64-bit, non-prefetchable) [size=4K]Region 4: Memory at fe510000 (64-bit, non-prefetchable) [size=4K]Capabilities:  Power Management version 3Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-Capabilities:  MSI: Enable- Count=1/8 Maskable- 64bit+Address: 0000000000000000 Data: 0000Capabilities:  Express (v2) Endpoint, MSI 00DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1usExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 25.000WDevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+MaxPayload 128 bytes, MaxReadReq 512 bytesDevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 unlimitedClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-LnkSta: Speed 5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not SupportedDevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF DisabledLnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-Compliance De-emphasis: -6dBLnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-Capabilities: [b0] MSI-X: Enable+ Count=8 Masked-Vector table: BAR=2 offset=00000000PBA: BAR=4 offset=00000000Capabilities: [100 v1] Advanced Error ReportingUESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-Kernel driver in use: vfio-pciKernel modules: xhci_pcito04:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev ff) (prog-if ff)!!! Unknown header type 7fKernel driver in use: vfio-pciKernel modules: xhci_pciDoes anyone know of a three or four controller usb 3.0 device that can pass through individual controllers in kvm? If not I guess I'll have to stick with the Startech device and defect to esxi, as the passthrough is reported to work fine there.On Tue, Aug 25, 2015 at 1:38 PM, Alex Williamson <alex l williamson gmail com> wrote:On Tue, Aug 25, 2015 at 7:36 AM, Bradley Davis <bradleydavisjr gmail com> wrote:I have a 1144E and was able to pass the individual controllers through to different VMs. My only issue was stability with the USB 3 controllers. They would cause my VMs to crash or hang, when hung I would have to reboot the host. I haven't run into this issue since I removed the card. I updated the firmware on the USB 3 controllers and it didn't help. The SATA controllers passed through just fine, but I didn't have an eSATA to plug into it.I've also tried to assign an asmedia 1042 USB3 controller and was plagued with hangs on reboot, apparently in the OVMF XHCI driver. I switched to an NEC chip and it's been working well. In my personal opinion </disclaimer>, asmedia is crap. My personal favorite for USB3 is TI, but that's only based on bare metal behavior with mass storage devices, I haven't actually tried to assign it yet.Remember folks, device assignment is operating in a mode that's really not common for consumer devices and components from value manufacturers do not necessarily comply sufficiently with standards to work. We see this on realtek nics, asmedia <anything>, marvel SATA controllers, and there will surely be more to discover. Thanks,Alex
vfio-users mailing list
vfio-users redhat com