Cannot do a sys upgrade, not enough free RAM

Hi!

I have a router that uses a Qualcomm IPQ5010 SoC (256Mb of RAM, 128 MB NAND)
I have a custom build OpenWRT .img and everything works.
BUT

I can only flash the .img using a USB to serial port adaptor, stopping the boot process and use uBoot to load the .img via TFTP server and burn the image with a uBoot command.

But once I deploy the devices, I will no longer be able to disassemble them to upgrade them this way,

I have LuCI installed, and I have tried to do a sysupgrade this way. The system has just enough free ram for the .img to load (32Mb), but fails to upgrade with a "not enough free memory" error.

In the https://openwrt.org/docs/guide-user/installation/sysupgrade.cli it suggests removing the wifi modules, but my OpenWRT installation is in a squashFS read only partition.

Does anyone have any suggestions on how to to a susupgrade via CLI or LuCI, on a system that has 256Mb of RAM, but that most is taken up by the WiFi6 drivers/system?

Thank you,

Roy

a 32MB image file is fairly large (it's fine, but I find it hard to believe that you have ~128MB+ taken up by just wifi 6 drivers)... what other services do you have running on your router? Maybe you could stop a few of the extra services to free up enough ram for sysupgrade to work (keep this in mind for devices in the field, too).

1 Like

It appears you are using firmware that is not from the official OpenWrt project.

When using forks/offshoots/vendor-specific builds that are "based on OpenWrt", there may be many differences compared to the official versions (hosted by OpenWrt.org). Some of these customizations may fundamentally change the way that OpenWrt works. You might need help from people with specific/specialized knowledge about the firmware you are using, so it is possible that advice you get here may not be useful.

You may find that the best options are:

  1. Install an official version of OpenWrt, if your device is supported (see https://firmware-selector.openwrt.org).
  2. Ask for help from the maintainer(s) or user community of the specific firmware that you are using.
  3. Provide the source code for the firmware so that users on this forum can understand how your firmware works (OpenWrt forum users are volunteers, so somebody might look at the code if they have time and are interested in your issue).

If you believe that this specific issue is common to generic/official OpenWrt and/or the maintainers of your build have indicated as such, please feel free to clarify.

ipq50xx is not supported by OpenWrt so far -and devices with less than 256 MB RAM and ath11k 'never' will be-, please contact your Qualcomm representative for any questions about their QSDK.

1 Like

Hi!

Yes, that's what I was thinking.
I want to 'kill' the wifi drives as suggested in :

section:
" Low memory workarounds: /tmp is too small to hold the downloaded file"

I just can't find a reference on how to do it,

Thank you!

You can only fix insufficient amounts of RAM with more RAM.

Hi!

In LuCI, under the memory tab I have:

Of all the Used space, I can only account for 53Mb when I run top.

Thank you!

HI,

Well, I fixed the issue. I disabled wifi, rebooted and now have 100Mb of free RAM