linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ferry Toth <fntoth@gmail.com>
To: Felipe Balbi <balbi@kernel.org>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Alan Stern <stern@rowland.harvard.edu>, USB <linux-usb@vger.kernel.org>
Subject: Re: USB network gadget / DWC3 issue
Date: Fri, 2 Apr 2021 21:12:51 +0200	[thread overview]
Message-ID: <fd8d9a8a-8f57-6559-2053-4607b9da13ab@gmail.com> (raw)
In-Reply-To: <1f8ed83c-b2e5-327c-30da-56865e2b956b@gmail.com>

Hi

Op 30-03-2021 om 23:57 schreef Ferry Toth:
> Hi
>
> Op 30-03-2021 om 22:26 schreef Ferry Toth:
>> Hi,
>>
>> Op 30-03-2021 om 18:17 schreef Felipe Balbi:
>>> Hi,
>>>
>>> Andy Shevchenko <andy.shevchenko@gmail.com> writes:
>>>> Hi!
>>>>
>>>> I have a platform with DWC3 in Dual Role mode. Currently I'm
>>>> experimenting on v5.12-rc5 with a few patches (mostly configuration)
>>>> applied [1]. I'm using Debian Unstable on the host machine and
>>>> BuildRoot with the above mentioned kernel on the target.
>>>>
>>>> **So, scenario 0:
>>>> 1. Run iperf3 -s on target
>>>> 2. Run iperf3 -c ... -t 0 on the host
>>>> 3.  0.00-10.36  sec   237 MBytes   192 Mbits/sec                  
>>>> receiver
>>>>
>>>> **Scenario 1:
>>>> 1. Now, detach USB cable, wait for several seconds, attach it back,
>>>> repeat above:
>>>> 0.00-9.94   sec   209 MBytes   176 Mbits/sec receiver
>>>>
>>>> Note the bandwidth drop (177 vs. 192).
>>>>
>>>> (Repeating scenario 1 will give now the same result)
>>>>
>>>> **Scenario 2.
>>>> 1. Detach USB cable, attach a device, for example USB stick,
>>>> 2. See it being enumerated and detach it.
>>>> 3. Attach cable from host
>>>> 4 .   0.00-19.36  sec   315 MBytes   136 Mbits/sec                  
>>>> receiver
>>>>
>>>> Note even more bandwidth drop!
>>>>
>>>> (Repeating scenario 1 keeps the same lower bandwidth)
>>>>
>>>> NOTE, sometimes on this scenario after several seconds the target
>>>> simply reboots (w/o any logs [from kernel] printed)!
>>>>
>>>> So, any pointers on how to debug and what can be a smoking gun here?
>>>>
>>>> Ferry reported this in [2]. There are different kernel versions and
>>>> tools to establish the connection (like connman vs. none in my case).
>>>>
>>>> [1]: https://github.com/andy-shev/linux/
>>>> [2]: https://github.com/andy-shev/linux/issues/31
>>> dwc3 tracepoints should give some initial hints. Look at packets sizes
>>> and period of transmission. From dwc3 side, I can't think of 
>>> anything we
>>> would do to throttle the transmission, but tracepoints should tell a
>>> clearer story.
>>>
>> My testing (but yes, with difference kernel and network managed by 
>> connman) shows:
>>
>> 1) on cold boot eem network gadget works fine
>>
>> 2) after unplug or warm reboot (which is also an unplug) it's broken, 
>> speed is lost (|12.0 Mbits/sec from 200Mb/s normally)|, packets lost, 
>> no configuration received from dhcp, occasional reboot, only way to 
>> fix is cold boot
>>
>> 3) if before unplug `connmanctl disable gadget`, on replugging and 
>> enabling it works fine
>>
>> My theory is that some HW register is disturbed on a surprise unplug, 
>> but not reset on plug or warm boot. But on cold boot is cleared. 
>> Maybe that can help to narrow down tracepoints?
>>
> I captured a plug after warm and after cold boot. This includes 
> network setup (dhcp). You can find it in [2] or directly link here: 
> https://github.com/andy-shev/linux/files/6232410/boot.zip

While the above traces in boot.zip allow compare which regs not 
correctly initialized on warm boot, I have now captured traces of 
unplug/plug.

Here kernel is 5.10.27 (LTS), cold booted with USB cable plugged and the 
eem gadget network setup (dhcp). Then trace unplug. Then trace plug.

After plug the eem connection is again broken.

This might allow figuring out what goes wrong on unplug. Traces here: 
https://github.com/andy-shev/linux/files/6250924/plug-unplug.zip
**


  reply	other threads:[~2021-04-02 19:12 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-30 12:37 USB network gadget / DWC3 issue Andy Shevchenko
2021-03-30 16:17 ` Felipe Balbi
2021-03-30 20:26   ` Ferry Toth
2021-03-30 21:57     ` Ferry Toth
2021-04-02 19:12       ` Ferry Toth [this message]
2021-04-02 20:16         ` Thinh Nguyen
2021-04-02 22:40           ` Ferry Toth
2021-04-03  2:02             ` Thinh Nguyen
2021-04-03 11:25               ` Ferry Toth
2021-04-03 21:15                 ` Ferry Toth
2021-04-05 20:59                   ` Ferry Toth
2021-04-07  0:10                     ` Thinh Nguyen
2021-04-07  0:24                       ` Thinh Nguyen
2021-04-07 13:34                         ` Andy Shevchenko
2021-04-07 16:08                           ` Ferry Toth
2021-04-08 20:17                           ` Ferry Toth
2021-04-08 21:12                             ` Thinh Nguyen
2021-04-08 21:37                               ` Thinh Nguyen
2021-04-09 13:26                               ` Ferry Toth
2021-04-10 13:29                                 ` Ferry Toth
2021-04-10 14:08                                   ` Ferry Toth
2021-04-11  0:04                                     ` Thinh Nguyen
2021-04-11 15:26                                       ` Ferry Toth
2021-04-13  2:17                                         ` Thinh Nguyen
2021-04-13  8:45                                           ` Ferry Toth
2021-04-13 21:06                                           ` Ferry Toth
2021-04-13 21:21                                             ` Thinh Nguyen

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=fd8d9a8a-8f57-6559-2053-4607b9da13ab@gmail.com \
    --to=fntoth@gmail.com \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=balbi@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).