[Firmware Port] Porting ImmortalWrt 25.12.1 to the GL.iNet GL-MG1300 (Mango 2) — Testers Welcome

Intro

I got this GL-MG1300 through GL.iNet's official beta test program. It hasn't launched yet and there's very little public info on it, so I took the opportunity to go through the hardware thoroughly. Stock firmware is based on OpenWrt 22.03.4 (kernel 5.10.176), and its package ecosystem is getting a bit dated. ImmortalWrt upstream obviously hasn't added this model yet either, so I went ahead and ported 25.12.1 myself to get the software ecosystem ready before launch. The device patches, build config, and GitHub Actions are all open source now. Firmware is built and published automatically by Actions, and each Release includes a SHA256SUMS file. Anyone with this device who wants to tinker should check it out.

Verified Hardware

(All verified on my own beta unit. If retail units differ, refer to the official specs.)

  • SoC: MediaTek MT7621 ver:1 eco:3, 128 MiB DDR3L, target: ramips/mt7621
  • Storage: 2 MiB SPI-NOR + 128 MiB SPI-NAND, whole-chip UBI, NAND erase block 128 KiB
  • Ethernet: 1x Gigabit WAN, 1x Gigabit LAN; WAN MAC is at factory partition offset 0x4000, LAN is WAN + 1
  • Wi-Fi: MT7615 PCIe dual-band DBDC, calibration data comes from the start of the factory partition
  • LEDs/Buttons: GPIO13 white system LED, GPIO14 blue run LED, GPIO16 mode slide switch, GPIO18 reset
  • USB: GPIO12 power enable is exported as in stock; no eMMC / SD, SDHCI is disabled in stock

Firmware Details

The firmware is built from ImmortalWrt v25.12.1 with device patches applied, producing two images: factory.bin and sysupgrade.bin. The repo itself only stores device patches, the files overlay, and a defconfig — no source code. At build time, Actions pulls the official source, which keeps the repo clean and makes it easy to track upstream. Push to main or manually trigger the workflow, and it'll automatically build the firmware and create a GitHub Release with SHA256SUMS.

If you want to customize the package selection, fork the repo, edit configs/gl-mg1300.config, and run Actions again. No local build environment needed.

Flashing Notes

(Full details are in the GitHub README.)

  • Before your first flash, make sure to fully back up SPI-NOR and SPI-NAND, and have serial or the stock recovery path ready.
  • The factory image hasn't been verified on all recovery paths yet; only use the sysupgrade image to upgrade from a compatible ImmortalWrt system.
  • The repo doesn't provide unverified mtkupgrade commands, and there are no eMMC-related operations.
  • On first boot, the management IP stays at the stock 192.168.8.1, hostname GL-MG1300.

First Network Setup

Set your computer's NIC to DHCP, and make sure the Ethernet cable is in the LAN port, not the WAN port. Normally you'll get an address in 192.168.8.100–249/24, with gateway 192.168.8.1. If Windows shows "Unidentified network," that usually just means the WAN isn't online yet; it won't stop you from reaching the web UI. Only if you get a 169.254.x.x address does it mean DHCP on the LAN isn't working.

Known Issues

The stock proprietary usb-control driver hasn't been ported, so USB overcurrent control and similar behavior still need on-device verification. The factory image's behavior across recovery paths is also still being verified; real-world test results are welcome.

Downloads

I'd recommend verifying SHA256SUMS before flashing.

Questions are welcome — I'll reply to each one as I see them. If you've already flashed and tested it, please reply with how each recovery path actually behaved; that'll help improve things. Once the device officially launches, feedback and corrections from the experts are very welcome!

Hi,

Thank you for sharing your work and for documenting the port in such detail.

For reference, GL.iNet's upstream OpenWrt support PR for the GL-MG1300 is currently under review here:

Thank you both @XIAOZHAOXS and @will.qiu

I will be looking at Sub1G connectivity (my MESHSTICK) Meshtastic LoRa over USB and 802.11AH Halow over USB for this device also, not received yet

simirliar to this

Thank you for your work, and we look forward to your support.:face_savoring_food:

Im having issues with the Morse Micro OpenWRT SDK as it is missing NAND support for MT7621

but did compile a 25.12 with some needed packages to test Meshtastic using my MESHSTICK

example:

dependancies for meshtasticd installation - https://openwrt.meshtastic.org/

CONFIG_PACKAGE_kmod-spi-dev=y

CONFIG_PACKAGE_kmod-bluetooth=y
CONFIG_PACKAGE_bluez-libs=y

@XIAOZHAOXS

I used your firmware and updated the workflow to add needed dependancies for Meshtastic and create a release here

Thank you kindly for your firmware effort.

Nice work — thanks for sharing the release. I’ll also give it a test on my end and report back with how it goes. If I run into anything related to the MT7621 NAND support, I’ll post the details here.

===================================================================
                MT7621   stage1 code Dec 16 2019 17:45:55 (ASIC)
                CPU=500000000 HZ BUS=166666666 HZ
==================================================================
Change MPLL source from XTAL to CR...
do MEMPLL setting..
MEMPLL Config : 0x11000000
3PLL mode + External loopback
=== XTAL-40Mhz === DDR-1200Mhz ===
PLL3 FB_DL: 0x2, 1/0 = 744/280 09000000
PLL2 FB_DL: 0x7, 1/0 = 572/452 1D000000
PLL4 FB_DL: 0x16, 1/0 = 552/472 59000000
DDR patch working
do DDR setting..[01F40400]
Apply DDR3 Setting...(use default AC)
          0    8   16   24   32   40   48   56   64   72   80   88   96  104  112  120
      --------------------------------------------------------------------------------
0000:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0001:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0002:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0003:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0004:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0005:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0006:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0007:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0008:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0009:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
000A:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
000B:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
000C:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
000D:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1    1
000E:|    0    0    0    0    0    0    0    0    0    1    1    1    1    1    1    1
000F:|    0    0    0    0    1    1    1    1    1    1    1    1    1    0    0    0
0010:|    1    1    1    1    1    1    1    1    0    0    0    0    0    0    0    0
0011:|    1    1    1    1    0    0    0    0    0    0    0    0    0    0    0    0
0012:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0013:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0014:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0015:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0016:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0017:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0018:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
0019:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
001A:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
001B:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
001C:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
001D:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
001E:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
001F:|    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
DRAMC_DQSCTL1[0e0]=13000000
DRAMC_DQSGCTL[124]=80000033
rank 0 coarse = 15
rank 0 fine = 64
B:|    0    0    0    0    0    0    0    0    0    0    1    1    1    0    0    0
opt_dle value:11
DRAMC_DDR2CTL[07c]=C287223D
DRAMC_PADCTL4[0e4]=000022B3
DRAMC_DQIDLY1[210]=0C090909
DRAMC_DQIDLY2[214]=0709090C
DRAMC_DQIDLY3[218]=0A0A0A07
DRAMC_DQIDLY4[21c]=0A0A0908
DRAMC_R0DELDLY[018]=00001C1B
==================================================================
                RX      DQS perbit delay software calibration 
==================================================================
1.0-15 bit dq delay value
==================================================================
bit|     0  1  2  3  4  5  6  7  8  9
--------------------------------------
0 |    9 7 7 11 11 9 9 7 6 7 
10 |    9 9 8 7 9 9 
--------------------------------------

==================================================================
2.dqs window
x=pass dqs delay value (min~max)center 
y=0-7bit DQ of every group
input delay:DQS0 =27 DQS1 = 28
==================================================================
bit     DQS0     bit      DQS1
0  (1~53)27  8  (1~53)27
1  (1~49)25  9  (1~49)25
2  (1~50)25  10  (1~54)27
3  (1~52)26  11  (1~53)27
4  (1~52)26  12  (1~56)28
5  (2~52)27  13  (1~52)26
6  (1~53)27  14  (1~54)27
7  (1~53)27  15  (1~53)27
==================================================================
3.dq delay value last
==================================================================
bit|    0  1  2  3  4  5  6  7  8   9
--------------------------------------
0 |    9 9 9 12 12 9 9 7 7 10 
10 |    10 10 8 9 10 10 
==================================================================
==================================================================
     TX  perbyte calibration 
==================================================================
DQS loop = 15, cmp_err_1 = ffff5a11 
DQS loop = 14, cmp_err_1 = ffff0000 
dqs_perbyte_dly.last_dqsdly_pass[0]=14,  finish count=1 
dqs_perbyte_dly.last_dqsdly_pass[1]=14,  finish count=2 
DQ loop=15, cmp_err_1 = ffff00ef
dqs_perbyte_dly.last_dqdly_pass[1]=15,  finish count=1 
DQ loop=14, cmp_err_1 = ffff00a6
DQ loop=13, cmp_err_1 = ffff00a6
DQ loop=12, cmp_err_1 = ffff0002
DQ loop=11, cmp_err_1 = ffff0000
dqs_perbyte_dly.last_dqdly_pass[0]=11,  finish count=2 
byte:0, (DQS,DQ)=(9,8)
byte:1, (DQS,DQ)=(8,8)
DRAMC_DQODLY1[200]=88888888
DRAMC_DQODLY2[204]=88888888
20,data:89
[EMI] DRAMC calibration passed

===================================================================
                MT7621   stage1 code done 
                CPU=500000000 HZ BUS=166666666 HZ
===================================================================

U-Boot SPL 2025.04-rc3 (Aug 10 2026 - 16:17:27 +0800)
Trying to boot from NOR


U-Boot 2025.04-rc3 (Aug 10 2026 - 16:17:27 +0800)

CPU:   MediaTek MT7621A ver 1, eco 3
Boot:  DDR3, SPI-NOR 3-Byte Addr
Clock: CPU: 880MHz, DDR: 1200MT/s, Bus: 220MHz, XTAL: 40MHz
Model: MediaTek MT7621 RFB (SPI-NOR)
DRAM:  128 MiB
Core:  45 devices, 22 uclasses, devicetree: separate
MMC:   mmc@1e130000: 0
Loading Environment from MTD... spi_nand spi_nand@0: CASN page check failed
SF: Detected en25qe16a with page size 256 Bytes, erase size 4 KiB, total 2 MiB
*** Warning - bad CRC, using default environment

Net:   MediaTek MT7530

Warning: eth@1e100000 (eth0) using random MAC address - fe:5b:38:26:b2:9d
eth0: eth@1e100000
Enter "gl" to stop autoboot in 2 seconds
=> 
=> 
=> 



   Uncompressing Kernel Image to 80001000
[    0.000000] Linux version 6.6.119 (user@user-b860m) (mipsel-openwrt-linux-musl-gcc.bin (OpenWrt GCC 13.3.0 r29087-d9c5716d1d) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 SMP Fri Oct 16 13:09:05 2026
[    0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001992f (MIPS 1004Kc)
[    0.000000] MIPS: machine is GL.iNet GL-MG1300
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] VPE topology {2,2} total 4
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] percpu: Embedded 12 pages/cpu s18976 r8192 d21984 u49152
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=0004d260
[    0.000000] Readback ErrCtl register=0004d260
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32480
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 117488K/131072K available (8176K kernel code, 650K rwdata, 1732K rodata, 1268K init, 220K bss, 13584K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 256
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] clocksource: GIC: mask: 0xffffffffffffffff max_cycles: 0xcaf478abb4, max_idle_ns: 440795247997 ns
[    0.000004] sched_clock: 64 bits at 880MHz, resolution 1ns, wraps every 4398046511103ns
[    0.008049] Calibrating delay loop... 586.13 BogoMIPS (lpj=2930688)
[    0.066206] pid_max: default: 32768 minimum: 301
[    0.079511] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.086745] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.102986] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
[    0.112739] rcu: Hierarchical SRCU implementation.
[    0.117437] rcu:     Max phase no-delay instances is 1000.
[    0.123406] smp: Bringing up secondary CPUs ...
[    0.128669] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.128695] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.128710] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.128757] CPU1 revision is: 0001992f (MIPS 1004Kc)
[    0.182837] Synchronize counters for CPU 1: done.
[    0.214758] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.214782] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.214794] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.214824] CPU2 revision is: 0001992f (MIPS 1004Kc)
[    0.273739] Synchronize counters for CPU 2: done.
[    0.304439] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.304462] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.304474] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.304508] CPU3 revision is: 0001992f (MIPS 1004Kc)
[    0.358942] Synchronize counters for CPU 3: done.
[    0.388807] smp: Brought up 1 node, 4 CPUs
[    0.399876] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.409690] futex hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.420523] pinctrl core: initialized pinctrl subsystem
[    0.429020] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.437790] /pinctrl: Fixed dependency cycle(s) with /pinctrl/pinctrl0
[    0.461942] clocksource: Switched to clocksource GIC
[    0.477157] NET: Registered PF_INET protocol family
[    0.482323] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.490397] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.498720] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.506392] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.514048] TCP bind hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.521147] TCP: Hash tables configured (established 1024 bind 1024)
[    0.528439] MPTCP token hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.535966] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.542461] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.550328] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.555996] PCI: CLS 0 bytes, default 32
[    0.563668] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.572387] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.578134] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.593803] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.599711] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.605741] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.612131] mt7621-pci 1e140000.pcie: host bridge /pcie@1e140000 ranges:
[    0.618804] mt7621-pci 1e140000.pcie:   No bus range found for /pcie@1e140000, using [bus 00-ff]
[    0.627570] mt7621-pci 1e140000.pcie:      MEM 0x0060000000..0x006fffffff -> 0x0060000000
[    0.635673] mt7621-pci 1e140000.pcie:       IO 0x001e160000..0x001e16ffff -> 0x0000000000
[    1.001948] mt7621-pci 1e140000.pcie: pcie1 no card, disable it (RST & CLK)
[    1.008846] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK)
[    1.015806] mt7621-pci 1e140000.pcie: PCIE0 enabled
[    1.020782] PCI coherence region base: 0x60000000, mask/settings: 0xf0000002
[    1.027930] mt7621-pci 1e140000.pcie: PCI host bridge to bus 0000:00
[    1.034257] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.039662] pci_bus 0000:00: root bus resource [mem 0x60000000-0x6fffffff]
[    1.046513] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    1.052701] pci 0000:00:00.0: [0e8d:0801] type 01 class 0x060400
[    1.058625] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    1.064888] pci 0000:00:00.0: reg 0x14: [mem 0x60200000-0x6020ffff]
[    1.071122] pci 0000:00:00.0: supports D1
[    1.075064] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    1.083294] pci 0000:01:00.0: [14c3:7615] type 00 class 0x000280
[    1.089282] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
[    1.096199] pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    1.111315] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    1.116534] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    1.122579] pci 0000:00:00.0:   bridge window [mem 0x60000000-0x600fffff]
[    1.129278] pci 0000:00:00.0:   bridge window [mem 0x60100000-0x601fffff pref]
[    1.136482] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.143080] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    1.149594] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    1.156544] pci 0000:00:00.0: BAR 8: assigned [mem 0x60000000-0x600fffff]
[    1.163277] pci 0000:00:00.0: BAR 9: assigned [mem 0x60100000-0x601fffff pref]
[    1.170418] pci 0000:00:00.0: BAR 1: assigned [mem 0x60200000-0x6020ffff]
[    1.177221] pci 0000:00:00.0: BAR 7: assigned [io  0x0000-0x0fff]
[    1.183271] pci 0000:01:00.0: BAR 0: assigned [mem 0x60000000-0x600fffff 64bit]
[    1.190494] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.195438] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    1.201456] pci 0000:00:00.0:   bridge window [mem 0x60000000-0x600fffff]
[    1.208224] pci 0000:00:00.0:   bridge window [mem 0x60100000-0x601fffff pref]
[    1.217168] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    1.226595] printk: console [ttyS0] disabled
[    1.231484] 1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 18, base_baud = 3125000) is a 16550A
[    1.240602] printk: console [ttyS0] enabled
[    1.240602] printk: console [ttyS0] enabled
[    1.248917] printk: bootconsole [early0] disabled
[    1.248917] printk: bootconsole [early0] disabled
[    1.263723] spi-mt7621 1e000b00.spi: sys_freq: 220000000
[    1.270428] spi-nor spi0.0: en25qe16a (2048 Kbytes)
[    1.275478] 5 fixed-partitions partitions found on MTD device spi0.0
[    1.281822] Creating 5 MTD partitions on "spi0.0":
[    1.286624] 0x000000000000-0x000000080000 : "u-boot"
[    1.293399] 0x000000080000-0x000000090000 : "u-boot-env"
[    1.299888] 0x000000090000-0x0000000a0000 : "factory"
[    1.306288] OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions
[    1.314002] 0x0000000a0000-0x0000000e0000 : "log"
[    1.319823] 0x0000000e0000-0x000000100000 : "CFG"
[    1.465353] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
[    1.482282] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 19
[    1.493873] mtk_soc_eth 1e100000.ethernet eth1: mediatek frame engine at 0xbe100000, irq 19
[    1.503832] i2c_dev: i2c /dev entries driver
[    1.512304] NET: Registered PF_INET6 protocol family
[    1.520817] Segment Routing with IPv6
[    1.524623] In-situ OAM (IOAM) with IPv6
[    1.528657] NET: Registered PF_PACKET protocol family
[    1.534076] 8021q: 802.1Q VLAN Support v1.8
[    1.568632] gpio-export gpio-export: 1 gpio(s) exported
[    1.574414] mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module
[    1.607873] mt7530-mdio mdio-bus:1f: configuring for fixed/rgmii link mode
[    1.616750] mt7530-mdio mdio-bus:1f lan (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7530 PHY] (irq=24)
[    1.629348] mt7530-mdio mdio-bus:1f: Link is Up - 1Gbps/Full - flow control rx/tx
[    1.633150] mtk_soc_eth 1e100000.ethernet eth0: entered promiscuous mode
[    1.643727] DSA: tree 0 setup
[    1.647680] clk: Disabling unused clocks
[    1.652342] MTD: Couldn't look up '': -22
[    1.656462] /dev/root: Can't open blockdev
[    1.660564] VFS: Cannot open root device "" or unknown-block(0,0): error -6
[    1.667511] Please append a correct "root=" boot option; here are the available partitions:
[    1.675860] 1f00             512 mtdblock0 
[    1.675875]  (driver?)
[    1.682395] 1f01              64 mtdblock1 
[    1.682406]  (driver?)
[    1.688907] 1f02              64 mtdblock2 
[    1.688916]  (driver?)
[    1.695434] 1f03             256 mtdblock3 
[    1.695446]  (driver?)
[    1.701962] 1f04             128 mtdblock4 
[    1.701974]  (driver?)
[    1.708475] List of all bdev filesystems:
[    1.712475]  squashfs
[    1.712484] 
[    1.716218] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    1.724464] Rebooting in 1 seconds..



=> printenv
baudrate=115200
bootdelay=2
ethaddr=fe:5b:38:26:b2:9d
fdtcontroladdr=87cfd850
ipaddr=192.168.1.1
lf=mtkupgrade fw openwrt-gl-mg1300.bin
loadaddr=0x83000000
lu=mtkupgrade fip uboot-gl-mg1300.bin
mtdids=nor0=nor0,spi-nand0=spi-nand0
mtdparts=nor0:512k(fip),64k(u-boot-env),64k(factory),256k(log),128k(CFG);spi-nand0:-(ubi)
netmask=255.255.255.0
serverip=192.168.1.2
stderr=uart1@1e000c00
stdin=uart1@1e000c00
stdout=uart1@1e000c00

Environment size: 430/4092 bytes


=> help
?         - alias for 'help'
base      - print or set address offset
bdinfo    - print Board Info structure
blkcache  - block cache diagnostics and control
boot      - boot default, i.e., run 'bootcmd'
bootd     - boot default, i.e., run 'bootcmd'
bootflow  - Boot flows
bootm     - boot application image from memory
bootmenu  - ANSI terminal bootmenu
bootp     - boot image via network using BOOTP/TFTP protocol
button    - manage buttons
chpart    - change active partition of a MTD device
cmp       - memory compare
coninfo   - print console devices and information
cp        - memory copy
cyclic    - Cyclic
dhcp      - boot image via network using DHCP/TFTP protocol
echo      - echo args to console
editenv   - edit environment variable
env       - environment handling commands
fdt       - flattened device tree utility commands
glbtn     - GL-iNet button check
go        - start application at address 'addr'
gpio      - query and control gpio pins
help      - print command description/usage
httpd     - Start failsafe HTTP server
iminfo    - print header information for application image
itest     - return true/false on integer compare
led       - manage LEDs
loadb     - load binary file over serial line (kermit mode)
loadx     - load binary file over serial line (xmodem mode)
loady     - load binary file over serial line (ymodem mode)
loop      - infinite loop on address range
md        - memory display
mm        - memory modify (auto-incrementing address)
mmc       - MMC sub system
mmcinfo   - display MMC info
mtd       - MTD utils
mtdparts  - define flash/nand partitions
mtkautoboot- Display MediaTek bootmenu
mtkboardboot- Boot MTK firmware
mtkbootconf- Setup bootconf for FIT image
mtkload   - MTK image loading utility
mtkupgrade- MTK firmware/bootloader upgrading utility
mw        - memory write (fill)
nand      - NAND utility
net       - NET sub-system
nm        - memory modify (constant address)
panic     - Panic with optional message
part      - disk partition related commands
ping      - send ICMP ECHO_REQUEST to network host
printenv  - print environment variables
random    - fill memory with random pattern
reset     - Perform RESET of the CPU
run       - run commands in an environment variable
saveenv   - save environment variables to persistent storage
setenv    - set environment variables
setexpr   - set environment variable as the result of eval expression
sf        - SPI flash sub-system
sleep     - delay execution for some time
source    - run script from memory
sspi      - SPI utility command
tftpboot  - load file via network using TFTP protocol
ubi       - ubi commands
ubifsload - load file from an UBIFS filesystem
ubifsls   - list files in a directory
ubifsmount- mount UBIFS volume
ubifsumount- unmount UBIFS volume
version   - print monitor, compiler and linker version


Ok use lan connect to 192.168.1.1

httpd

=> httpd

Web failsafe UI started
URL: http://192.168.1.1/

Press Ctrl+C to exit
mt7530 Waiting for port auto negotiation to complete.. TIMEOUT ! (ignored)


upload via web interface 
immortalwrt-ramips-mt7621-glinet_gl-mg1300-squashfs-sysupgrade.bin

root@GL-MG1300:~# cat /proc/cmdline
console=ttyS0,115200 rootfstype=squashfs,jffs2


git clone -b gl-mg1300 https://github.com/i-can-penguin/openwrt.git
cd openwrt


cp -r boards/ekh-mt7621 boards/gl-mg1300

nano boards/gl-mg1300/target_diffconfig
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt7621=y
CONFIG_TARGET_ramips_mt7621_DEVICE_glinet_gl-mg1300=y
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=1024
CONFIG_TARGET_ROOTFS_SQUASHFS=y
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_TARGET_ROOTFS_UBIFS=y

CONFIG_TARGET_PREINIT_IP="10.42.0.1"
CONFIG_TARGET_PREINIT_BROADCAST="10.42.0.255"
CONFIG_TARGET_DEFAULT_LAN_IP_FROM_PREINIT=y
CONFIG_PACKAGE_morse-board-config-hotplug-model=y
CONFIG_PACKAGE_luci-app-ekhwizards=y

CONFIG_PACKAGE_kmod-usb-storage=y
CONFIG_PACKAGE_block-mount=y
CONFIG_PACKAGE_kmod-morse=y
CONFIG_PACKAGE_netifd-morse=y
CONFIG_PACKAGE_morse-fw-8108=y
CONFIG_PACKAGE_morse-fw-8108-tlm=y
CONFIG_PACKAGE_morse-fw-8108-flm=y

CONFIG_PACKAGE_kmod-bluetooth=y
CONFIG_PACKAGE_bluez-libs=y

did try add kmod-spi-dev with make menuconfig

also tried adding these to config-6-6 but does not help...

CONFIG_MTD_SPI_NAND=y
CONFIG_MTD_UBI=y
./scripts/morse_setup.sh -i -E -b gl-mg1300

make -j3

but still have issue with using Morse Micro OpenWRT SDK to have spi nand support

Received the other English branded EU version this morning