Bug 215475 - RMNET data connection speed would be reduced to about 80-100Mb/s from 150Mb/s if try to re-connect it
Summary: RMNET data connection speed would be reduced to about 80-100Mb/s from 150Mb/s...
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Default virtual assignee for Drivers/USB
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-10 11:23 UTC by slark_xiao
Modified: 2022-03-07 06:40 UTC (History)
0 users

See Also:
Kernel Version: 5.13.0
Subsystem:
Regression: No
Bisected commit-id:


Attachments
iperf test result (5.25 KB, text/plain)
2022-01-10 11:23 UTC, slark_xiao
Details

Description slark_xiao 2022-01-10 11:23:13 UTC
Created attachment 300251 [details]
iperf test result

We have a Qualcomm modem device which support MBIM and RMNET over USB.
  For RMNET, the download-link speed would be reduced to 80 Mb/s if re-connect it once. The expected speed should be 150 Mb/s.
  Test step as below:
  1. Switch device to RMNET USB composition.
  2. Connect it to host PC(kernel 5.13).
  3. Start a data connection with nmcli related settings.
  4. Start a iperf test with simulated network(CMW500). Test result is about 145 Mb/s ,and protocol is TCP.
  5. Disconnect the connection by turning off the signal, setting AT+CFUN=0, or deleting the data connection in the host.
  6. Re-connect it again.
  7. The TCP iperf test could only reach to about 80-100Mb/s.

  This issue can not reproduced with MBIM port.
  Also, Windows can't reproduce the RMNET issue.
Comment 1 Greg Kroah-Hartman 2022-01-10 11:38:35 UTC
On Mon, Jan 10, 2022 at 11:23:13AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=215475
> 
>             Bug ID: 215475
>            Summary: RMNET data connection speed would be reduced to about
>                     80-100Mb/s from 150Mb/s  if try to re-connect it
>            Product: Drivers
>            Version: 2.5
>     Kernel Version: 5.13.0

Does this also happen on 5.16?

> Created attachment 300251 [details]
>   --> https://bugzilla.kernel.org/attachment.cgi?id=300251&action=edit
> iperf test result
> 
> We have a Qualcomm modem device which support MBIM and RMNET over USB.
>   For RMNET, the download-link speed would be reduced to 80 Mb/s if
>   re-connect
> it once. The expected speed should be 150 Mb/s.
>   Test step as below:
>   1. Switch device to RMNET USB composition.
>   2. Connect it to host PC(kernel 5.13).
>   3. Start a data connection with nmcli related settings.
>   4. Start a iperf test with simulated network(CMW500). Test result is about
> 145 Mb/s ,and protocol is TCP.
>   5. Disconnect the connection by turning off the signal, setting AT+CFUN=0,
>   or
> deleting the data connection in the host.
>   6. Re-connect it again.
>   7. The TCP iperf test could only reach to about 80-100Mb/s.

If you look at the usb traces, is the data the same?  Any long pauses?

thanks,

greg k-h
Comment 2 slark_xiao 2022-01-12 08:03:34 UTC
Hi Greg,
  Yes, it also happen on 5.16. I tried it with 5.16-rc8.

  May I know what do you mean of 'usb trances'? USB protocol analyzer log or tcpdump packages?
  Actually, I do the same test with another Qualcomm modem device (not the same serials), and issue can't be reproduced with that device. Seems issue comes from firmware of device. But we can't explain the difference beween Windows and Linux.

  So do you have any advice to confirm whether the issue relate with the driver or not?

Thanks!
Comment 3 Greg Kroah-Hartman 2022-01-12 08:41:15 UTC
On Wed, Jan 12, 2022 at 08:03:34AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=215475
> 
> --- Comment #2 from slark_xiao@163.com ---
> Hi Greg,
>   Yes, it also happen on 5.16. I tried it with 5.16-rc8.
> 
>   May I know what do you mean of 'usb trances'? USB protocol analyzer log or
> tcpdump packages?

USB protocol analyzer log is best, to compare the data streams.

>   Actually, I do the same test with another Qualcomm modem device (not the
>   same
> serials), and issue can't be reproduced with that device. Seems issue comes
> from firmware of device. But we can't explain the difference beween Windows
> and
> Linux.

Then please contact the vendor that wrote the firmware, they can help
you out the best with this.

good luck!

greg k-h
Comment 4 slark_xiao 2022-02-25 09:39:15 UTC
Hi all,
  According to Qualcomm analysis, there is no issue on IPA side. They suspect that  USB is slow to drain is the Root Cause.
  We tried to enable QMAP to speed up from host side. Ping test is okay, but failed in iperf test under simulator network. 
  Do you have any good idea for further debugging?

Thanks.
Comment 5 slark_xiao 2022-03-02 06:25:14 UTC
(In reply to slark_xiao from comment #4)
>   We tried to enable QMAP to speed up from host side. Ping test is okay, but
> failed in iperf test under simulator network. 
  QMAP has been set up successfully, but issue still exist.
  Any other idea from USB side?
Comment 6 slark_xiao 2022-03-07 06:40:31 UTC
Make a update about this issue.
  When we change rx_urb_size in the host side and keep it same as the QMAP related QMI, this issue is "fixed".
  I also checked some old commit which related with rx_urb_size, let's say 
https://patchwork.kernel.org/project/linux-usb/patch/20200803065105.8997-1-yzc666@netease.com/ and https://patchwork.ozlabs.org/project/netdev/patch/20200909091302.20992-1-dnlplm@gmail.com/#2524381. They tried to update the rx_urb_size to make QMAP works better. But these commits seems have been rejected.
  So do we have any new solutions or workarounds about changing the rx_urb_size?

Note You need to log in before you can comment on or make changes to this bug.