Upload Speed Bottleneck on Banana Pi BPI-R4 with RM551E-GL

Hi all,

I’m running into a strange bottleneck with upload speeds on my Banana Pi BPI-R4, and I’m hoping someone here can help me diagnose it.


:wrench: My Setup:

Board: Banana Pi BPI-R4

Modem: Quectel RM551E-GL (in USB 3.0 mode, QMI protocol)

Firmware: OpenWrt snapshot (2024/2025), with all relevant modem packages:

uqmi, kmod-usb-net, kmod-usb-net-qmi-wwan, kmod-usb3, usb-modeswitch, etc.

Router LAN IP: 192.168.99.1

Connection type: QMI via USB

IRQ tuning: Applied (/proc/irq/XYZ/smp_affinity)

CPU optimization: Enabled RPS/XPS + affinity tweaks

Modem firmware: Stock Quectel (tested 02 and 03 releases)


:test_tube: Performance:

Speedtest using Ookla CLI:

:small_blue_diamond: Banana Pi BPI-R4 + RM551E-GL:

Download: ~960 Mbps

Upload: ~25 Mbps (consistently low)

Latency: ~18 ms (but high jitter during upload)

:small_blue_diamond: Suncomm O8 Ultra (same modem, same SIM, same external antenna):

Download: ~940 Mbps

Upload: ~160 Mbps

Stable latency and much lower jitter


:jigsaw: What I’ve Tried:

Checked IRQ mapping (cat /proc/interrupts)

Locked modem to 5G-only bands (e.g., n78)

Tested different SIMs and ISP

Compared with different firmware (stock vs custom)

Switched to other WAN protocols (still QMI)


:question: What I Need Help With:

Why is the upload so much lower only on the BPI-R4?

Is there any known USB 3.0 bottleneck, IRQ misrouting, or thermal throttling?

Any tricks to improve interrupt affinity, queue handling, or USB throughput?

Would greatly appreciate any insight from others using RM551E-GL or similar modems on the BPI-R4. I’m happy to run further tests if needed.

Thanks!