Poor LTE speed Qualcomm Snapdragon X20 LTE + openwrt

TL;DR:
I have spent some weeks installing and configuring openwrt on a Mikrotik RBM33G + Qualcomm X20 LTE Modem; it works but performance is quite disappointing, below worse contendants:
· Ubuntu laptop + same modem + same SIM + way way way worse antenna = higher speed
· Teltonika modem-router + same SIM + same antennas = higher speed

Poor performance Mikrotik + Qualcomm + openwrt

This is the modem device in question:
board: Mikrotik RBM33G
modem: Cat16 LTE 4x4 MIMO - Dell DW5821e (Foxconn T77W968 M.2 card with Qualcomm Snapdragon X20 LTE)
wifi: Qualcomm Atheros AR9565
extra: 8 GB uSD
antenna: 2 LPDA 12 dBi 600-3800 MHz outdoor + 2 crappy small 5 dBi omnidirectional indoor (but both are placed outdoors)
OS: openwrt 25.12.5

I may be doing something wrong, but to me it seems LuCI is not well suited for LTE connections, I can get barely any info, very few info on connection status, as I can see signal strength only via AT commands on picocom (specifically AT+CSQ).
Signal strength should be decent enough: +CSQ = 22

I suspect that this DW5821e Snapdragon X20 LTE is incapable of location service:

mmcli -m 0
# mmcli -m 0
  -----------------------------------
  General  |                    path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: 40-chars-hexdecimal
  -----------------------------------
  Hardware |            manufacturer: Dell Inc.
           |                   model: DW5821e Snapdragon X20 LTE
           |       firmware revision: T77W968.F1.0.0.3.5.GC.009
           |                          020
           |          carrier config: GCF
           | carrier config revision: 08E00009
           |            h/w revision: DW5821e Snapdragon X20 LTE
           |               supported: gsm-umts, lte
           |                 current: gsm-umts, lte
           |            equipment id: 15-chars-numerals
  -----------------------------------
  System   |                  device: /sys/devices/platform/1e1c0000.xhci/usb1/1-2
           |                 physdev: /sys/devices/platform/1e1c0000.xhci/usb1/1-2
           |                 drivers: cdc_mbim, option1
           |                  plugin: dell
           |            primary port: cdc-wdm0
           |                   ports: cdc-wdm0 (mbim), ttyUSB0 (at), ttyUSB1 (at), ttyUSB2 (gps), 
           |                          ttyUSB3 (ignored), wwan0 (net)
  -----------------------------------
  Status   |                    lock: sim-pin2
           |          unlock retries: sim-pin2 (3)
           |                   state: disabled
           |             power state: on
  -----------------------------------
  Modes    |               supported: allowed: 3g; preferred: none
           |                          allowed: 4g; preferred: none
           |                          allowed: 3g, 4g; preferred: 4g
           |                          allowed: 3g, 4g; preferred: 3g
           |                 current: allowed: 4g; preferred: none
  -----------------------------------
  Bands    |               supported: utran-1, utran-4, utran-6, utran-5, utran-8, utran-9, 
           |                          utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, 
           |                          eutran-8, eutran-12, eutran-13, eutran-14, eutran-17, eutran-18, 
           |                          eutran-19, eutran-20, eutran-25, eutran-26, eutran-28, eutran-29, 
           |                          eutran-30, eutran-32, eutran-38, eutran-39, eutran-40, eutran-41, 
           |                          eutran-42, eutran-43, eutran-46, eutran-48, eutran-66, utran-19
           |                 current: utran-1, utran-4, utran-6, utran-5, utran-8, utran-9, 
           |                          utran-2, eutran-1, eutran-3, utran-19
  -----------------------------------
  IP       |               supported: ipv4, ipv6, ipv4v6
  -----------------------------------
  3GPP     |                    imei: 15-chars-numeral
           |           enabled locks: sim, fixed-dialing
  -----------------------------------
  3GPP EPS |    ue mode of operation: csps-2
           |      initial bearer apn: carrier-APN
  -----------------------------------
  SIM      |        primary sim path: /org/freedesktop/ModemManager1/SIM/0
           |          sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/0 (active)

I found no way to edit which bands are being used, I installed modemband (https://github.com/4IceG/luci-app-modemband and https://github.com/obsy/modemband) from this person https://github.com/4IceG to have a better control: by specifying to use only B1 and B3 I can get way better performances than selecting them all or leaving it in default settings (which I guess it's up to the driver?).


Best performance laptop + same Qualcomm modem + Ubuntu

The same exact modem and SIM installed on my laptop has better performance! Windows is on par with Mirkotik RBM33G, but if I run Ubuntu it reliably reach 20 Mbps/15 Mbps (down/up). Keep in mind that laptop was only using a single internal antenna, which could, which can't possibly be compared to a dual LPDA 12 dBi.


Better performance Teltonika + different Quectel modem + same antennas + RutOS

Teltonika RUT950 with a Cat4 SISO Quectel EC25 has better performances: I detach the 2 LPDA antennas from the Mikrotik running openwrt and attach them to the Teltonika; speedtest is normally 10-25 Mbps/5-10 Mbps (down/up) but leaving it in long downloads can reach up to 60 Mbps.

Additional notes: Teltonika RUT950 is able to tell me:

  • CellID
  • band in use
  • RSSI, RSRP, RSRQ, SINR