// ITS FOSS — LINUX & OPEN SOURCE
Raspberry Pi Disallows RAM Upgrades to Fight Fraud, Does it Make Sense?
Something that flew under the radar a while back is getting attention again. A post on the r/selfhosted subreddit reminds us that the Raspberry Pi 5 will refuse to boot if it detects RAM that doesn't match the memory configuration recorded at the factory.
The behavior traces to a firmware update that many in the community have identified as the 2024-09-23 build, which went out with a very dry release note that said:
You can see the lack of a point about locking out unapproved memory here.
When a Pi 5 boots with the firmware at or beyond the threshold (basically 2024-09-23 or later), it checks the installed RAM against a configuration stored in the SoC's OTP memory.
A mismatch throws "code 9," listed as an "SDRAM mismatch," and the board refuses to go further. It isn't just a capacity check either. Even RAM of the same size from another Pi 5 board can trigger the error if it doesn't match other device attributes recorded in OTP.
A few months ago in June, another tinkerer had done something similar, trying to upgrade the RAM on their CM5 from 2GB to 4GB, posting the issues he faced on the official Raspberry Pi forum.
After some back and forth that included the issue poster and two engineers from the Raspberry Pi team, the company's stand was that swaps between different RAM capacities are intentionally blocked.
Same-size swaps from another board aren't guaranteed to work either, since the firmware records additional device attributes beyond just the capacity figure.
One of the engineers, Tim Grovers (timg236), noted that swapping an identical part-code chip for repair is still possible for someone sufficiently skilled, but the growing number of RAM SKUs the Raspberry Pi now supports means timing and configuration parameters will vary per device.
Simply speaking, this is meant to tackle hardware-associated fraud scenarios where a low-capacity board gets cheap, untested RAM from a third-party source soldered in, then gets resold as a higher-capacity model.