[Problem] Surface Pro4 BIOS doesn't detect replaced RAM correctly

maybe can go the other way. if the RAM information is stored in which EFI volumes in the BIOS region. only need to replace EFI volumes instead of the entire bios region. but which efi volumes is about RAM?

You can exchange the bios region but this doesn’t work too well since for these machines you loose information in NVRAM!

Not EFI volumes, NVRAM entries!The static parts are always identical!

Which line do you think is relevant? (Some ‘invalid’ entries are perfectly fine, normally)

Since the RAM is recognized when starting with an empty NVRAM (0 lines there!) it’s either a new entry / line which refers to the amount of memory, ot it’s an existing machine specific line with for example a ‘machine subtype variable’ which includes a certain amount of memory…

Sorry, because my native language is not English, I missed some words. I don’t know about NVRAM, remember where I saw this explained

I uploaded the original bios dumped from the surface pro 2 and also uploaded the modified one, I’m not sure if it was modified correctly, but it did work, except for bitlocker.If it’s just bitlocker, that’s not a problem, I can reinstall the OS.
original dumped:old-118.bin ~ pixeldrain
after modified:W25Q128 mainreplaceME.bin ~ pixeldrain

I do not know how long they can exist in the cloud storage, is there a good cloud storage recommended?A predecessor recommended using tinyupload.com, but it is no longer available

What i don’t understand now on this thread is being the title SURFACE Pro 4… you’re now uploading SURFACE PRO 2 files… do please keep separate threads for different devices.

Regarding Bitlocker - it’s a completely normal and very simple procedure to (have to) suspend Bitlocker for a bios update and resume afterwards. You should anyway have the recovery key stored somewhere!

You’ll find information about NVRAM in UEFI firmware in this forum and if you google it.

old118.bin you posted already, W25Q128 mainreplaceME.bin is from another type of machine, irrelevant here.

Again:
Please post a dump of the stock bios (UEFI_106_1281_768_ME_11_0_15_1003.bin) after some reboots. It’d be interesting to compare the original information in your own bios with all machine specific information and what get’s written / rewritten if you start with an empty NVRAM!

this is dumped from surface pro 2.The first upload was for the surface pro 4

Stay on focus, please.

Because the EC was short-circuited when the motherboard was removed, I had to buy the chip online and replace it in the next weekend before I could continue

Let’s hope this isn’t a dead end!

You might want to try out this firmware image: 2.zip (5.8 MB)

Good luck.

After nearly a year, I accidentally bought the parts to replace the damaged one, but now I can’t write the image into the chip using the CH341A programmer, always getting the message “Chip with the contents are in disagreement.” I used which version of the programmer to read and finalize the code? I forgot.

@lfb6 bro ,i have upload the bios file ‘after-some-reboots(install win10 os)UEFI_106_1281_768_ME_11_0_15_1003.bin’ whitch is ([UEFI_106_1281_768_ME_11_0_15_1003.bin]) after some reboots. Exactly I reinstalled Windows 10 and rebooted the system a few times before dumped this file .

After several attempts, I have successfully read and written to the BIOS using version 118 of the CH341A program. the file 2.bin you modified is still no touch function. I found that press the volume up and power on keys to enter the BIOS Settings, if the firmware version of touch to show 00000, it means that the touch function is lost. I write the most original BIOS file(Before all modifications and memory upgrades) back to the chip that it will back to normal touch function, but can not Correctly recognize the upgraded RAM capacity.

Here are the images when the touch function is correct:
picture

That was more than 4 months ago, so I deleted the files on my machine. I’d need the files from your post #13 again, the links are no longer valid.

@lfb6 OK. old118.bin is the original official bios file whitch dumped before i upgrade the ram .UEFI_106_1281_768_ME_11_0_15_1003.bin is a common BIOS file that was released by someone on the Internet and claimed to be from Microsoft’s factory. But obviously it can’t write directly to the computer, it will lose the touch screen function, ‘touch firmware version’ will display 0000000, and it will take a long time to boot.

That’s the correct version of the touch firmware in NVRAM:

old118.bin - TouchSystemVersion in NVRAM

image

after-some-reboots(install win10 os)UEFI_106_1281_768_ME_11_0_15_1003.bin - TouchSystemVersion in NVRAM
image

It’s unclear to me why a wrong version is detected and if correcting this value would solve the touch- problem…I couldn’t find the displayed version anywhere in the updates as version number.

Are you sure that only 0000000 is displayed but not the slightly different wrong firmware version (2.429.0.1.113.0)?

i am sure that only 0000000 is displayed. And it’s worth mentioning that when I installed the the Microsoft Surface driver package could not be installed because it recognized that the device was not a Surface device after I flash the bios file modified.

You mean ‘after-some-reboots(install win10 os)UEFI_106_1281_768_ME_11_0_15_1003.bin’ or ‘UEFI_106_1281_768_ME_11_0_15_1003.bin’?

This bios had an empty NVRAM when flashed, the necessary entries got created but were filled with dummy information

Wait with flashing 021024a, there might be an entry I didn’t include, will check that later!

Both of them will cause Microsoft drivers not to recognize the device as a surface pro 4.

Try that one- that’s your own bios region from old118.bin with the two memory entries made invalid. Should be able to re- recognize the memory properly.

031024e.zip (5.8 MB)