Help with reverting/repairing CSME of Dell XPS 15 9560

Hello,
I’m trying to revert to an older build, as I believe Intel (or well… Dell) did an F job and ruined my XPS15 9560.
It takes about 30–40 seconds to show the Dell post logo and another 30–40 seconds to load the bootloader (so that the OS can start up).

I first tried to flash the current version (11.8.86.3877):

.\FWUpdLcl64.exe -oemid 68853622-EED3-4E83-8A86-6CDE315F6B78 -VERBOSE -F .\11.8.86.3877_SLM_H_DA_PRD_EXTR.bin -allowsv

But I get the error Error 8771: Invalid File.

I tried other versions of the 1.5MB 11.8 firmwares and none seem to want to continue on my Kaby Lake laptop.

I tried reinstalling the older 1.18.0 bios, and it fails to revert ME firmware (ME firmware downgrade was not allowed) to 11.8.70.3626 (the bios comes in an exe form, and there’s no binary file to extract by opening it in 7zip).

Any idea what I can try?

Current bios is 1.24.0 (latest)

Dell_PFS_Extract will get you the files from the EXE update.
platomav/BIOSUtilities: Various BIOS Utilities for Modding/Research (github.com)

1 Like
Are you sure you want to perform a Firmware Downgrade? (Y/N): y
Sending the update image to FW for verification:  [ COMPLETE ]

FW Update:  [ 0% (-)]  Do not Interrupt
Error 8758: The image provided is not supported by the platform.

That’s at least some progress, but I bet that the firmware is actively blocked. I did see quite some posts regarding that. I’ll have to check if there’s a version in between the two that might do it.

Edit:
It doesn’t even allow me to downgrade to the previous version v11.8.83.3874 (from bios 1.22.1).
Needs different work to get it to downgrade, I don’t know what the next steps could be.

Sorry cant help you on this, wait for another user opinion.

EDIT: Theres settings that can be changed with the FICT tool on the ME but i cannot help you here… the slow boot must be the CPU boot state performance tables.

Unfortunately, no solution for the slow boot, however undervolting can still be done (which is a must for this laptop).

The solution to allow undervolt (the easy way) is to flash 1.18 bios, immediately enter the bios and factory reset the bios. Then boot again into the bios and disable capsule updates. Do whatever else you want and boot up. Within Windows, I use throttlestop and undervolt works (can be confirmed with CPUz)

More info
https://www.reddit.com/r/Dell/comments/hgzpdi/dell_xps_9560_bios_1192_disabled_undervolting/

Another method that might work on the newer bios, for me it did nothing on 1.18.
https://www.reddit.com/r/Dell/comments/hgzpdi/comment/fw7cyzd/?utm_source=share&utm_medium=web2x&context=3

Long boottime may be a sign of a corrupt ME region. That can’t be solved by an update since updates aren’t configured and don’t overwrite settings/data but only code.

That might help:

1 Like

One step further (see this).

I found the area for ME Reflash, but I still have to read through (again) the cleaning thread.

By the way, I was able to update ME to 11.8.92.4249_COR_H_DA_PRD_RGN.bin in the meantime.

I found this section in the PE32 Image:

0x3981F 				One Of: ME Unconfig on RTC Clear, VarStoreInfo (VarOffset/VarName): 0x13F6, VarStore: 0x1, QuestionId: 0x2B5, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 27 10 28 10 B5 02 01 00 F6 13 10 10 00 01 00}
0x39830 					One Of Option: Disabled, Value (8 bit): 0x0 {09 07 04 00 00 00 00}
0x39837 					One Of Option: Enabled, Value (8 bit): 0x1 (default) {09 07 03 00 30 00 01}
...
0x3D187 	Form: OEM Flags Settings, FormId: 0x27B1 {01 86 B1 27 25 14}
0x3D18D 		Checkbox: MEBx hotkey Pressed, VarStoreInfo (VarOffset/VarName): 0x6A0, VarStore: 0x1, QuestionId: 0x433 {06 8E 27 14 28 14 33 04 01 00 A0 06 10 00}
0x3D19B 		End {29 02}
0x3D19D 		Checkbox: MEBx Selection Screen, VarStoreInfo (VarOffset/VarName): 0x6A1, VarStore: 0x1, QuestionId: 0x434 {06 8E 29 14 2A 14 34 04 01 00 A1 06 10 00}
0x3D1AB 		End {29 02}
0x3D1AD 		Checkbox: Hide Unconfigure ME Confirmation Prompt, VarStoreInfo (VarOffset/VarName): 0x6A2, VarStore: 0x1, QuestionId: 0x435 {06 8E 2B 14 2C 14 35 04 01 00 A2 06 10 00}
0x3D1BB 		End {29 02}
0x3D1BD 		Checkbox: MEBx OEM Debug Menu Enable, VarStoreInfo (VarOffset/VarName): 0x6A3, VarStore: 0x1, QuestionId: 0x436 {06 8E 2D 14 2E 14 36 04 01 00 A3 06 00 00}
0x3D1CB 		End {29 02}
0x3D1CD 		Checkbox: Unconfigure ME, VarStoreInfo (VarOffset/VarName): 0x6A4, VarStore: 0x1, QuestionId: 0x437 {06 8E 2F 14 30 14 37 04 01 00 A4 06 10 00}
0x3D1DB 		End {29 02}
0x3D1DD 	End Form {29 02}

Do you think this would fix the issue?

Edit:
Since ME Unconfig on RTC Clear is enabled by default, removing the RTC (and obviously the laptop battery) should unconfigure it. However, I’ve already tried this years ago with no success.

I noticed that writing some variables take some time (same as changing stuff in the bios itself).

ME config is stored in ME region itself and can’t be undone completely without ‘re-initializing’ the ME region and flashing it back. It’s (like NVRAM) non- volatile and you can remove whatever battery as long as you like, but ME initialization won’t be impressed…

Follow the linked procedure.