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

Re: [Xen-users] XEN 4.6 / 4.9 - PCI-Passthrough USB 3.0 win7 / Win10 not working



On Tue, Jan 2, 2018 at 6:43 AM, Xen Mann <xensemann@xxxxxx> wrote:
>> Send: Donnerstag, 28. Dezember 2017 um 18:11 Uhr
>> From: XensemannIMAP <xensemann@xxxxxx>
>> To: xen-user-list <xen-users@xxxxxxxxxxxxxxxxxxxx>
>> Subject: [Xen-users] XEN 4.6 / 4.9 - PCI-Passthrough USB 3.0 win7 / Win10 
>> not working
>> Hey there,
>> for a Continuous Integration System I need to pass through a PCI USB3.0
>> card to my virtual machines.
>>
>> For 16.04 and winXP this is working great! The PCIe Card appears in
>> Windows device manager, the attached USB-Device shows up in the device
>> manager and works like a charm.
>>
>> However, this is not possible for my system with win7 and Win10 and the
>> very same setup. I've tried is with xen 4.6 and xen 4.9. In those
>> versions PCI-Back is build in in the kernel as a model. So as far as I
>> got this, grub pciback command lines are not working for this. So the
>> card is touched by the normal USB-Driver of my 17.10 host. I tested it
>> with both types of PCI-Cards, some of them haven't supported FLReset and
>> one did support FLReset (1b6f:7023 Etron Technology Inc. EJ168 USB3.0
>> Host controller).
>>
>> The Result is: all are not working in win7 and win10. All Cards appear
>> in the device manager and the driver can be installed manually.
>> Afterwards some devices have trouble to boot (code 10) other do not show
>> any error but connectet usb-devices say:"Can't reset device". Etron does
>> not show up any connected USB-Devices. In short => not working.
>>
>> # Questiones running arround my head:
>> -> Why is this working for XP and Ubuntu 16.04, even if thoise USB-Cards
>> do not support FLReset.
>> -> Why is it not working for Win7 and Win10, what is different with
>> those OS?
>> -> In the www there are only a view reports about PCIe-USB-passthroughs,
>> has somebody made it to pass a PCIe USB 3.0 device to your win7 or win10
>> machine? Which configuration have you used?
>>
>>
>> Thx for reading so fare, below you'll find some infos about the system.
>> All the best!
>> Xensemann
>>
>>
>> # My system:
>> ## Host:
>> Ubuntu 17.10
>> i7-7700 - dell precision Tower 3620
>>
>> ### Xen:
>> Xen 4.9 (from apt-get)
>> dumU win7x64, 16.04x64
>>
>> ## configuraion:
>> sudo xl pci-assignable-add 04:00.0
>> sudo xl create win7.hvm
>>
>> win7.hvm:
>>
>> builder = "hvm"
>> name = "win7xen"
>> viridian = 1
>> memory = 2048
>> maxmem = 2048
>> pae = 1
>> vcpus = 2
>> apci = 1
>> acpi = 1
>> disk = [ '/myPath/my,img,qcow2,xvda,rw' ]
>> usb = 1
>> usbdevice = 'tablet'
>> sdl = 1
>> xen_platform_pci = 1
>> pci_permissive = 1
>> pci = [ '04:00.0' ]
>>
>> ## other USB-PCIe cards I've tested with:
>>
>> Texas instruments: TUAB 7340 RKM TI 35I AVFQ 64
>> renesass: D720202 701 1245PV049G CHINA
>> Renesas: NEC JAPAN; D720200F1
>> Etrontech EJ168A R144207 MQR30020 (rev 01)
>> ViaTechnologies Host controller VL805
>>
>>
>> ## sudo lspci -vvh (Etrontech EJ168A)
>>
>> 04:00.0 0c03: 1b6f:7023 (rev 01) (prog-if 30 [XHCI])
>> Subsystem: 7023:1b6f
>> 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 16
>> Region 0: Memory at f7000000 (64-bit, non-prefetchable) [size=32K]
>> Capabilities: [50] 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: [70] MSI: Enable+ Count=1/4 Maskable+ 64bit+
>> Address: 00000000fee002f8 Data: 0000
>> Masking: 0000000f Pending: 00000001
>> Capabilities: [a0] Express (v2) Endpoint, MSI 01
>> DevCap: MaxPayload 1024 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+ FLReset-
>> MaxPayload 256 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
>> <1us, L1 <64us
>> 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: [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: 14, GenCap+ CGenEn- ChkCap+ ChkEn-
>> Capabilities: [190 v1] Device Serial Number 01-01-01-01-01-01-01-01
>> Kernel driver in use: pciback
>>
>> _______________________________________________
>> Xen-users mailing list
>> Xen-users@xxxxxxxxxxxxxxxxxxxx
>> https://lists.xenproject.org/mailman/listinfo/xen-users
>>
>>
>
> Upper Mail in short: Tried to passthrough a PCI-USB-Card to Xen
> Win7/Win10 HVM. Tested 5 Cards without success.
>
> Update:
>
> After lot's more testing I tried to passthrough the onboard USB-Controller
> to a win7 HVM. This, how ever is working !!! =)
> So fare it is working, devices like a mouse is detected and I can move the
> pointer.
>
> But the old questions are still open:
>
> -> Why is passthrough of USB-PCI-Cards working for XP and Ubuntu 16.04,
> even if those USB-Cards do not support FLReset.

... The lack of function-level-reset support does not guarantee
failure of passthrough, though it often can introduce undefined
behavior when multiple domUs use the device consecutively. These clear
after the host is reset. From what I've seen, most devices do not
support FLReset but many will pass-through and be usable.

It would be good practice to ensure dom0 binds pciback to the
passed-through devices on boot so it does not initialize the devices
prematurely. Else, they may be in an intolerable state when the domU
OS tries to initialize them.

> -> Why only internal USB-Host Controller is working for Win7?
> -> Why is it not working for Win7 and Win10, what is different with
> those OS?
> -> Has somebody had the same trouble with non-motherboard PCI-USB-Cards?
> -> It is not the missing Abilety of Xen passing something to Win7, it is
> a Hardware or a driver Issiue. But the hardware is working for XP and 16.04
> it have something to do with the driver?
>
> _______________________________________________
> Xen-users mailing list
> Xen-users@xxxxxxxxxxxxxxxxxxxx
> https://lists.xenproject.org/mailman/listinfo/xen-users

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.