GL.iNet Mango 2 (GL-MG1300) Review: A Full Teardown of the Pocket Travel Router

Notes from a full discovery pass over the GL.iNet Mango 2 travel router: hardware, firmware, network configuration, exposed services, storage and throughput. Every figure below was read directly off the device.

The Mango 2 is a pocket-sized travel router in GL.iNet's yellow shell. The top carries only the wordmark — every connector sits on one edge.
The Mango 2 is a pocket-sized travel router in GL.iNet’s yellow shell. The top carries only the wordmark — every connector sits on one edge.

What the device is

The Mango 2 reports itself as model GL-MG1300, a compact travel router built on MediaTek’s MT7621 platform and running GL.iNet’s firmware on an OpenWrt 22.03.4 base. Short version: a capable little router with sensible segmentation options and a tighter security posture than most factory firmware.

One edge carries every connector; the adjoining edge holds the reset pinhole and two buttons. Nothing is connected.
One edge carries every connector; the adjoining edge holds the reset pinhole and two buttons. Nothing is connected.

Hardware

  • Chipset: MediaTek MT7621 ver:1 eco:3 (ramips/mt7621)
  • Memory: 117 MB RAM; 58 MB swap backed by zram (59,392 KB)
  • Flash layout (6 MTD partitions): u-boot (512 KB), u-boot-env (64 KB), factory (64 KB), log (256 KB), CFG (128 KB), ubi (128 MB)
  • Filesystems: squashfs on /rom, ubifs on /overlay, overlayfs on /, tmpfs on /tmp and /dev
  • GPIO: three gpiochips (448, 416, 480) plus usb_power
  • Peripherals: two USB buses, two PCI devices, two hwmon temperature sensors (values blocked from read access)
  • LEDs: blue:run, white:system, mt76-phy0
  • Ports: two gigabit Ethernet (WAN, LAN) and two USB-C: one USB 3.0 data port and one 5V/2A power input
  • Wireless: 802.11a/b/g/n/ac, 2×2 MIMO, up to 400 Mbps on 2.4 GHz and 866 Mbps on 5 GHz
  • Physical: 89 × 63 × 15 mm, 100 g, under 5 W typical
The connector edge at a steep angle: the two RJ45 sockets in the middle, the second USB-C at one end.
The connector edge at a steep angle: the two RJ45 sockets in the middle, the second USB-C at one end.

Operating system

  • Distribution: OpenWrt 22.03.4 (r20123-38ccc47687)
  • Kernel: 5.10.176 (ramips/mt7621)
  • Web UI: LuCI v23.093
  • Hostname: Mango2 · Timezone: America/Chicago
  • Footprint: 466 installed packages across 52 UCI configuration files

Network configuration

  • Interfaces: wan, br-lan, wlan0, wlan1, eth0, tailscale0, lan, lo
  • LAN: 192.168.8.1/24 on br-lan
  • WAN: DHCP
  • 2.4 GHz (radio0): SSID GL-MG1300-24b, WPA2-PSK, txpower 30, HT40
  • 5 GHz (radio1): country set to US
  • Tailscale: enabled, advertising the subnet route 192.168.72.0/24, with Taildrop enabled
  • Additional segments defined: guest (192.168.73.0/24), iot (192.168.10.0/24), secondwan, wwan

A guest network and a dedicated IoT subnet are both defined out of the box, which does most of the segmentation work before you start.

Left to right along the edge: USB-C, LAN, WAN and POWER. Two network ports and two USB-C ports: one for data, one for power.
Left to right along the edge: USB-C, LAN, WAN and POWER. Two network ports and two USB-C ports: one for data, one for power.

Services and web interfaces

  • nginx 1.26.1: port 80 for HTTP redirection, port 443 for the HTTPS GL.iGET interface
  • uhttpd: port 80 (HTTPS) and port 443 (LuCI)
  • Also running: OpenVPN, ksmbd (SMB/Samba file sharing), and the Tailscale daemon
  • Dropbear: configured for port 22 with password authentication enabled — no longer listening
  • Port 8080: an HTTP service that could not be identified through the available interfaces
  • Not installed: iperf3, speedtest-cli, and a standalone SSH client — so throughput had to be measured from a separate machine

Throughput: six tests, four servers

  • Cloudflare 1 MB — 23.4 Mbps
  • Cloudflare 2 MB — 20.5 Mbps
  • Cloudflare 10 MB — 101.7 Mbps
  • Fast.com — 68 Mbps
  • GitHub raw, 928 KB file — 8.2 Mbps
  • httpbin.org, 100 KB file — 1.3 Mbps (payload capped by the server)

The spread matters more than any single figure. The small Cloudflare transfers are dominated by latency and TCP ramp-up, while the 10 MB run, long enough for the window to open properly, reached 101.7 Mbps. Together they suggest a healthy radio and routing path, with the low numbers an artifact of short test lengths rather than a throughput ceiling.

Security posture

Two findings work in the device’s favor.

  • The RPC interface is locked down. The UBUS remote procedure interface permits file listing, file reads, file stat and UCI reads — and refuses execution, service enumeration, and all network and system operations. It also blocks reads of /proc/cpuinfo, /proc/meminfo, /etc/passwd and the temperature sensor inputs. That is a deliberately narrow ACL, not a default-permit one.
  • There was no listening SSH socket. A full TCP sweep of ports 1–10,000 found nothing open, including port 22. Port 22 does answer as Tailscale SSH, which requires interactive browser approval before it will let anyone in, and the router’s own SSH key was rejected on port 22.

The device stayed fully responsive on the LAN throughout, with every ICMP probe replying at an average of 0.825 ms, while its Tailscale node went offline. That combination points to a host-level service state rather than a routing or firewall problem. Reassuring as a security posture, less so operationally: recovering access means physical or serial console contact.

Bottom line

The Mango 2 is well provisioned for its size. MT7621 is an older part, but with 117 MB of RAM, a 128 MB overlay and a granular OpenWrt build it handles routing, VPN client duties, SMB sharing and Tailscale subnet routing without complaint. Guest and IoT subnets out of the box, a 466-package image and a restrictive UBUS ACL suggest GL.iNet designed for security rather than bolting it on later.

The caveats are real. In these single-stream Wi-Fi tests throughput topped out around the 100 Mbps mark, the box ships without any speed-test tooling, and SSH needs attention before you rely on it remotely: confirm your preferred daemon is set to start at boot, or you may find yourself driving to the device with a serial cable.

For a travel router that has to fit in a pocket and defend itself, that is a solid result.

The same edge from a raised angle. Both RJ45 sockets and both USB-C ports sit empty, as the device ships.
The same edge from a raised angle. Both RJ45 sockets and both USB-C ports sit empty, as the device ships.

How this was measured

Everything came through the router’s own discovery and RPC interfaces: the UBUS RPC endpoint for configuration and file metadata, and the LuCI API for system and wireless state. Where the UBUS ACL blocked a read (process execution, service enumeration, network and system internals, and several /proc entries), the limitation is noted rather than worked around. Throughput tests ran from a separate controlling machine, because the router ships without an iperf3 or speedtest client.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.