41 articles
Universal (RM551E & RM520N)

OpenWRT vs RM520N Architecture Differences

Engineering ledger detailing the differences between the RM551E OpenWRT build and SDXLEMUR on-modem Linux.

5 min read ยท Updated

OpenWRT vs RM520N Architecture Differences

QManager is ported across two distinctly different Linux environments. This document outlines the technical design divergence.

Architectural Divergence Summary#

SubsystemQManager (OpenWRT)QManager-RM520N (SDXLEMUR)
Init / Service ManagerOpenWRT procdSystemd (systemctl)
Network Daemonnetifd + OpenWRT uciDirect iproute2 / Qualcomm proprietary daemons
Firewallfw4 (nftables) or fw3 (iptables)Native iptables / ip6tables
Package ManagementopkgEntware (opkg pointing to Entware armv7sf-k3.2 repo)
Web Serveruhttpdlighttpd with mod_cgi
File PathsWeb files in /www/qmanagerWeb files in /usrdata/qmanager/www
Serial AT Interface/dev/ttyUSB2 or /dev/cdc-wdm0/dev/mhi_DUN or /dev/smd11 (internal IPC bus)

Subsystem-by-Subsystem Comparison#

Serial Port Handling#

On the OpenWRT build, the modem communicates across a USB bus using the option or qmi_wwan kernel drivers. Latency is ~5โ€“10ms per AT command.

On the RM520N-GL internal Linux, the application communicates with the baseband through internal Qualcomm shared memory devices (/dev/mhi_DUN or SMD channels) with near-zero (< 1ms) latency!

Sysfs vs AT Fetch Sources#

On the RM520N-GL, many network stats do not require AT commands at all. They can be read directly from Qualcomm sysfs nodes:

  • /sys/devices/platform/soc/...
  • Kernel thermal sensors in /sys/class/thermal/thermal_zone*
  • RGMII PHY link state in /sys/class/net/eth0/carrier