AR750s NAND Update Error

Using my trusty AR750S I am trying to flash a custom-built OpenWRT image. The image is based on stock 18.06 Monkey-patched with the files from the GLi source tree in order to provide proper NAND images and support.

Strange issue though. If my final UBI image ends up being larger than 16M, UBoot fails saying “Image file too big”. Flashing with a stripped down image less than 16M works properly, and I can see that it is indeed being written to NAND as after boot up root partition shows full 128Mb.

Is there any chance that there’s a bug in the UBoot uploader code that is blocking the update, or? I don’t see why there would be a reason to restrict a device with 128mb NAND flash to only loading images that are 16M or smaller?..

This seems definitely a bug. Let me bookmark this and submit a bug report.

Just to add more detail, I have confirmed this is definitely a U-Boot issue. The same larger firmware will flash to NAND just fine using sysupgrade from an existing NAND-booted system. Took a quick poke through the uboot source code just for curiosity and notice that the config/ar750s-ar71xx_generic.mk has:

MAKEOPTS_FLASH_SIZE=16
MAKEOPTS_ATH_DUAL_FLASH=1
MAKEOPTS_ATH_SPI_NAND=1
MAKEOPTS_ATH_SPI_NAND_CS_GPIO=6

I’m not very familiar with how uboot compiles, but since the only “size” ever stated is 16, I wonder if uboot is saying that is maximum for either NOR or NAND. Not sure how you would go about fixing it, but that seems like hard confirmation of what I’ve run into and noted above…

Hopefully it’s something easily fixed!