OpenWrt 5G/4G modems M.2 Speed Issue

Greetings All

This topic to find solution for speed issue modems m.2 ( USB 3 ) OpenWrt System

Modem Quectel RM551E and other modems

Where the speed : on same bands 5G and cells
on OpenWrt Router Board Banana BPI-R4 is 350 MB/s



Where the speed : on same bands 5G and cells
on MCUZONE (Tybe C) Board is around 800 MB/s (not using OpenWrt system)


CPU Usage (looks like using a core)


Related subject to same issue :

You need to try different modes (only one is on at a time)
https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle#lte_or_5g_modem_preparation

probably check each using waveform bufferbloat test

Already I tried them all on different modem FM190 or RM521-F or RM551
this is famous issue with OpenWrt issue since 2023 not solved ....Check related subject attached

All modes show totally identical latency characteristics on 3 different adapters?

You can try disabling PCIE and USB powersave for M2 adapter
https://wiki.archlinux.org/title/Power_management
Should instantly work if it is the cause.

Another thing to look is isochronous/interrupt/bulk USB transfer modes, if they are not restricted by limited USB port driver for USB port hidden on M2 and so on.

Since mention of fork distro please post output of

ubus call system board

all three modes giving same speeds

to be honest I didn't try this but mostly m.2 USB is running on normal not on eco mode
( will be great if you can share steps how to disable it to try if the speeds will increase ) through PuTTY --- OR --- Luci packages

The tips on power mode node locations under /sys/class are in linked article.

I tried it nothing change

You have to locate power nodes on OpenWRT yourself, not blindly cram incompatible commands.

is there a guide for this to do it from OpenWrt becuase nothing I found related power from settings

Also I followed USB troubleshooting but nothing changed
https://openwrt.org/docs/guide-user/storage/usb-installing

root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 6.06
S:  Manufacturer=Linux 6.6.32 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=11200000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 5
D:  Ver= 2.10 Cls=09(hub  ) Sub=00 Prot=02 MxPS=64 #Cfgs=  1
P:  Vendor=2109 ProdID=2822 Rev= 0.30
S:  Manufacturer=VIA Labs, Inc.
S:  Product=USB2.0 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=01 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms
I:* If#= 0 Alt= 1 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=02 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms

T:  Bus=01 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.01 Cls=11(blbrd) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2109 ProdID=8822 Rev= 0.01
S:  Manufacturer=VIA Labs, Inc.
S:  Product=USB Billboard Device
S:  SerialNumber=0000000000000001
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 0 Cls=11(blbrd) Sub=00 Prot=00 Driver=(none)

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=10000 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 3.10 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=1d6b ProdID=0003 Rev= 6.06
S:  Manufacturer=Linux 6.6.32 xhci-hcd
S:  Product=xHCI Host Controller
S:  SerialNumber=11200000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=5000 MxCh= 4
D:  Ver= 3.10 Cls=09(hub  ) Sub=00 Prot=03 MxPS= 9 #Cfgs=  1
P:  Vendor=2109 ProdID=0822 Rev= 0.30
S:  Manufacturer=VIA Labs, Inc.
S:  Product=USB3.1 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=13(Int.) MxPS=   2 Ivl=16ms

T:  Bus=02 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=2c7c ProdID=0122 Rev= 5.15
S:  Manufacturer=Quectel
S:  Product=RM551E-GL
S:  SerialNumber=6c63fe16
C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA
A:  FirstIf#=10 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=84(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#=10 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
E:  Ad=88(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
I:  If#=11 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:* If#=11 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E:  Ad=87(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

Nothing anomalous in usb device.
Please check if under network/global you have packet steering enabled, and please di tests with waveform or clodflare that are not throttled by providers
set up htop and in there in f2 setup unhide kernel threads and enable detailed cpu and make a picture while running a test (NOT ookla)

packet steering is enabled
test speed on other platforms are same ooKla

I installed Package called (Netdata) to show you CPU and network performance ,, The max CPU utilization I reached up to 26% only

I need distribution between CPU cores and red to lilac balance. 25% really looks like one of 4 cores will be clamped (or all cpus at 15%+-10% and you certainly do not need overclock)

Gentlemen

Can we get your support to find solution for this topic which taking longer time and not solved (This topic is branch of main topic USB 3 5g modems low speed )

@adrianschmutzler @mercygroundabyss @Ansuel @aparcar @blocktrron @daniel @ffainelli @jow @rsalvaterra @svanheule

I'm sure with your involvement we can find a way to solve this issue

Note : most of 5G/4G companies ( when they drop their a new modem m.2 in market they will drop it as Engineering sample for first year without PCIE mode only USB mode

  • Where speeds on driver free board example Mcuzone i'm getting full speed of the tower 900mb/s

  • On other hand OpenWrt system is getting limited speed such as 400 or 450 mb/s

This issue is not limited only to me ,its also to other people

I think you missed @god in your list of summoned users, if we're going to ping everyone, we better make it airtight ...

2 Likes

Dude

tell me what you want to know more to add your value to solve this issue .....

Already previous topic attached on this topic ..since 2023, Oct started not solved yet (by system or other people) because that i'm asking their support

so what ?
you think it's the oldest existing "bug" in openwrt ?

no dude, you'll just annoy them, especially when you ping everyone.

you'll probably received less help now.

100% its bug ( agreed and approved by other people )
This test on Mcuzone board

I proved it through testing on board driver - free Mcuzone and also other boards that depending only on modem there is no system where i'm getting full speed >>>>>>>>
but on OpenWrt is not giving full speed where the speed will be limited to 480mb/s or 400mb/s

Note test done on multiple board running OpenWrt system ZBT 8102 , Banana BPI R3 , Banana BPI R4 ...all limited speeds when you are using m.2 5G modem on USB

Note: I'm ready to give anyone remote access to my computer to try figure the issue on this system and to witness the speed limitation on system ...

Dude we don't have anything to lose it if we asked them kindly for their support and attention for this issue not resolved from long time ...

Note: I'm really thanking their (you and others who is supporting people on this community ) efforts and support not for me also for another people and I know they are busy in their life ...

Hi @KFO,
Maybe try reporting it higher, I doubt anyone on forum has any idea how to fix this bug.

Linux mailing list, usb subsystem (http://www.linux-usb.org/mailing.html).

2 Likes

Thank you Dear @IceG
You are always adding a lot of a great information to us...

I sent email to the email was on the link you shared it ... I hope he will response to me

2 Likes

FYI the specific board you are mentioning is not a router, it's an ethernet card connected directly to the 5G modem, with the modem itself acting as PCIE root complex. That's way less overhead comparing to the OpenWrt setup you have.

Router SoCs are never specifically optimized for traffic over USB ports. This is just a limitation of the current hardware/software, and is unlikely to be solvable in a clean manner.

1 Like