Repository navigation
Why does this update break the boot process? (The "RAM Swap" Theory) #1
MH-Bagheri
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
If you are wondering why your Raspberry Pi 5 suddenly threw a 9-blink SDRAM error after a routine update, you likely have a board with modified, aftermarket RAM. Here is the breakdown of what is happening under the hood:
1. The Global RAM Shortage
Due to the ongoing global memory supply shortage (driven heavily by AI infrastructure demands), the cost of high-capacity LPDDR4 memory has skyrocketed. This has made genuine 4GB and 8GB Raspberry Pi 5 boards more expensive and harder to find.
2. Unauthorized "Grey Market" Modifications
To get around the shortage, some unauthorized third-party sellers have been buying cheaper 1GB or 2GB Pi 5 boards, desoldering the factory RAM, and manually soldering on uncertified or salvaged higher-capacity RAM chips. They then sell these as official high-capacity models.
3. The EEPROM Update Trap
These modified boards work perfectly fine out of the box using older bootloader firmware. However, recent EEPROM updates (specifically versions released from September 2024 onward) introduced stricter hardware validation:
OTP Mismatch: The new firmware checks the Pi's One-Time Programmable (OTP) memory. If the factory OTP is hardcoded for a 2GB board, but the firmware detects an 8GB chip, it triggers a hardware fault.
Strict Timings: The newer bootloaders have tighter memory initialization timings. Second-hand or uncertified RAM chips often fail to meet these tolerances.
When the new EEPROM detects these anomalies, it immediately halts the boot sequence and flashes the green LED 9 times --- the official diagnostic code for SDRAM failure.
Why the workaround fixes it
By rolling back to an older EEPROM version and masking the
rpi-eeprom-updateservice, you are forcing the Pi to rely on the legacy bootloader. The older firmware is much more lenient, ignores the OTP mismatch, and allows the aftermarket RAM to initialize normally.All reactions