Hi Alan and Sarah,
I confirmed that simply calling usb_set_altinterface (which via libusb
calls the kernel function usb_set_interface) does correctly clear the
toggle bits for USB2 or sequence number for USB3 on an XHCI host
controller, even when the alternate interface setting is the same as
the
Hi Sarah,
Were you able to look into this more? Of the few problems that I've
encountered and reported thus far, this one seems the most critical.
Please also note that I see this URB cancellation problem even on the
Intel host controller (not just the ASMedia one for which I have
kernel
On Sat, Oct 13, 2012 at 12:18:57PM -0400, Alan Stern wrote:
On Fri, 12 Oct 2012, Yuliya T wrote:
Hi Alan,
Thank you for the suggestion. We independently ended up with the same
workaround, but still weren't happy with it. The problem is we don't
want to relinquish access to the
On Mon, 15 Oct 2012, Sarah Sharp wrote:
I double checked, and calling usb_set_interface for the same alternate
setting that is currently installed will cause the xHCI driver to drop
and re-add the current endpoints. This should cause the toggle to be
reset for the endpoints.
I suppose the
On Fri, 12 Oct 2012, Yuliya T wrote:
Hi Alan,
Thank you for the suggestion. We independently ended up with the same
workaround, but still weren't happy with it. The problem is we don't
want to relinquish access to the device, but to do set-interface, you
have to do release interface,
On Tue, 2 Oct 2012, Yuliya T wrote:
Our device goes through a software-directed firmware reset which
clears the device-side toggle bits (or sequence numbers). The
endpoint is not halted though. Therefore, we want a clean way to
reset the toggle bits (or sequence numbers) on the host without
Hi Sarah,
2. Clear Halt of EP
Also note that the xHCI hardware will only allow the Reset Endpoint to
complete if the endpoint was actually halted due to a stall, babble,
transfer error, etc. It won't reset the endpoint toggles or sequence
number at arbitrary points, so we can't reset the
Dear Sarah,
We noticed a couple of problems with the Linux xHCI driver:
1. There is a problem with URB cancellation for USB 2.0 device on USB
3.0 host. When we disable our device, we cancel all pending URBs by
calling ioctl with the request code of USBDEVFS_DISCARDURB. When we
re-enable our
On Mon, Sep 24, 2012 at 02:38:05PM -0700, Yuliya T wrote:
Dear Sarah,
We noticed a couple of problems with the Linux xHCI driver:
1. There is a problem with URB cancellation for USB 2.0 device on USB
3.0 host. When we disable our device, we cancel all pending URBs by
calling ioctl with the