Bios Mods -The Best BIOS Update and Modification Source

Full Version: (UEFI) Dell XPS 15z L511z modded BIOS - and HOWTO
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hey guys,

Not to cut in on the awesome work guys. Just wanted to let you know that I have identified the source of the issues with the laggy site performance and 504 errors and alike. Please let us know if the site is running at its usual lightning speed again.

All the best,
Chris
@jkbuha
kasar has successfully patched the connector table ..
I find it interesting how my VBIOS has different tables across 2098 and 2104: http://pastie.org/5334898
I will try swapping out the table from 2104 and integrating into 2130 VBIOS then flashing it .. eve though 2130 as is has no issues for me!
(I have some other thing to test .. read on and you will see what it is)

Also, I've briefly posted some stuff on NBR forums .. but will repeat myself here.


Second batch of module comparisons turned out to be less stressful Dodgy
Here is my research results for the second batch: #5336451 - Pastie
Here is this report combined with the first batch I've done yesterday: #5336457 - Pastie

What I've concluded so far:
1. "Enable Discrete AMD VGA fixed mode Support" - this is only a babble and nothing more. Why ?
ATI VBIOSes for Quanta boards (DIS graphics)
SystemVgaDxe.efi
SwitchableGraphicsDxe.efi
HybridGraphicsDxe.efi
ActiveBios.efi (switching between VBIOSes I believe ?)
All of the above haven't changed a bit! Zero changes from A04 to A07.
The only thing that has changed is DSDT.AML .. which therefore proves that "fixed" mode is driver-dependent .. I've already explained what were the changes to DSDT in Vostro 3450 thread.. basically driver is forced to attach LVDS through AMD DIS if the "fixed" mode is set.. a 8 bit register (possibly BRID) is used to store this state.. which in hand means that there's no way to set AMD as primary GFX unless we have an option to write to this register through SMB protocol .. same deal applies for Optimus I believe ..
2. "Implement new Fresco USB 3.0 module support" - they have changed the SystemUsbBusDxe.efi module and almost didn't touch XHCI one .. so I wonder how this works? Actually I don't as I have zero issues with my FL1009 in A04 so it's filthy lies.
3. "Enter S3 and then flash BIOS in OS,system will enter S3 after shutdown" - PlatformS3SaveDxe.efi has been rewritten for this. But this has nothing to do with sleep issue in OSX as I've alread ytried backporting it to A13..
4. "There are some BIOS options will auto-disable after doing some action." - say what ? Ok probably some Setup modules cganged for this ..
5. "Can't Coldboot to USB 3.0 ODD when set CD/DVD as first boot device in BIOS" - are there even USB 3.0 Optical Disc Drives and why would one use US3.0 to conenct one? Same as (2.)
6. "The 3rd place bootable device will change to "disable" after some action." - BootManager and BootMenu changes ..
7. "USB HDD without electric power can't boot from USB 3.0 port" you quite didn't fix this but rather broke it .. I can't boot my Passport after A07 but can with A04.
8. They changed one byte in SystemXhciDxe.efi to implement proper XHCI BIOS Handoff
9. "System can't boot EPSA via press "Fn+PowerButton" " - DellDa and DellDiag .. also ReadyToBoot probably ...
10. "Brightness hotkey loss pop up after flash BIOS " - what the flipping heck are you people smoking when writing these changelogs ???
11. "Disable unused port" - PlatformSetup and Smm for sure.
12. "update ePSA to C_PG4213" - aha ... SystemDiagnosticSummaryScreenDxe and DellPsa ...but do I even need this?


I will sum up what are the modules that changed from A04 to A07 for Vostro 3450:
Probably only one of the modules that was changed is causing wake issues for OSX .. need to track it down by narrowing the amount of modules. For this I need input from L502x and L702x users... please see if you have chnages in the modules from the list below.
This will allow to determine what are the changes specific to my model and what were the changes across all (excet L511z) Tiano-based machines.
Code:
PlatformSetupAdvancedDxe.efi          CFEF94C4-4167-466A-8893-8779459DFA86_1_1073.ROM +
SystemFormBrowser2Dxe.efi             BF646364-2ECE-4D9F-84C7-C33F28689363_1_1027.ROM +
Freeform                              1547B4F3-3E8A-4FEF-81C8-328ED647AB1A_1_413.ROM  +
SystemSmmUsbLegacySmm.efi             EF33C296-F64C-4146-AD04-347899702C84_1_1138.ROM +++
SystemBootManagerDxe.efi              73DAB30F-3F9C-4160-B064-439CE16C3EDE_1_1090.ROM +
INTEL SNB VBIOS                       29206FC2-9EAB-4612-ACA1-1E3D098FB1B3_1_951.ROM  + 2098->2104
MpCpu.efi                             62D171CB-78CD-4480-8678-C6A2A797A8DE_1_602.ROM +++
SystemVariableDxe.efi                 793CBEA0-DA56-47F2-8264-24310CB75196_1_74.ROM  +++
Freeform                              221521AE-0A35-44CD-B580-5AEDBB770B1D_1_431.ROM + (minor)
SystemBootMenuDxe.efi                 86488440-41BB-42C7-93AC-450FBF7766BF_1_1095.ROM +
DellDa.efi                            8A3669E3-ABCB-4899-8492-82E22E91C793_1_1063.ROM +
DSDT.AML                              7E374E25-8E01-4FEE-87F2-390C23C606CD_1_943.ROM  + BRID
SystemXhciDxe.efi                     949822BC-26D3-4BC6-954B-F2C581342DE1_1_273.ROM  ++ (offset 5959h 0x20 -> 0x24)
PlatformDxe.efi                       2D6F37BF-9AFC-4AA5-A026-32B2FCF30FB9_1_881.ROM  ++ (offset 168Eh 0x34 -> 0x37; offset 1695h 0x33 -> 0x39; offset 169Bh 0x35 -> 0x30)
SystemDiagnosticSummaryScreenDxe.efi  C82919D6-33FD-43ED-800C-635A3369D0F3_1_146.ROM  + (unicode string changed: Sep 20 2011 -> Mar 25 2011)
DellDiag.efi                          811FBFF3-BD1A-4D65-8A76-B41F58F91F9E_1_1133.ROM +
PlatformSetup.efi                     A4F2909C-5E2A-438A-91BA-272B0923049A_1_907.ROM  +
SystemUsbBusDxe.efi                   240612B7-A063-11D4-9A3A-0090273FC14D_1_947.ROM  ++++
PlatformSmm.efi                       CB73C3D9-2F01-4342-AE67-04DDE5264092_1_912.ROM  ++
SystemAhciBusSmm.efi                  B31FF060-8363-11DF-8395-0800200C9A66_1_235.ROM  +++
SystemRtcRt.efi                       378D7B65-8DA9-4773-B6E4-A47826A833E1_1_1002.ROM +++++
DellMfgBoardDxe.efi                   F2012072-7493-451B-9B02-106FC694D764_1_1022.ROM + (offset AD6h 0x0B -> ox08)
SystemFlashCommunicationSmm.efi       B9CABA9B-E5C5-41DC-86E2-E7CEF87B81CB_1_103.ROM + (inflated from 3.5Kb to 7.93Kb!!)
SystemSecureFlashSleepTrapSmm.efi     FCE47C4E-5ECC-4A41-B90E-0BAB09968D02_1_942.ROM +
DellReadyToBoot.efi                   C0330B04-CBB8-4CCF-B45B-C7DBD943782B_1_976.ROM +
SSDT-3.AML                              76AED82E-77DE-42CA-8C27-E9D71DF606C7_0_665.ROM + (adds support for External GFX0.DD02 - switching AMD to LVDS)
DellIdReadyToBoot.efi                 12BBC12D-BADE-4FDE-BB22-01A3C6F693E0_1_1036.ROM + (holds bios version and model number in unicode strings)
PlatformS3SaveDxe.efi                 51D4BACC-E70A-4136-9426-546973ED938C_1_892.ROM ++++ (even though I've tried backporting it already..)
InitialProgramLoadDxe.efi             3E4A9DAB-5601-448F-A590-58C13EB0E992_1_1068.ROM +++
SystemFlashCommunicationDxe.efi       546AD295-0C64-4CE6-A06F-FB9CD04B41CD_1_98.ROM ++

It's only about 30 modules to check and you don't even need to spend your time by looking around for GUIDs and correspodning names. Copy just the first part of the .ROM name which is the actual GUID. The modules that have _1_ in their names are the ones you need to look at.

Found one module which is:
- Identical (only 2 bytes differ) for Vostro 3450 A04 and XPS 15z A11 - no sleep/wake issues
- Identical for Vostro 3450 A07 and XPS L502x A12 - with sleep issues
The module is InitialProgramLoadDxe.efi - 3E4A9DAB-5601-448F-A590-58C13EB0E992

While looking at identical modules between V3450 A04 and 15z from the list of modules I had posted previously (noted with + as changes across versions) none of the modules turned out to math .. BUT THIS ONE !
And .. I guess this is exactly the module we are looking for .. it's UEFI IPL Driver which basically is a layer between PEI and DXE modules. I'ts not a PEI itself nor is it a DXE either ..
http://www.patentgenius.com/patent/8086839.html

I don't feel like annoying my roommates by "beeping" through bios flashing, but I will definitely try backporting InitialProgramLoadDxe.efi from A04 into A13 to see if this solves sleep issues!

@kasar, please confirm if this driver has also changed for L502x going from A06 to A09.
Thanks TheWiz! Back to normal now yay!
Awesome TimeWalker! +1 again! Thks for the update & confirmation - good luck with the sleep mods!
@nebster

I didnt noticed there was a A19 version for the l702x D:

went to dell's ftp and A18 was more recent bios I could find

http://ftp.dell.com/Browse_For_Drivers/L...X%29/#BIOS

@timewalker

here is the list of the changes from a06 to a09

copied your list and edited it

Code:
PlatformSetupAdvancedDxe.efi          CFEF94C4-4167-466A-8893-8779459DFA86_1_1073.ROM (3 differences)
SystemFormBrowser2Dxe.efi             BF646364-2ECE-4D9F-84C7-C33F28689363_1_1027.ROM (lot if differences and the size is different)
Freeform                              1547B4F3-3E8A-4FEF-81C8-328ED647AB1A_1_413.ROM  (almost identical, just changed some bits from the end of the file, and they are dates lol 01/13/12 to 07/20/11, I supose they are compilation times or something like that, so ignore changes at this file ;) )
SystemSmmUsbLegacySmm.efi             EF33C296-F64C-4146-AD04-347899702C84_1_1138.ROM (the file is modified and its bigger)
SystemBootManagerDxe.efi              73DAB30F-3F9C-4160-B064-439CE16C3EDE_1_1090.ROM (the file is modified and its bigger)
INTEL SNB VBIOS                       29206FC2-9EAB-4612-ACA1-1E3D098FB1B3_1_951.ROM   2117->2104 (they downgraded the vbios? )
MpCpu.efi                             62D171CB-78CD-4480-8678-C6A2A797A8DE_1_602.ROM (files are identical)
SystemVariableDxe.efi                 793CBEA0-DA56-47F2-8264-24310CB75196_1_74.ROM  (files are identical)
Freeform                              221521AE-0A35-44CD-B580-5AEDBB770B1D_1_431.ROM (some changes)
SystemBootMenuDxe.efi                 86488440-41BB-42C7-93AC-450FBF7766BF_1_1095.ROM (files are identical)
DellDa.efi                            8A3669E3-ABCB-4899-8492-82E22E91C793_1_1063.ROM 8A3669E3-ABCB-4899-8492-82E22E91C793_1_1063.ROM
DSDT.AML                              7E374E25-8E01-4FEE-87F2-390C23C606CD_1_943.ROM  (didnt found this file D:)
SystemXhciDxe.efi                     949822BC-26D3-4BC6-954B-F2C581342DE1_1_273.ROM  (some minor changes)
PlatformDxe.efi                       2D6F37BF-9AFC-4AA5-A026-32B2FCF30FB9_1_881.ROM  (just changes at the version number and date, nothing important)
SystemDiagnosticSummaryScreenDxe.efi  C82919D6-33FD-43ED-800C-635A3369D0F3_1_146.ROM  (just changes at the date string, nothing important)
DellDiag.efi                          811FBFF3-BD1A-4D65-8A76-B41F58F91F9E_1_1133.ROM (identical)
PlatformSetup.efi                     A4F2909C-5E2A-438A-91BA-272B0923049A_1_907.ROM  (many file changes, and the file size is smaller)
SystemUsbBusDxe.efi                   240612B7-A063-11D4-9A3A-0090273FC14D_1_947.ROM  (some minor differences)
PlatformSmm.efi                       CB73C3D9-2F01-4342-AE67-04DDE5264092_1_912.ROM  (file has changed, and it is smaller in size)
SystemAhciBusSmm.efi                  B31FF060-8363-11DF-8395-0800200C9A66_1_235.ROM  (identical)
SystemRtcRt.efi                       378D7B65-8DA9-4773-B6E4-A47826A833E1_1_1002.ROM (identical)
DellMfgBoardDxe.efi                   F2012072-7493-451B-9B02-106FC694D764_1_1022.ROM (identical)
SystemFlashCommunicationSmm.efi       B9CABA9B-E5C5-41DC-86E2-E7CEF87B81CB_1_103.ROM (identical)
SystemSecureFlashSleepTrapSmm.efi     FCE47C4E-5ECC-4A41-B90E-0BAB09968D02_1_942.ROM (some changes)
DellReadyToBoot.efi                   C0330B04-CBB8-4CCF-B45B-C7DBD943782B_1_976.ROM (file has changed, and it is smaller in size)
SSDT-3.AML                              76AED82E-77DE-42CA-8C27-E9D71DF606C7_0_665.ROM (cant find this file D:)
DellIdReadyToBoot.efi                 12BBC12D-BADE-4FDE-BB22-01A3C6F693E0_1_1036.ROM (just changes at the version string, nothing important)
PlatformS3SaveDxe.efi                 51D4BACC-E70A-4136-9426-546973ED938C_1_892.ROM (identical)
InitialProgramLoadDxe.efi             3E4A9DAB-5601-448F-A590-58C13EB0E992_1_1068.ROM (identical)
SystemFlashCommunicationDxe.efi       546AD295-0C64-4CE6-A06F-FB9CD04B41CD_1_98.ROM (identical)


@TheWiz


thank you Smile

as for the moment it is working back again, I noticed the chat got removed/moved from its original location but the forums are working nice ^^

@jkbuha

yeah, the hex editing worked for the intel vbios, using the 2130 one with the changes you mentionated and it fixed the conection to external screen conected via minidisplayport
lol @ Intel VBIOS downgrade @kasar
Thanks for your input. Hope this helps troubleshoot .. but [censored] your report has ruined my high hopes about IPL module Big Grin

P.S. Also if you could upload these modules here for both A06 and A09 it'd be cool ...
Code:
SystemSmmUsbLegacySmm.efi             EF33C296-F64C-4146-AD04-347899702C84_1_1138.ROM (the file is modified and its bigger)
SystemBootManagerDxe.efi              73DAB30F-3F9C-4160-B064-439CE16C3EDE_1_1090.ROM (the file is modified and its bigger)
SystemXhciDxe.efi                     949822BC-26D3-4BC6-954B-F2C581342DE1_1_273.ROM  (some minor changes)
PlatformSetup.efi                     A4F2909C-5E2A-438A-91BA-272B0923049A_1_907.ROM  (many file changes, and the file size is smaller)
SystemUsbBusDxe.efi                   240612B7-A063-11D4-9A3A-0090273FC14D_1_947.ROM  (some minor differences)
PlatformSmm.efi                       CB73C3D9-2F01-4342-AE67-04DDE5264092_1_912.ROM  (file has changed, and it is smaller in size)
SystemSecureFlashSleepTrapSmm.efi     FCE47C4E-5ECC-4A41-B90E-0BAB09968D02_1_942.ROM (some changes)
DellReadyToBoot.efi                   C0330B04-CBB8-4CCF-B45B-C7DBD943782B_1_976.ROM (file has changed, and it is smaller in size)
Lets stay at this list for now .. even though I doubt BootManager is even remotely related to this I'll leave it there ...

P.S.S. SystemSecureFlashSleepTrapSmm.efi is identical for 15z A11 and Vostro 3450 A07 .. which means it can't be the cause of broken wake ...
yeah, I was like wtf?
I checked the vbioses twice to ensure I wasnt checking old version, but for some reason they downgraded, maybe there was a bug or incompatibility in that version or maybe they are just retarded, idk ^^

srry to hear that ):
Morning all

Just a quick update - I've searched for, and found, the HD3000 Bios v2137. I've also found the newer one - v2143. Problem is that the diffs in the files are significantly greater than the other vBIOSes we found, so most likely the hardware IDs (mine is 0126 for example) are also different besides the connector tables.

Has anyone had any experience in modding Intel HD3000 vbioses? Also any significant differences between mobile & desktop vbios versions?

EDIT: I've found the hardware ID table. Quite easy actually. Offset 0x45h-0x7fh. Might run for longer but as long as the device IDs are there the card should (in theory) power up.
So far the patches are:
0x045-0x07f: DeviceID
0xc30-0xb2f: Connector Table (may be 0xc40-0xb3f depending on offset of BIOS_DATA_BLOCK)

Haven't yet put a modded vbios together, so let me know if anyone is interested in trying theirs out.
Updated:BIOS patch successful. Am running v2143 and all ports enabled.

Anyone wants the file or prefers to do it themselves? Smile

What the heck - i've attached it for anyone to patch their own flavour of deviceIDs and connectors. Enjoy!

One thing I've noticed is that the classic text mode (80x25) has vanished! So for anyone who uses native DOS and/or raw text bootloaders (not W7/W8 - those are different res) they'll be a bit in the dark for now.

We really need to get a handle on this file format. Some things I'd like to play with are:

1) Video Resolution (and get back my 80x25)
2) EDID
3) Optimus settings - so we can hopefully force Nvidia on OSX
4) Undervolting
5) Overclocking

Anyone who can contribute to the above will be greatly appreciated!
oh, I will test it Smile

anyway sometimes I like to use loaders or ms2, well, I will test it this later Wink

rep added ^^
What's the origin of this vbios? Desktop cards have different clocks and the resolution table is somewhat different IRRC. Don't know about vram distribution either, but I bet it somehow differs aswell.
I wont be abouts today to test all this as I will be quite busy this evening ( even though temptation will kill me at some point lol) ..so you will hear from me tomorrows prolly.

Sent from my LG-P500 using Tapatalk 2