With eMMC only half of RAM available

I have a weird problem with my new eMMC module. I’ve bought a 32 GB eMMC 5.0 Module (https://www.innet24.de/Makerspace/Single-Board-Computer/Rock-Pi/Rock-Pi-4-zbh-EMMC-5-0-32GB-passt-auch-fuer-ODroid::158777.html). I’ve flashed it successfully and it seems to work almost flawlessly with high read and write speed on the Rock Pi.

But every Distro-image I tried only had access to 2GB of the 4GB Memory when on eMMC. When I flash the exact same image to an SD card I have access to all of the 4GB RAM.

This is very weird in my eyes and I don’t understand what the type of storage has to do with the available memory.

Do you guys have experienced similar behavior, do you know how to get the rest of the memory to work?

Pls help.

Update: I have now magically all the 4GB available. I don’t know why, I just tinkered a bit around (wireless):

  • Removed every desktop environment related package to make it a minimal headless distribution
  • Installed a bunch of network crap (samba and stuff)
  • I ran armbian-config and install full firmware (I think this is what fixed it, though the 4GB didn’t showed up right after the restart)
  • I shutdown (shutdown -P now) the Rock Pi and moved it to its permanent place (wired connection)
  • I logged into ssh and it said magically 4GB now

Its possible that I forgot something. Its not dependent on the distribution, I also got only 2 GB on eMMC with the official Ubuntu server image.

I still don’t get it, when I flash a SD card with the same image it always has 4GB available.

Do you have serial console? If yes, you can paste the boot log in pastebin(https://pastebin.com/). The dram chip is initialized by the ddr.bin. Just wondering if there is any difference the maskrom load ddr.bin from uSD and eMMC.

Unfortunately I don’t have such a cable. Is there another way to get the boot log?

I ran sudo journalctl -b --no-pager >> boot.log to get some kind of Boot log, maybe this will help: https://pastebin.com/xDqbqmT9