[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [vfio-users] RocketRaid 1144c / AsMedia 1042a

I'm specifically looking for a device that has four USB 3.0 controllers that can be passed through individually to VMs via KVM. That way each port has the full 5GB/sec USB 3.0 speed all to itself in each VM (up to four). If you look at the RocketRaid 1144c/1144d, the StarTech PEXUSB3S44V or the Sonnet Allegro Pro you will see that they all have four usb controllers each behind a ACS compatible bridge. None of them work properly for individual passthrough under KVM in my experience.

On Sat, Jun 18, 2016 at 1:38 AM, thibaut noah <thibaut noah gmail com> wrote:

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

On Jun 18, 2016 05:57, "Nick Rodgers" <dotbatman nerdfortress com> wrote:
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 from

04:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10) (prog-if 30 [XHCI])
        Subsystem: Sonnet Technologies, Inc. Device 6e31
        Control: 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 bytes
        Interrupt: pin A routed to IRQ 26
        NUMA node: 0
        Region 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: [40] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 25.000W
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s unlimited, L1 unlimited
                        ClockPM- 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 Supported
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [b0] MSI-X: Enable+ Count=8 Masked-
                Vector table: BAR=2 offset=00000000
                PBA: BAR=4 offset=00000000
        Capabilities: [100 v1] Advanced Error Reporting
                UESta:  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-pci
        Kernel modules: xhci_pci


04:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev ff) (prog-if ff)
        !!! Unknown header type 7f
        Kernel driver in use: vfio-pci
        Kernel modules: xhci_pci

Does 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,


vfio-users mailing list
vfio-users redhat com

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]