RM500Q slow with qmi_wwan, fast with proprietary

Nick mips171 at icloud.com
Sat Aug 13 05:19:41 UTC 2022


I did some testing with this advice and have some results and a couple more questions.

Bjørn, I realise now you were talking about cdc-mbim.  I checked the values for tx_max and rx_max which are both 16384 by default on my device.  I am able to change rx_max to 31744, which seems to improve upload slightly, but I cannot change tx_max (Permission denied, and after changing file permissions I just get an I/O error).  Is that value supposed to be user accessible? Is this value tied to dwNtbOutMaxSize? Using cdc-mbim with these settings I get consistently 200Mbps, so my feeling is the bottleneck could be tied to these values, since I’m able to change their counterparts in the QMI driver.  Using QMI QMAP it gets much faster than before, about 450Mbps.

Another question more ModemManager related; is there a way to set up a connection using user-specified QMAP values like the ones Sebastian provided?  
>qmicli -p -d /dev/cdc-wdm0 --client-cid=1 --wda-set-data-format="link-layer-protocol=raw-ip,ul-protocol=qmap,dl-protocol=qmap,dl-max-datagrams=32,dl-datagram-max-size=32768,ep-type=hsusb,ep-iface-number=4" --client-no-release-cid

Best, 
Nick

> On 11 Aug 2022, at 17:47, Bjørn Mork <bjorn at mork.no> wrote:
> 
> Nick <mips171 at icloud.com> writes:
> 
>> Hey,
>> 
>> I am testing a Quectel RM500Q on OpenWrt master, and have noticed to
>> my surprise that the speed is much slower when using the qmi_wwan with
>> MM than it is when using qmi_wwan_q and quectel-CM (Quectel’s
>> proprietary driver and connection manager).
> 
> This is sort of expected since the qmi_wwan driver will use one USB
> transaction per IP packet whereas the qmi_wwan_q will buffer a number of
> packets per transaction.
> 
> There is some built-in support for MAP (RMNET muxing, which implies
> buffering) in qmi_wwan.  But I recommend using the more recent rmnet
> driver for that, with qmi_wwan in pass-throuh mode.  This is supported
> by recent ModemManager/libqmi.  Ref
> https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/447
> 
>> Under good signal conditions the speed tops out at around 100Mbps on
>> qmi_wwan + MM (and is a little bit faster when in MBIM mode with MM),
>> but switching to qmi_wwan_q and quectel_CM it gets the expected
>> 700Mbps+ where I am. Is there an easy explanation for this? Any
>> suggestions as to what I can change to get speeds equivalent to the
>> proprietary stack?
> 
> I'm a little surprised that you don't get better numbers in MBIM mode.
> It should have the same advantages as qmi_wwan_q or qmi_wwan+rmnet. I
> must admit that I haven't done any seriuos testing of this theory myself
> though.  But "A little bit faster than 100Mbps" is unexpectedly slow.
> I'm pretty sure we can do much better than that in MBIM mode.
> 
> What kind of hardware is the host running?  Maybe we have some alignment
> issue punishing this hardware?  Or maybe the buffers we use are
> sub-optimal for thise host+device combo?  You could try to adjust some
> of the writable settings in /sys/class/net/wwan0/cdc_ncm/ (replace wwan0
> with your interface name)
> 
> 
> 
> Bjørn

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20220813/25f2ddca/attachment-0001.htm>


More information about the ModemManager-devel mailing list