Xiaomi Redmi AX6000 24.10 rc2->rc4 owut/upgrade problem

Hi Folks !

I originally posted this here: Owut: OpenWrt Upgrade Tool - #354 by ozbenh but it was suggested I open a new topic so here it is.

TL;DR, generating a 24.10 rc4 update image for my AX6000 running rc2 results in an image that, while it looks valid, doesn't actually result in an upgrade of the router when fed into sysupgrade.

Details:

root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "BL2"
mtd1: 00040000 00020000 "Nvram"
mtd2: 00040000 00020000 "Bdata"
mtd3: 00200000 00020000 "Factory"
mtd4: 00200000 00020000 "FIP"
mtd5: 07a80000 00020000 "ubi"

root@OpenWrt:~# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mtdblock0    31:0    0     1M  1 disk
mtdblock1    31:1    0   256K  0 disk
mtdblock2    31:2    0   256K  0 disk
mtdblock3    31:3    0     2M  1 disk
mtdblock4    31:4    0     2M  1 disk
mtdblock5    31:5    0 122.5M  0 disk
ubiblock0_3 254:0    0    11M  0 disk
fit0        259:0    0   5.5M  1 disk /rom

root@OpenWrt:/tmp# cat /proc/cmdline
console=ttyS0,115200n8 console_msg_format=syslog root=/dev/fit0 rootwait

root@OpenWrt:/tmp# sysupgrade --test -v /tmp/openwrt-24.10.0-rc4-b493cdd71979-mediatek-filogic-xiaomi_redmi-router-ax6000-ubootmod-squashfs-
sysupgrade.itb
root@OpenWrt:/tmp# echo $?
0
root@OpenWrt:/tmp#```
  • There is no error from sysupgrade, the router reboots as expected by simply comes back with my -rc2 image. It's my existing image, not something else, as some packages I had installed with opkg such as lsblk are still there. It simply doesn't do anything.

The same thing happens wether I run owut upgrade, owut download followed by sysupgrade, download of the image above with sysupgrade etc...

Is there any way to have sysupgrade leave some logs somwhere in flash ? I don't have a serial port hooked up to this router.

Additional info: when I created the ubi volumes following the instructions, I did create a recovery volume. Here's my ubi layout:

root@OpenWrt:~# ubinfo --all
UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:127
Present UBI devices:            ubi0

ubi0
Volumes count:                           5
Logical eraseblock size:                 126976 bytes, 124.0 KiB
Total amount of logical eraseblocks:     980 (124436480 bytes, 118.6 MiB)
Amount of available logical eraseblocks: 0 (0 bytes)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  20
Current maximum erase counter value:     2
Minimum input/output unit size:          2048 bytes
Character device major/minor:            250:0
Present volumes:                         0, 1, 2, 3, 4

Volume ID:   0 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        2 LEBs (253952 bytes, 248.0 KiB)
State:       OK
Name:        ubootenv
Character device major/minor: 250:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        2 LEBs (253952 bytes, 248.0 KiB)
State:       OK
Name:        ubootenv2
Character device major/minor: 250:2
-----------------------------------
Volume ID:   2 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        83 LEBs (10539008 bytes, 10.0 MiB)
State:       OK
Name:        recovery
Character device major/minor: 250:3
-----------------------------------
Volume ID:   3 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        91 LEBs (11554816 bytes, 11.0 MiB)
State:       OK
Name:        fit
Character device major/minor: 250:4
-----------------------------------
Volume ID:   4 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        776 LEBs (98533376 bytes, 93.9 MiB)
State:       OK
Name:        rootfs_data
Character device major/minor: 250:5
root@OpenWrt:~#

Same observations on the Xiaomi Redmi AX6000 as well: sysupgrade does not work on OpenWrt 24.10.

Related GitHub issues: https://github.com/openwrt/openwrt/issues/17795