All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrey Konovalov <andreyknvl@google.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	USB list <linux-usb@vger.kernel.org>,
	Dmitry Vyukov <dvyukov@google.com>
Subject: Re: Testing endpoint halt support for raw-gadget
Date: Fri, 24 Apr 2020 21:36:29 +0200	[thread overview]
Message-ID: <CAAeHK+wYc1De7AN12mkkjDsx-PJODOAvBCOtcDSykSjq6gwCNA@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.2004092015180.30065-100000@netrider.rowland.org>

On Fri, Apr 10, 2020 at 2:29 AM Alan Stern <stern@rowland.harvard.edu> wrote:
>
> On Thu, 9 Apr 2020, Andrey Konovalov wrote:
>
> > Hi Alan and Greg,
> >
> > I've been thinking about what kind of features raw-gadget might be
> > missing, that would allow more flexibility in emulating USB devices.
> > One of the things that is currently missing is halting endpoints.
> > Adding this functionality seems to be fairly easy, but it's unclear to
> > me how to test it. Any suggestions?
>
> You should use the usbtest driver along with the testusb program in
> tools/usb.  Of course, to do it you will need a userspace driver for
> raw-gadget.  usbtest works best with gadget-zero, but it can be used
> (in degraded form) with any USB device.

Hi Alan,

I've started working on a test suite for raw-gadget based on the
usbtest module as you suggested and have a few questions:

1. (Re test #10:) Currently there's no way to stall USB (control)
requests with raw-gadget (which is what happens when you return -EPIPE
from gadget's setup() callback AFAIU). Is stalling an important part
of the protocol? Should we somehow support it? AFAIU gadgetfs also has
no ability to stall requests that are passed to userspace.

2. Re test #4: the test fails with length that is not divisible by
endpoint's max packet value when using dummy_hcd (assuming that gadget
keeps queueing URBs with max packet length), as dummy_hcd's transfer()
function sets status to -EOVERFLOW when this happens. Is this
expected?

3. Re test #7: the test fails when e.g. vary parameter is set to some
odd value when using dummy_hcd. AFAIU this happens since dummy_hcd
doesn't have no_sg_constraint flag set and therefore the sanity check
in usb_submit_urb() fails. Is this expected?

Thanks!

  parent reply	other threads:[~2020-04-24 19:36 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-09 16:48 Testing endpoint halt support for raw-gadget Andrey Konovalov
2020-04-10  0:29 ` Alan Stern
2020-04-10 15:13   ` Andrey Konovalov
2020-04-10 15:53     ` Alan Stern
2020-04-27  1:26       ` Peter Chen
2020-04-27 14:29         ` Alan Stern
2020-04-29  2:20       ` Andrey Konovalov
2020-04-29 14:06         ` Alan Stern
2020-05-04 14:16           ` Andrey Konovalov
2020-05-04 14:24             ` Alan Stern
2020-05-04 15:11               ` Andrey Konovalov
2020-05-04 15:15                 ` Alan Stern
2020-05-05  6:34                   ` Felipe Balbi
2020-05-05 12:13                     ` Andrey Konovalov
2020-05-05 16:42                       ` Thinh Nguyen
2020-05-05  6:30               ` Felipe Balbi
2020-04-24 19:36   ` Andrey Konovalov [this message]
2020-04-24 19:56     ` Andrey Konovalov
2020-04-25  1:53       ` Alan Stern
2020-04-25 14:49         ` Andrey Konovalov
2020-04-25 15:02           ` Alan Stern
2020-04-27 19:51     ` Andrey Konovalov
2020-04-27 20:47       ` Andrey Konovalov
2020-04-28  0:50         ` Andrey Konovalov
2020-04-28  1:32           ` Andrey Konovalov
2020-04-28 13:27             ` Alan Stern
2020-05-13 17:07               ` Andrey Konovalov
2020-05-13 18:14                 ` Alan Stern
2020-05-13 18:31                   ` Andrey Konovalov
2020-05-13 19:09                     ` Alan Stern
2020-05-13 19:38                       ` Andrey Konovalov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAeHK+wYc1De7AN12mkkjDsx-PJODOAvBCOtcDSykSjq6gwCNA@mail.gmail.com \
    --to=andreyknvl@google.com \
    --cc=dvyukov@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.