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

031024e.zip can recognize the correct memory capacity and also display the correct touch firmware version, but there is still no touch screen function.


There are some differences in the device Manager list.


I have tried to reinstall the surface system image or reinstall the Microsoft surface driver package after writing 031024e. but It didn’t work.

OK, thanks,

What does ‘didn’t work’ mean- did it not install or did it not recognize the Surface machine or did it not solve the touch?

If you still have 031024e installed, could you run an
MEInfoWin64 > MEI.txt and an
MEInfoWin64 -verbose > MEIv.txt
and attach both textfiles? Thanks in advance!

Then you can use this file, touch should still work and memory should get recognized correctly, too.

old118_mem.zip (6.0 MB)

If everything works with old118_mem.bin, please run both commands again and attach the text- files.

for 031024e.zip it mean no touch funtion.for old118.bin it mean Incorrect memory capacity.

I learned from some information on the Internet that the machine older than surface pro 5 does not need to modify the BIOS when replace the memory, and the device will automatically recognize it. There is a saying that the memory chip information I used does not exist in the BIOS. Using the hexadecimal tool, you can see the text about the model of several memory chip in the BIOS file dumped . I only know the code mark of the memory chip I use, and have not tried how to add the corresponding information to it

great job ,Everything works except that it seem to have lost the WINDOWS system activation information. I can deactivate with other activation tools


031024e-MEINFO

old118-memery-MEINFO

1 Like

Thanks a lot for the feedback and the MEInfo- output.

Regarding the activation- this information is unchanged in NVRAM, maybe the changes in memory and the time you didn’t have this information and/or machine information (when trying UEFI_106_1281_768_ME_11_0_15_1003.bin) a ‘new hardware’ trigger was set? The stored code is a Windows 10 code, so it should still work.

Thanks a lot for the ME- output, that’s the first time I could get some more information regarding the ‘Surface 4 touch disappeared after cleaning ME thing’.
The missing setting is definitely in the ME / a ME capability. But there’s no setting for this and even if I try to use an older FIT for disassembling (actually the version which was used to build the ME in old118,bin) I can’t find a corresponding setting regarding neither in FIT itself or in the xml- config file which can be saved.

EDIT:

Well, there’s 2 entries for memory in NVRAM, either delete them or make them invalid (change 3F to 3C at 0x02 of the entries header). If the system finds these two it works with them, if it doesn’t these entries seem to get recreated.

So the last usable file (old118 mim.zip) was modified using this method on the basis of old118.bin, right?If it is not the above method but very complicated, can you help to modify these two BIOS files dumped from surface pro 4? They’re all for the 8G ram upgrade .Because I have two other surface pro 4 processors I5 and M3 in the warehouse somewhere, where the I5 has upgraded the memory and also has touch problems. The M3 has not yet bought the memory chip for update. I’ll find them out and refine them when I have time.
this dumped from pro 4-i5

this dumped from pro 4-M3

Thank you for your great job!! :+1: :+1:

You’re welcome!

But are you sure that 134-128FV is a good read? It’s pretty corrupted after 0x800000! If that’s really the bios- region the machine shouldn’t be able to boot.

Left side normal Surface Pro 4- see the errors in the parser?

Is 134 the version of the ch341 software? Remember having problems with 1.29(?) reading and writing 128MBit chips, changed to Asprogrammer for those.
.

118-BV_mem.zip (5.9 MB)

That’s the good looking file, just made the two NVRAM entries invalid:

According to information in NVRAM both machines should have touch firmware 1.107.3.106.8.6 ??

yes, 134 is the version of the ch341 software. I may have forgotten this at the time. I recently made the same mistake and finally found that version 118 can read and write properly. Maybe the BIOS file read out at that time is bad, then leave it alone,i will read again when i find the m3-pro 4 out later.

It’s quite possible. because they should all have updated their drivers during use

Would you please try one thing on a machine with working touch:

Run from Intel tools in the ddirectory Clock Commander Tool\WIN32

cctWin.exe gm

= > gm - Get Chipset Init Settings

Post / attach a screenshot of the output

Syntax

Intel (R) Clock Commander Tool Version: 11.8.86.3877
Copyright (C) 2009 - 2021 Intel Corporation. All rights reserved.

usage:
cctWin.exe [options] command [arguments]

Available options:
/v0 - Verbose level 0 (default mode, smallest amount of information).
/v1 - Verbose level 1 (debug). Includes raw MEI messaging.

Available commands:
gl - Get Lock
sr - Set ICC Record
gr - Get ICC Record
gcc - Get ICC Clocks Capabilities
gcdr - Get Clock Range Definition Record
sl - Set Lock
gp - Get ICC Profile
sp - Set ICC Profile
gc - Get ICC Clock Settings
sc - Set ICC Clock Settings
gm - Get Chipset Init Settings
sm - Set Chipset Init Settings

To get help on specific command, use “cctWin.exe command ?”

I’m just curious, it doesn’t look like Intel had a specific FIT tool to enable touch / change the FW Capabilities, so how did they do this…

EDIT:
Seems like the correct way might be FPT here.

Please try in addition
fptw64 -vars > vars.txt and attach vars.txt

If you find a variable “Intel(R) Precise Touch Technology Supported” please run in addition
fptw64.exe -R “Intel(R) Precise Touch Technology Supported”
an post the result!
(If vars,txt doesn’t contain the precise terms, please use replace the terms between " " with the term you found in vars.txt)

Please do the same for
fptw64.exe -R “FeatureShipState”

Thanks in advance!