From: Greg KH <gregkh@linuxfoundation.org>
To: Benjamin Marty <benjamin.marty@gmail.com>
Cc: linux-usb@vger.kernel.org
Subject: Re: USB Gadget Filesystem HID stuck on write when using mass storage at the same time
Date: Thu, 1 Jul 2021 13:04:31 +0200 [thread overview]
Message-ID: <YN2hP7r1MiHTIBtm@kroah.com> (raw)
In-Reply-To: <CABSdY3KyA-R3RDcnPZ2W5GNtdrPee_0WQMKBJRaJe3ZQu_N+fw@mail.gmail.com>
On Wed, Jun 30, 2021 at 12:25:09PM +0200, Benjamin Marty wrote:
> Am Mi., 30. Juni 2021 um 11:28 Uhr schrieb Greg KH <gregkh@linuxfoundation.org>:
> > On Wed, Jun 30, 2021 at 10:55:04AM +0200, Benjamin Marty wrote:
> > > On the iMX8 device `Linux imx8mm-var-dart 5.4.3-g050b21f4b394 #1 SMP
> > > PREEMPT Fri Oct 9 11:36:53 PDT 2020 aarch64 GNU/Linux` and on the
> > > Raspberry Pi device `Linux raspberry 5.10.17-v7l+ #1403 SMP Mon Feb 22
> > > 11:33:35 GMT 2021 armv7l GNU/Linux`.
> >
> > I do not understand, which is the host and which is the gadget here?
>
> I use both as Gadget, two different HW platforms to rule out a
> Hardware related issue.
> As Host, I've tried multiple normal Intel computers.
What OS is running on the host?
> I was able to reproduce this issue with all HW Combinations
Then perhaps your userspace code running on the gadget is not working
properly?
> > > File write to `/dev/hidg0` starts to hang when there was high mass
> > > storage traffic. It also doesn't recover itself. There is no `complete
> > > kernel lockup`.
> >
> > File write on the host or gadget?
>
> File write on the gadget to the gadget HID device `/dev/hidg0`
What do you do if that fails?
> > If things are not locked up, what is stalled?
>
> The File write to the gadget HID device is stalled.
What gadget controller driver are you using?
> > > I haven't used usbmon yet but if I don't have high traffic scenarios
> > > on the mass storage then the mass storage and HID device works as
> > > expected. So I'm confident that I send the correct data.
> >
> > That's fine, but it is good to use usbmon to see what the errors are as
> > well when things go wrong.
>
> Unfortunately both Kernel Versions don't have the usbmon module, need
> to recompile the Kernel first.
Try that, on the host, it should be part of any normal Linux distro
kernel already.
> > > Also saw that I'm getting this error in dmesg on both devices:
> > > [ 1895.677053] configfs-gadget gadget: End Point Request ERROR: -108
> >
> > Ah, is your userspace code on the gadget not handling this properly?
> > What userspace code is running on the gadget for your USB device
> > emulation?
>
> Yes, my userspace code is on the gadget. It runs after I've setup the
> gadget HID + gadget Mass Storage. But it starts to fail after High
> Traffic scenarios to the gadget Mass Storage.
>
> To replicate the issue, I wrote a simple Bash script which just
> wiggles the gadget HID (Mouse) every 50ms:
>
> while true; do
> if [ -e "/dev/hidg0" ]; then
> echo write0
> echo \\x00\\xff\\xff\\x00\\xff\\xff > /dev/hidg0
> sleep 0.05
> echo write1
> echo \\x00\\xff\\xff\\x00\\xff\\x00 > /dev/hidg0
> sleep 0.05
> fi
> done
>
> Do I need to check something before writing to the gadget HID device?
> Or should this usage of the gadget HID device be fine?
I do not know, sorry.
greg k-h
prev parent reply other threads:[~2021-07-01 11:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-29 13:45 USB Gadget Filesystem HID stuck on write when using mass storage at the same time Benjamin Marty
2021-06-29 17:19 ` Greg KH
2021-06-30 8:55 ` Benjamin Marty
2021-06-30 9:28 ` Greg KH
2021-06-30 10:25 ` Benjamin Marty
2021-07-01 11:04 ` Greg KH [this message]
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=YN2hP7r1MiHTIBtm@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=benjamin.marty@gmail.com \
--cc=linux-usb@vger.kernel.org \
/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.