XEN 4.6 / 4.9 - PCI-Passthrough USB 3.0 win7 / Win10 not working

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

XEN 4.6 / 4.9 - PCI-Passthrough USB 3.0 win7 / Win10 not working

XensemannIMAP
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
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: XEN 4.6 / 4.9 - PCI-Passthrough USB 3.0 win7 / Win10 not working

XensemannIMAP
> Send: Donnerstag, 28. Dezember 2017 um 18:11 Uhr
> From: XensemannIMAP <[hidden email]>
> To: xen-user-list <[hidden email]>
> 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
> [hidden email]
> 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.
-> 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
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: XEN 4.6 / 4.9 - PCI-Passthrough USB 3.0 win7 / Win10 not working

Chuck Ritola
On Tue, Jan 2, 2018 at 6:43 AM, Xen Mann <[hidden email]> wrote:

>> Send: Donnerstag, 28. Dezember 2017 um 18:11 Uhr
>> From: XensemannIMAP <[hidden email]>
>> To: xen-user-list <[hidden email]>
>> 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
>> [hidden email]
>> 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
> [hidden email]
> https://lists.xenproject.org/mailman/listinfo/xen-users

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: XEN 4.6 / 4.9 - PCI-Passthrough USB 3.0 win7 / Win10 not working

Håkon Alstadheim


Den 03. jan. 2018 02:06, skrev Chuck Ritola:
> On Tue, Jan 2, 2018 at 6:43 AM, Xen Mann <[hidden email]> wrote:
[...]

>>> 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.
[...]

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

Bios & Firmware will (at least partly) initialize USB-cards to allow
usb-keyboards to work during boot, so hiding the card from dom0 might
not help that much.

I'm not a programmer so what follows is to be taken with a grain of salt.


I believe there is a handoff protocol between bios and dom0 that means
dom0 will manage. This MIGHT mean that domUs will not be so fortunate.
All this might be affected by various bios settings (something like
legacy int<whatever> among other things) . So tinkering might let you
muddle through, and then an update or the phase of the moon will mess
you up again.

I have similar problems on my system, and I have been wondering if going
full UEFI on both the hardware and the domUs might help.

I have not been able to try out that theory, since I am having trouble
booting using <code>bios = "ovmf"</code> . I have been able to boot
domUs using ovmf on occasion, but even then dumU boot hangs for several
minutes, probably looking for floppies or something. Long story, qemu
fixes are in the works I belive.

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: XEN 4.6 / 4.9 - PCI-Passthrough USB 3.0 win7 / Win10 not working

XensemannIMAP
Am 04.01.2018 um 00:04 schrieb Håkon Alstadheim:

>
>
> Den 03. jan. 2018 02:06, skrev Chuck Ritola:
>> On Tue, Jan 2, 2018 at 6:43 AM, Xen Mann <[hidden email]> wrote:
> [...]
>
>>>> 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.
> [...]
>
>>> -> 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.
Is it possible to detect this intolerable state, is there a test that I
can run to get closer to this source of the problem?
>>
>
> Bios & Firmware will (at least partly) initialize USB-cards to allow
> usb-keyboards to work during boot, so hiding the card from dom0 might
> not help that much.
On My Motherboard (Intel C236 Chipset) I can't use USB-devices attached
to the PCI-Card from Etrontech. So for example with it I can't select
the GRUB entry to boot from. Don't know if it does mean anything.
I probably could run a quick test with all my USB-PCIe Cards if they are
recognised if this helps.
Or can it be that bios only uses chipset USB?
>
> I'm not a programmer so what follows is to be taken with a grain of salt.
>
>
> I believe there is a handoff protocol between bios and dom0 that means
> dom0 will manage. This MIGHT mean that domUs will not be so fortunate.
> All this might be affected by various bios settings (something like
> legacy int<whatever> among other things).
dom0 or domU bios settings?
> So tinkering might let you
> muddle through, and then an update or the phase of the moon will mess
> you up again.
Hey! I got my self a wall clock displaying the phase, useless. But now I
can use this for debugging, even by day! =)
>
> I have similar problems on my system, and I have been wondering if going
> full UEFI on both the hardware and the domUs might help.
>
> I have not been able to try out that theory, since I am having trouble
> booting using <code>bios = "ovmf"</code> . I have been able to boot
> domUs using ovmf on occasion, but even then dumU boot hangs for several
> minutes, probably looking for floppies or something. Long story, qemu
> fixes are in the works I belive.
Is it possible to get contact to this team? Offering help in testing a
release on different Hardware or so?
>

### So the problem of successful passing USB-PCIe to a VM with Xen ###

## Collected knowledge and ideas: ##

-this maybe might not be a direct question about WinXP vs. Win10
   (consent?)
-dom0 BIOS config & uefi vs. legacy (Touching USB-PCI device)
   (Hakon Alstadheim) 18-01-04
-most devices do not support FLReset but many will pass-through and be
usable
   (Chuck Ritola) 18-01-04
-Intolerable state of PCI. Avoid: Bind pciback on boot time, to give
domU untouched PCI device
   (Chuck Ritola) 18-01-04


## Open questions ##

Can the DomU-PCI Driver from the PCI-Hardware vendor be involved with
this problem?

Should I give it a try to compile a kernel my self which has pciback
included and not loaded as a model?

What happens when I'm passing a PCI-Device to several machines?
Say the pci-device is not initialized by dum0 drivers.
first domU -> init
   ...doing some stuff
first domU -> deinit ?
second domU -> init ?
   ...doing some stuff ?
seond domU ->deinit ?

-> Why only internal (chipset) USB-Host Controller is working for Win7?
-> Is there a difference between in winXP&16.04 vs. win7&win10?

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users