Hello, I’ve been looking at this forum and other things all day, as I decided to finally try to fix an issue I’ve had with my Ryzen 4500u laptop for a few years. I replaced the normal CL22 ram with double the amount of CL18 ram, which was quite nice and the speed boost from the better timings was noticeable. However, the SPD on the ram is broken now, so the RAM is back to running at CL22 (the laptop is just set to a “default” setting, I saw the options in the UEFI dump), and I need to be able to forcefully change the memory timings to use it at the designed speed. I’ve found the addresses for the memory timing variables in my bios but it seems to be EFI write protected (I tried using modgrubshell), and I’m unsure what to do when it comes to making a modded bios and flashing that (if such a thing can even be done on this). All I really want is to be able to use the right timings.
By downgrading to BIOS f.15, I was able to change EFI variables, and the changes do stick, however, it seems to be ignoring the ones I’m setting for memory timing.
Are entering memory timings as numbers, not hexadecimals? When I changed my laptops memory from stock 2400MHz to 3200MHz+primary timings, I needed to use hexas to make them work. Basic numbers where invalid.
I am using hexadecimal values, stuff like [setup_var_cv AmdSetup 0x59 0x01 0x2B]. When I looked at the UEFI in UEFITool, it gave a nice list of memory clock speeds. I chose 3000MHz (the default is 3200MHz) to try to verify if the changes were working, but it was still 3200MHz with the CL22 timings.
You could try UniversalAMDFormBrowser or similar tool SmokelessRuntimeEFIPatcher. If you find those. Also you may found also other settings.
But why setup var is not working I cannot tell. I have tried it couple of times on different project and results where nothing.
Also which bios you have in your laptop Ami or Insyde? SmokelessRuntimeEFIPatcher and UniversalAMDFormBrowser only show setup options from Ami bios. Insyde just shows boot devices and such.