The router should have 512MB of RAM but on /proc/meminfo they are only 215.38MB
MemTotal: 220552 kB
MemFree: 32760 kB
MemAvailable: 104640 kB
In the hardware page, there is also the kernel log, which matches mine, and it says:
[ 0.000000] Memory: 219528K/229376K available (4978K kernel code, 160K rwdata, 756K rodata, 1024K init, 235K bss, 9848K reserved, 0K cma-reserved, 0K highmem)
On the label mine is D78000 but it also says X4S. I can take a picture of the label and post it somewhere if that helps.
Also happy to try some kernel or if you think I could load the R7800 image and see what happens. Not really using the ADSL modem anyway, which I think it is the only difference between the two.
I would only load R7800 firmware over serial into RAM to see if it works and showing full RAM. Do not try to force install! In best case it would fail and doing nothing in worst case partition layout would get destroyed (if different; this is likely the case) and important calibration data will get lost.
What you could do is installing the latest snapshot (for D7800 ofc) and see if things are changing.
The bootlog which is in wiki page makes me still thinking that there are either different versions/revisions around (including wrong datasheets linked by Netgear) or it is "normal" for this device (as the modem needs ram also; the amount of RAM available makes me thinking this).
I think the datasheet is right, at least some if not all production units of the D7800 have 512MB RAM. I've been running an adapted version of hnyman's R7800 build on mine for over half a year which uses 512MB. So far it's been running without any issues which surely wouldn't be the case if half its memory didn't really exist.
The amount of memory shown in the bootlog doesn't prove anything because the firmware can't access more RAM than it was compiled for. Since only 256MB are specified in target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts that is what you get.
There was a thread like this long time ago.
I have a D7800 BETA Device which has only 256 MB RAM.
After Release and some support in OpenWrt someone changed the dts to 512 MB Ram. This was an issue for my beta device as it didn‘t worked with the build. But ok mine is a beta and released version is 512MB. So ok for me.
After some kernel upgrades in the OpenWrt target i think, someone restored the mainline kernel dts i think and there is still 256MB defined.
still can‘t find the old thread ...
You can distinguish this while running the stock firmware and navigating to /debug.htm, that's how I confirmed my device actually had 512MB of RAM, I then applied an edit to the DTS (copied the R7800 memory definition) as part of a source build which seems to be working well.
Not knowing how they have been determined it is only speculation on my part but I noticed in target/linux/ipq806x/image/Makefile (19.07 branch checkout) that the NETGEAR_HW_ID values listed against each of the R7500, R7500v2 & R7800 appear to have encoded the amount of RAM that matches the respective DTS files, while the D7800 value has "512" rather than the "256" that might be expected if it had only 256MB of RAM the same as the R7500: