Re: USB network gadget / DWC3 issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Andy Shevchenko <andy.shevchenko@xxxxxxxxx> 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.

-- 
balbi



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux