Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with AbortPipe #111

Open
AiCabal opened this issue Apr 20, 2022 · 6 comments
Open

Problem with AbortPipe #111

AiCabal opened this issue Apr 20, 2022 · 6 comments
Assignees

Comments

@AiCabal
Copy link

AiCabal commented Apr 20, 2022

I want to cancel transfer and tried to do it with two way: CancelIoEx (like libusb) and AbortPipe.
AbortPipe doesn't work at all while CancelIoEx works. AbortPipe return 0 value and all bytes are transfered. But also for some users doesn't work CancelIoEx it either transmits all bytes and return 1 or doesn't transmit at all and anyway return 1.

@ybendito
Copy link
Collaborator

@AiCabal Which kind of transfer you try to cancel by aborting the pipe?

@P5-2005
Copy link

P5-2005 commented Aug 10, 2023

@AiCabal Which kind of transfer you try to cancel by aborting the pipe?

seem like this :
https://github.com/mineek/openra1n/blob/4595a5333e4134ade77b43fb2259e880b85801ee/openra1n.c#L785C50-L785C50

@ybendito
Copy link
Collaborator

@P5-2005 Disclaimer: If I'm not mistaken:
Aborting of the control pipe does not do anything and this does not depend on UsbDk. Control transaction has its own timeout of 5 seconds. You can cancel the request, but the transaction will be finished or stall condition will be automatically cleared. Because this is control pipe. On the rest of pipes the stall need to be cleared manually, for that there is a pipe abort. Details should be checked in the USB spec.

@P5-2005
Copy link

P5-2005 commented Oct 30, 2023

the issue i get on my side, its usbdk doesnt do redirection on usb 2.0 with two controller, i dont have now the debug for such case because i have now only pc with usb 3.0 and one controller host so its fine
wonder if there is workaround to choose or precise which controller must forward into
usb2.0.txt

@P5-2005
Copy link

P5-2005 commented Oct 30, 2023

@P5-2005 Disclaimer: If I'm not mistaken: Aborting of the control pipe does not do anything and this does not depend on UsbDk. Control transaction has its own timeout of 5 seconds. You can cancel the request, but the transaction will be finished or stall condition will be automatically cleared. Because this is control pipe. On the rest of pipes the stall need to be cleared manually, for that there is a pipe abort. Details should be checked in the USB spec.

also that timeout was add if not using usbdk, but usbdk as backend is better than this timeout implemented with libusb(seem not enough)

@P5-2005
Copy link

P5-2005 commented Oct 30, 2023

i found an old trace debug of pc with two usb host controller and usb2.0 only :
usbdkmanyroothub2.0.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants