I’m trying to add support for a no-name MT7620a router with a Marvell/ASR modem but I’ve been running into issues. I followed the developer guides and searched the commits but couldn’t find any for debugging. I’ve added the necessary modules for SquashFS, modem support, USB, and other stuff but every build ends up with a kernel panic. The logs don’t provide a clear indication of what’s causing the issue.
I even tried creating a minimal build with no additional modules or packages, but the kernel panic still occurs. Interestingly, I tested loading a few InitramFS images from a different MT7620A device, and it booted successfully. However, only the Ethernet interface was functional, and the device became noticeably warm after a few minutes.
Here are the boot logs:
Bytes transferred = 5202088 (4f60a8 hex)
NetBootFileXferSize= 004f60a8
Automatic boot of image at addr 0x80A00000 ...
## Booting image at 80a00000 ...
Image Name: MIPS OpenWrt Linux-5.15.167
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 5202024 Bytes = 5 MB
Load Address: 80000000
Entry Point: 80000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 128
Starting kernel ...
[ 0.000000] Linux version 5.15.167 (connor@DesktopPC-n3) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r24106-10cc5fcd00) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 Mon Sep 23 12:34:46 2024
[ 0.000000] Board has DDR2
[ 0.000000] Analog PMU set to hw control
[ 0.000000] Digital PMU set to hw control
[ 0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[ 0.000000] MIPS: machine is SmartInc Prodv1-9c
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, 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] Built 1 zonelists, mobility grouping on. Total pages: 32480
[ 0.000000] Kernel command line: console=ttyS0,57600 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=0007a12b
[ 0.000000] Readback ErrCtl register=0007a12b
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 118180K/131072K available (5545K kernel code, 604K rwdata, 1188K rodata, 3984K init, 215K bss, 12892K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 256
[ 0.000000] CPU Clock: 580MHz
[ 0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[ 0.000000] systick: enable autosleep mode
[ 0.000000] systick: running - mult: 214748, shift: 32
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[ 0.000002] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[ 0.015564] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[ 0.087785] pid_max: default: 32768 minimum: 301
[ 0.098134] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.112566] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.137859] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.157367] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.171078] pinctrl core: initialized pinctrl subsystem
[ 0.182909] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.199611] rt2880-pinmux pinctrl: there is not valid maps for state default
[ 0.230103] rt2880_gpio 10000600.gpio: registering 24 gpios
[ 0.241175] rt2880_gpio 10000600.gpio: registering 24 irq handlers
[ 0.256080] clocksource: Switched to clocksource systick
[ 0.268384] NET: Registered PF_INET protocol family
[ 0.278341] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.293544] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.310312] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.325636] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.340877] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.354896] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.367723] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.380659] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.394964] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.406216] PCI: CLS 0 bytes, default 32
[ 0.414170] rt-timer 10000100.timer: maximum frequency is 1220Hz
[ 1.118345] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[ 1.138677] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.150210] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 1.173468] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 1.187483] printk: console [ttyS0] disabled
[ 1.195936] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[ 1.215677] printk: console [ttyS0] enabled
[ 1.215677] printk: console [ttyS0] enabled
[ 1.232199] printk: bootconsole [early0] disabled
[ 1.232199] printk: bootconsole [early0] disabled
[ 1.259206] spi spi0.0: force spi mode3
[ 1.267833] spi-nor spi0.0: mx25l12805d (16384 Kbytes)
[ 1.278291] 5 fixed-partitions partitions found on MTD device spi0.0
[ 1.291001] Creating 5 MTD partitions on "spi0.0":
[ 1.300610] 0x000000000000-0x000000030000 : "bootloader"
[ 1.312975] 0x000000030000-0x000000040000 : "config"
[ 1.324507] 0x000000040000-0x000000050000 : "factory"
[ 1.336427] 0x000000050000-0x000000060000 : "kernel"
[ 1.347921] 0x000000060000-0x000000080000 : "rootfs"
[ 1.359599] mtd: setting mtd4 (rootfs) as root device
[ 1.369938] mtdsplit: no squashfs found in "rootfs"
[ 1.396195] gsw: setting port4 to ephy mode
[ 1.404709] mtk_soc_eth 10100000.ethernet: generated random MAC address 02:7e:43:78:d1:02
[ 1.421062] mtk_soc_eth 10100000.ethernet: mdio-bus disabled
[ 1.432576] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
[ 1.445265] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[ 1.462589] rt2880_wdt 10000120.watchdog: Initialized
[ 1.474730] NET: Registered PF_INET6 protocol family
[ 2.147991] Segment Routing with IPv6
[ 2.155426] In-situ OAM (IOAM) with IPv6
[ 2.163469] NET: Registered PF_PACKET protocol family
[ 2.173646] 8021q: 802.1Q VLAN Support v1.8
[ 2.184536] clk: Disabling unused clocks
[ 3.629999] mtk_soc_eth 10100000.ethernet eth0: port 4 link up (100Mbps/Full duplex)
[ 6.918012] Freeing unused kernel image (initmem) memory: 3984K
[ 6.929866] This architecture does not have kernel memory protection.
[ 6.942722] Run /init as init process
switch_root: can[ 7.609469] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
[ 7.627410] Rebooting in 1 seconds..
Does anyone have insights into what might be causing this or how I can debug it further?
Thanks in advance!