ZTE MF286A initramfs kernel panic during installation

Hi,

I have the following problem:
I've been trying to install OpenWRT to replace the official (latest DNA Finland) software, but the system never makes it to the end if I boot to normal mode, for example with 21.02:

[   10.045711] NET: Registered protocol family 24
[   10.155147] Data bus error, epc == 802eed0c, ra == 86ca32b8
[   10.160909] Oops[#1]:
[   10.163258] CPU: 0 PID: 756 Comm: kmodloader Not tainted 5.4.238 #0
[   10.169721] $ 0   : 00000000 00000001 deadc0de 86ce1cb4

This is just a couple of seconds after the pause for failsafe mode and debug levels. If I go to failsafe mode, the system stays up and running but I can't install anything while there's no Ethernet etc.

If I change the load address from 0x82000000 to something else, the values after epc, ra and deadc0de do change. If I change too much or to wrong direction, I get LZA decompression error in the beginning.

The problem is repeatable, so If I keep everything the same, it always crashes with the same values. From release to release there is difference, but even the smallest image I found (22.03.0, 5828359 bytes) seems to be too much.

Sidenote: this machine had only 12 partitions, the last one (mtd11) is the largest - 50 MB

What should I try next?

j.ext

Hi, meanwhile I was able to solve the kernel panic issue by compling my own image.

But now I do have another problem: after initramfs is up and I download the squashramfs image to tmp, then start the upgrade. The system says "sysupgrade successful", but the upgrade never wakes up - I just get to the emergency bootloader waiting for tftpboot from 192.0.0.1 If I load the initramfs image and try again, the result is the same.

During the initramfs operation I do get two comments about "bad cell count" on flash:

spi0.0 mx25l1606e (2048 Kb)
 Creating 3 MTD partitions on "spi0.0":
[    0.845348] 0x000000000000-0x0000000a0000 : "u-boot"
[    0.860297] 0x0000000a0000-0x0000000c0000 : "u-boot-env"
[    0.869850] 0x0000000c0000-0x000000200000 : "reserved1"
[    0.892261] spi-nand spi0.1: Winbond SPI NAND was found.
[    0.897770] spi-nand spi0.1: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.906326] 6 fixed-partitions partitions found on MTD device (null)
[    0.912935] Creating 6 MTD partitions on "(null)":
[    0.917888] 0x000000000000-0x0000000a0000 : "fota-flag"
[    1.293271] 0x0000000a0000-0x000000120000 : "art"
[    1.300173] OF: Bad cell count for /ahb/spi@1f000000/flash@1/partitions
[    1.307315] 0x000000120000-0x0000001a0000 : "mac"
[    1.319818] OF: Bad cell count for /ahb/spi@1f000000/flash@1/partitions
[    1.327049] 0x0000001a0000-0x000001800000 : "ubiconcat0"
[    1.654936] 0x000001800000-0x000001c00000 : "kernel"
[    1.673943] 0x000001c00000-0x000008000000 : "ubiconcat1"

[    5.653759] Concatenating MTD devices:
[    5.657651] (0): "ubiconcat0"
[    5.660765] (1): "ubiconcat1"
[    5.663831] into device "ubi-concat"
[    5.667557] 1 fixed-partitions partitions found on MTD device ubi-concat
[    5.674496] Creating 1 MTD partitions on "ubi-concat":
[    5.679828] 0x000000000000-0x000007a60000 : "ubi"
[    5.694208] UBI error: no valid UBI magic found inside mtd9
. . .

root@OpenWrt:~# sysupgrade -n /tmp/openwrt-23.05.4-ath79-nand-zte_mf286a-squashfs-sysupgrade.bin 
Thu Jan  1 00:05:37 UTC 1970 upgrade: Commencing upgrade. Closing all shell sessions.
Watchdog handover: fd=3
- watchdog -
Watchdog did not previously reset the system
Thu Jan  1 00:05:38 UTC 1970 upgrade: Sending TERM to remaining processes ...
Thu Jan  1 00:05:42 UTC 1970 upgrade: Sending KILL to remaining processes ...
[  348.383579] stage2 (1986): drop_caches: 3
Thu Jan  1 00:05:48 UTC 1970 upgrade: Switching to ramdisk...
Thu Jan  1 00:05:51 UTC 1970 upgrade: Performing system upgrade...
verifying sysupgrade tar file integrity
Unlocking kernel ...

Writing from <stdin> to kernel ...     
[  353.097200] ubi0: attaching mtd9
[  354.741893] ubi0: scanning is finished
[  354.746054] ubi0 error: ubi_read_volume_table: the layout volume was not found
[  354.754313] ubi0 error: ubi_attach_mtd_dev: failed to attach mtd9, error -22
ubiattach: error!: cannot attach mtd9
           error 22 (Invalid argument)
ubiformat: mtd9 (nand), size 128319488 bytes (122.3 MiB), 979 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 954 -- 11 % complete  
ubiformat: forma[  358.886955] ubi0: attaching mtd9
ubiformat: formatting erasebloc
[  361.671613] ubi0: scanning is finished
[  361.711139] ubi0: attached mtd9 (name "ubi", size 122 MiB)
[  361.716842] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[  361.723989] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[  361.731016] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[  361.738208] ubi0: good PEBs: 979, bad PEBs: 0, corrupted PEBs: 0
[  361.744428] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128
[  361.751901] ubi0: max/mean erase counter: 0/0, WL threshold: 4096, image sequence number: 70630622
[  361.761164] ubi0: available PEBs: 955, total reserved PEBs: 24, PEBs reserved for bad PEB handling: 20
[  361.770811] ubi0: background thread "ubi_bgt0d" started, PID 2709
UBI device number 0, total 979 LEBs (124309504 bytes, 118.5 MiB), available 955 LEBs (121262080 bytes, 115.6 MiB), LEB size 126976 bytes (124.0 KiB)
[  361.888829] block ubiblock0_0: created from ubi0:0(rootfs)
[  361.894576] ubiblock: device ubiblock0_0 (rootfs) set to be root filesystem
Volume ID 0, size 36 LEBs (4571136 bytes, 4.3 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1
Set volume size to 116690944
Volume ID 1, size 919 LEBs (116690944 bytes, 111.2 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs_data", alignment 1
Unlocking kernel ...

Writing from <stdin> to kernel ...     
sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
[  368.501026] reboot: Restarting system

Should the "ubiconcat0" and "ubiconcat1" be continuous, next to each another? Now it seems like the kernel is between them?

OK, got it working. This unit seems to like the MF286 partitioning scheme better than MF286A, although it clearly is A-model. Thanks.

1 Like