[Custom build] GL.iNet GL-X3000: OpenWrt 25.12 with RM520N-GL 5G on PCIe/MHI

Target: mediatek/filogic, board glinet,gl-x3000. Kernel 6.12.79.

Sharing Pre-built sysupgrade image with the Quectel RM520N-GL 5G modem working end-to-end over MHI/MBIM + ModemManager, using the PCIe data path: https://github.com/vjt/openwrt-glinet-x3000/releases/tag/jeeves-r2

The wiki entry for this device covers the modem's USB path, which works out of the box but caps throughput below the radio. This build wires up PCIe. Three things were non-obvious if you're going down this road independently:

  1. Kernel patch. The RM520N-GL GLAP variant's PCI sub-device 17cb:5201 isn't in mainline mhi_pci_generic. One-liner patch shipped under target/linux/generic/pending-6.12/. Same fix submitted to linux-arm-msm by Michael Fritscher, not yet merged - Quectel is using Qualcomm sub-vendor IDs and that is puzzling.

  2. PCIe runtime PM. With it enabled, the modem firmware crashes ~2 min after boot every time (AER + CmpltTO cascade) and drags the on-board ethernet down with it during the link resets. kernel cmdline workaround: pcie_port_pm=off. Not a real fix; hopefully resolved in a future kernel.

  3. ModemManager + ttyUSB. Upstream hotplug rule grabs every /dev/ttyUSB[0-3]. Patched to honour /etc/modemmanager/ignore-tty so external AT helpers can still talk to the modem.

Custom packages baked in: quectel-5g-tools (signal monitor TUI, band/cell locking, AT wrapper, Prometheus collector, panel-LED daemon), qfirehose 1.4.17 as OpenWrt package, adb/fastboot for SDX62 access, my wifi-dethrash-collector, telegraf-full.

To build it yourself: clone the repo, run x3000/prepare.sh, make. The script pins OpenWrt 25.12, applies the patches and wires in the custom feeds.

Full devlog (with a bonus SINR mystery epilogue): https://sindro.me/posts/2026-04-30-glinet-gl-x3000-vanilla-openwrt-25-12/

Thank you and I hope this helps someone out there!

Nice to see this router get some attention; It's been an absolute money saver being my home router so I'll be keeping an eye on this.

Great work! :+1:t2: