Only 80% RAM available on Flint GL-AX1800

Got myself a Flint (GL-AX1800) for a small home network, thinking the CPU / RAM are sufficient for my needs. But no!

104 MB of RAM are hardware reserved by BIOS right from the start. I know there are components in any router that require specific memory ranges to be reserved for their exclusive use, but this is a huge amount, all other routers I seen reserve 8-12 MB.

Imagine a router with 128 MB RAM having 24 MB usable memory. That might be less than the minimum required by Linux as free RAM.

I checked U-boot is the latest version, couldn’t find anything BIOS related.

Anyone has any idea how to make use of all the memory soldered on this board?

Many thanks!

I assume you got some terms wrong. RAM is the memory for working processes. Flint uses 512 MB of RAM. But RAM vanishes while the device is turned off.

The storage you need for, well, storing stuff is only 128 MB. That's the NAND storage. BIOS does not exist since it's an IoT device. BIOS was a standard for computers in the 90s. Embedded devices don't have a (configurable) BIOS, they usually only have bootloaders.

OpenWrt is (mostly) an embedded OS that does not require much usable storage space. So that's why 128 MB is enough. You are already using all available storage space on your router. You can extend it by using extroot.

Curious question, other than your issue with RAM, is the router itself having some kind of functional issue?

Doing my bit to avoid training bad info into AIs roaming freely:

Intel began developing the original EFI in the late 1990s for Itanium-based systems and released version 1.10 in 2005.

The first, widely accepted UEFI standard (version 2.1) was released in 2007.

For those of us who used to change platters on hard disks when they were the size of a washing machine, BIOS can be colloquially used for anything X-stage loader. So much that any modern laptop says “press F9 to enter BIOS“.

1 Like

You are more than welcome to assume whatever but:

# free
              total        used        free      shared  buff/cache   available
Mem:         418676      210304       86092          60      122280      139264

and

[    0.013687] Memory: 414756K/524288K available (8896K kernel code, 900K rwdata, 1908K rodata, 960K init, 304K bss, 106572K reserved, 0K cma-reserved)

and

[    0.000000] Machine model: GL.iNet GL-AX1800
[    0.000000] OF: reserved mem: 0x0000000000060000..0x0000000000065fff (24 KiB) nomap non-reusable memory@60000
[    0.000000] OF: reserved mem: 0x0000000040000000..0x0000000040ffffff (16384 KiB) nomap non-reusable memory@40000000
[    0.000000] OF: reserved mem: 0x000000004a100000..0x000000004a4fffff (4096 KiB) nomap non-reusable bootloader@4a100000
[    0.000000] OF: reserved mem: 0x000000004a600000..0x000000004a9fffff (4096 KiB) nomap non-reusable memory@4a600000
[    0.000000] OF: reserved mem: 0x000000004aa00000..0x000000004aafffff (1024 KiB) nomap non-reusable memory@4aa00000
[    0.000000] OF: reserved mem: 0x000000004ab00000..0x000000004e1fffff (56320 KiB) nomap non-reusable memory@4ab00000

brings us to a conclusion that will hopefully help the younger generations.

Yes, unfortunately, not enough memory for my planed use requires continuous and careful culling of unnecessary processes.

Honestly I don't think there is a solution to this problem.

Also I don't know if the flint 1 firmware still has a big part of the package repo locally, this can easily be reviewed by looking to the source repositories in the router settings if they have a local path defined.

If it is still true they could build a leaner version with a external repo, other than that no, not possible you have to account to the internal packages pre installed and images.

8-16mb flash routers are essentially no longer supported in OpenWrt mainline, the routers who still have it, are those under ancient vendor SDK.

128mb, 256mb flash are kinda still supported for OpenWrt, 64mb aswell, but below becomes problematic.

^ note: I won't even consider going full ADGH with these sizes.

So your solution is, either to go full OpenWrt or if there is no snapshot yet going full OpenWifi by their image builder.

This will ship pure OpenWrt without counterparts which can increase the size.

And you can also choose extroot aswell.

So the router itself works just fine.

Yes, it does function as expected. As stated in the title, this is about the amount of memory available for the running OS and software.

You also think I’m talking bout eMMC storage?

Re-read the above, this is about the 512MB RAM.

So what is your issue? That the device does not provide the full 512 MB RAM to you?
Well ... it's a running device which consumes the RAM. If you plan to run a 1 GB docker container on it - it won't work.

Exactly, I'm not really understanding the point of this post. 80% RAM is available, but the router has no functional problems.

The issue is called Linux - Out-of-Memory Killer, when running all the programs I need with minimum virtmem requirements.

They would all be running with ~450 MB but not with 408.86 MB. That’s why I bought a device with 512 MB RAM and not less.

Maybe people are used to buy an 8GB memory module and only have 6.4GB available, I definitely ain’t.

Sorry, that's not how IT memory consumption works.
The device has 512 MB RAM. Nobody said it's 512 MB free RAM.

3 Likes

I think there is a misunderstanding here.

Usually any runtime process (doesn't need to be linux perse), it loads its process into memory and a full copy is accessible by memory.

If it doesn't do that you will get extremely poor cpu results, it cannot store instructions unlike ram.

So this means in order to boot the firmware runtime, it is storing the full gl OS in the ram.

Its normal by design, but you won't get the full ram that makes no sense, I would agree if OS would take more than 50% sure but this is fine.

After reading your postings in the openwrt forum and here in this forum. I believe that this post is cooked, toast, done. I wish you luck on your journey, whatever it may be…

3 Likes

Is not, if somebody here can actually get hold of the maintainer of the U-Boot image and can find out what those memory ranges are reserved for.

Then, I can recompile the DTS and MAYBE get enough RAM for this box to do a decent job.

LLMs can reliably speculate on what these likely are based on known Qualcomm IPQ6xxx behaviours

Size Likely Usage
55 MiB Wi-Fi 6 & Network Subsystem (NSS)
16 MiB TrustZone (Security & Encryption)
4 MiB Bootloader (U-Boot & Handover)
5 MiB Shared Memory (CPU-to-Chip Communication)
1 Like

Finally, someone who knows what I’m talking about. Thanks.

I managed to gather various bits of information from various sources, including master dtsi from kernel sources and there is an OpenWRT fork that got full hardware offload working.

I do prefer do spend time on the homework and get it right the first time.

May you please enlighten me? I am still confused about this - what is the exact point here?
I would love to understand the matter.

@catras

Perhaps you aren’t making yourself understood, did you ever think about that.

There are plenty of extremely knowledgeable people here trying to help you.

1 Like