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.
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)
Performance:
Speedtest using Ookla CLI:
Banana Pi BPI-R4 + RM551E-GL:
Download: ~960 Mbps
Upload: ~25 Mbps (consistently low)
Latency: ~18 ms (but high jitter during upload)
Suncomm O8 Ultra (same modem, same SIM, same external antenna):
Download: ~940 Mbps
Upload: ~160 Mbps
Stable latency and much lower jitter
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)
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!