Support for Linksys FGW5500

Hi everyone,

I recently purchased a Linksys FGW5500 from AliExpress. It arrived pre-installed with a vendor-customized build of OpenWrt 23.05-SNAPSHOT (using a downstream Qualcomm 5.4 kernel).

The device is an IPQ5018-based 5G router with an internal M.2 slot containing a Quectel 5G modem. I am looking for guidance on how to properly add official OpenWrt support for it under the ipq50xx target.

Below is the complete hardware profile, partition layout, UART pinout, and boot logs.

Hardware Specifications
  • SoC: Qualcomm IPQ5018 (2x Cortex-A53 @ 1.0 GHz)
  • RAM: 512 MiB DDR3/DDR4 (Micron D9SHD)
  • Flash: 512 MiB SPI NAND (GigaDevice GD5F4GM8REYIG)
  • Cellular Expansion: M.2 Slot populated with a Quectel RM520N-GL 5G modem (operating in PCIe/MHI mode)
  • Ethernet: * 1x 2.5G LAN
  • 2x 1G LAN (managed via a QCA83xx/ISISC switch module)
  • I/O Ports: 1x USB Port, 1x RJ11 Voice Port, Hardware Power Switch, Reset Button.
UART / Serial Console Pinout

There is a 4-pin header marked J9 on the PCB. The pinout from left to right (matching the square pin indicator) is as follows:

  • GND (Black)

  • RX (Orange)

  • TX (Green)

  • VCC 3.3V (Red - Do not connect when using a USB-to-TTL adapter)

Baud Rate: 115200

MTD Partition Layout (/proc/mtd)

dev: size erasesize name
mtd0: 00080000 00020000 "0:SBL1"
mtd1: 00080000 00020000 "0:MIBIB"
mtd2: 00040000 00020000 "0:BOOTCONFIG"
mtd3: 00040000 00020000 "0:BOOTCONFIG1"
mtd4: 00100000 00020000 "0:QSEE"
mtd5: 00100000 00020000 "0:QSEE_1"
mtd6: 00040000 00020000 "0:DEVCFG"
mtd7: 00040000 00020000 "0:DEVCFG_1"
mtd8: 00040000 00020000 "0:CDT"
mtd9: 00040000 00020000 "0:CDT_1"
mtd10: 00080000 00020000 "0:APPSBLENV"
mtd11: 00140000 00020000 "0:APPSBL"
mtd12: 00140000 00020000 "0:APPSBL_1"
mtd13: 00100000 00020000 "0:ART"
mtd14: 00080000 00020000 "0:TRAINING"
mtd15: 19040000 00020000 "rootfs"

U-Boot Environment (fw_printenv)

baudrate=115200
bootargs=console=ttyMSM0,115200n8
bootcmd=bootipq
bootdelay=5
eth1addr=00:11:22:33:44:56
ethact=eth0
ethaddr=00:11:22:33:44:55
fdt_high=0x4A400000
fdtcontroladdr=4a9d4004
flash_type=11
ipaddr=192.168.15.1
machid=8041003
netmask=255.255.255.0
serverip=192.168.15.2
soc_hw_version=20180101
soc_version_major=1
soc_version_minor=1
stderr=serial@78AF000
stdin=serial@78AF000
stdout=serial@78AF000

Summary

This text will be hidden

Board Info (ubus call system board)

{
"kernel": "5.4.213",
"hostname": "Linksys",
"system": "ARMv8 Processor rev 4",
"model": "Linksys FGW5500",
"board_name": "qcom,ipq5018-ap-mp03.6-c1",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "23.05-SNAPSHOT",
"revision": "r0-c35ac1d06",
"target": "ipq50xx/generic",
"description": "OpenWrt r24117-eg10fa52-AliExpress ZEARTS Store"
}
}

Boot Log

Due to the character limits and length, the complete boot sequence from cold power-on to the ash shell prompt can be viewed here:
https://pastebin.com/Gvh6pQLg

Device Image

Thanks!

Apart from the modem, and if secureboot is disabled, the board should be pretty easy to port.
Secureboot might be enabled because bootcmd is set to bootipq.
It has a qca8081 phy and qcn9074 5G wifi.

You can start by extracting the wifi firmware files from your device, transfer them to your PC, tar and upload them somewhere like filebin.
These would most likely sit in /etc/firmware in stock.
Also grab a copy of the /sys/firmware/fdt file.