Bios Mods -The Best BIOS Update and Modification Source

Full Version: Dell Vostro 3450 Advanced Options unlocking in progress
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Looks like Clevo is working fine for me ... I can boot to UEFI without problem.

UEFI Shell - show version as 2.00 implementation.

2 Things i´m still missing ...
I can´t boot up from SDCARD ...

I cannot make my USB Stick with OSX Mountain Lion 10.8 modiffied to work OOB.
it hangs and does not boot up ...

I'm still trying to understand what happened.
errr.. Clevo ?

I will just post this changelog history here .. to prevent myself going through Dell's retarded support page and tearing my hair out in order to track down the changelog for a certain version.

* A13 10/25/2012 Changelog:
1. Fix issue when system resume from S4 automatically after upgrade to Windows 8
2. Fix the QuickSet compatibility problem on Windows 8

* A11 3/26/2012 Changelog:
1.To fix lid function failed in DOS.
2.Modify fan max speed value to fix WBDD tool fan.exe test failed if system in high temperature
3.Added LED test interface and changed three multimedia button test interface for factory.

* A10 2/20/2012 Changelog:
EC change list:
1.Add re-try mechanism between EC and adapter PSID. (Re-try 3 times every 500ms to extend detection time for Adapter plug-in)

* A07 10/3/2011 Changelog:
1.Enable Discrete AMD VGA fixed mode Support
2.Implement new Fresco USB 3.0 module support
3.Enter S3 and then flash BIOS in OS,system will enter S3 after shutdown.
4.There are some BIOS options will auto-disable after doing some action.
5.Can't Coldboot to USB 3.0 ODD when set CD/DVD as first boot device in BIOS
6.The 3rd place bootable device will change to "disable" after some action.
7.USB HDD without electric power can't boot from USB 3.0 port.
8.Does not implement XHCI BIOS Handoff Correctly
9.System can't boot EPSA via press "Fn+PowerButton"
10.Brightness hotkey loss pop up after flash BIOS
11.Disable unused port 12.update ePSA to C_PG4213

* A04 3/29/2011 Changelog:
1.Estar Logo will pop up by load default in BIOS even disable Estar logo before
2.Insert Product name in SMBIOS table by EPPID from EC ROM.
3.Add 6C/68 command to control E-star logo flag.
4.Update thermal table to Ver0.7.1.

* A03 3/23/2011 Changelog:
1.With TF bat, QS no pop up message and BHM show bat is operation normally.
2.F2 can't control wireless after S4 resume in mediakey first mode only.
3.Add Lojack solution to fix incorrect return value.
4.Correct SMBIOS battery information
5.ePSA FAN test interface. (FAN will be turn off under ePSA test.)
6.Add Lojack solution to fix load OPROM. (Please follow latest test case.)
7.Update AMD VBIOS for G-die
8.Sandy Bridge Processor Errata #BK79 (Mobile)
9.Update to rewrite CMOS initial value to make sure default is "Function key first".

* A02 3/21/2011 Chengelog:
1.The keyboard backlight timeout turn off will show 1 min when set to 15 min
2.Modify SODIMM thermal deviation to get real VTS value.
3.Modify solution "SDA -30?J test will shutdown issue."
4.Modify for Delldiag thermal test fail.
Do you have any idea which module is responsible for "Enable Discrete AMD VGA fixed mode Support"? I wonder if it has to do with the dedicated card's VBIOS itself, would be interesting to compare it between versions...
I'm thinking its tied to dsdt as well as some modules which talk to it. You've probably seen that I've started comparing a04 to a07 and I'm half way through ... will finish today prolly when I get home. ATI vbios hast changed at all. But then again it may be just dsdt and the AMD driver for Windows which utilizes (reads/stores info) BRID register.

Sent from my LG-P500 using Tapatalk 2
I'm pretty sure the driver itself isn't directly involved in this. The fixed mode simply disappears from Catalyst if I flash A04 without even reinstalling the driver. However, once I go back to A07 or A11, it appears again, no matter what driver version I use.
Also, there's "HybridGraphicDxe.efi" (681D2368-4540-4FA9-8C1D-8B79DBF6B9AE) and "SwitchableGraphicsDxe.efi" (697CFA95-B1F2-4ED7-A0D2-7AC6E47B3C99), perhaps these are different in A04 and A07+.
The fact that the AMD VBIOS hasn't been changed at all is even more puzzling...

Also, talking about ME, look at AC5919D9-F137-4F87-869F-D863EDA88ED2 and 5820EEB4-C135-4854-9D2A-AA9EFC4475E9 (MePciUpdate.efi and MeFwDowngrade.efi - could this have something to do with Intel ME? Most likely)
They aren't .. nothing GFX related is different across A04 and A07, I've checked all 242 modules.
SystemVgaDxe.efi
SwitchableGraphicsDxe.efi
HybridGraphicsDxe.efi
ActiveBios.efi (switching between VBIOSes)
None of the above had a byte changed ... VBIOSes haven't changes either .. only thing changes is DSDT .. to utilize BRID and notify LVDS when screen is attached to GFX0.DD02. I've already explained what was different: http://www.bios-mods.com/forum/Thread-De...3#pid49643
But I'm still to this day wondering from where is External (\_SB_.PCI0.PEG0.PEGP.DD02) coming? External means it has to be in some other ACPI table to be called like that .. but I haven't really seen it anywhere.

The driver probably looks for certain data in register SLPO or something .. if it's accessible (because in A04 it wasn't there was a single 8 byte register called OPTF, whereas in A07 and later it's split into two 4 byte registers OPTF and SLPO) then it lets you select the mode in Catalyst.

Regarding ME .. yes it could, but there may be no use for these modules in the firmware .. much like IbexPeak (H55/H57 chipset) modules.
I found it. Switchable Graphics option depends on just one SSDT table, which is 76AED82E-77DE-42CA-8C27-E9D71DF606C7_0_665.ROM. I flashed A11 BIOS with A04 SSDT, and the Switchable Graphics Method option is now gone. Looks like altering SSDT is the key... Do you think it's possible to edit this file with DSDT Editor or something? I have uploaded this table from A04 and A11 SSDT here: https://dl.dropbox.com/u/91178815/ssdt.zip

EDIT: It turns out there's only one line difference:
In the decomplied code, go to line 103:
Code:
Method (PX00, 0, NotSerialized)
        {
            CreateWordField (ATPB, Zero, SSZE)
            CreateWordField (ATPB, 0x02, VERN)
            CreateDWordField (ATPB, 0x04, SFUN)
            Store (0x08, SSZE)
            Store (One, VERN)
            Store (0x03, SFUN) ->>>> 0x03 was changed to One in A07 and later
            Return (ATPB)
        }
So, apparently this is what toggles the Fixed Scheme selection switch...
I will take a look when I'm around a computer. SSDT is pretty much an extension to DSDT and follows same ACPI specification. Can be altered easily ... and recompiled with iasl.

Sent from my LG-P500 using Tapatalk 2

Lol actually I have never seen this table which appears to be AmdTabl ... it never dumped for me due to the fact I don't have amd graphics. But it looks somewhat similar to what optimus looks like. I don't have dsdt at hand to see what regions of EC it uses.

Sent from my LG-P500 using Tapatalk 2
https://dl.dropbox.com/u/91178815/dsdt.zip
Here you go. Also I've included all 7 SSDT tables from A04 just in case.

Speaking of Optimus, I've heard that Alienware mx14-r3 is capable of disabling it completely by forcing the dGPU as the primary display device and hiding the iGPU, perhaps we could have a look at its DSDT? Also, I think earlier Vostros (like 3500) could disable it too. I've seen people mention that on Dell Support forums.
Well, since this SSDT seems to extend GFX0 (which is IGD .. and PEG0.PEGP is AMD DIS) .. let's assume it disables and enabled IGD as I can see a method to drive it.. (same as Optimus actually)
Code:
Method (PX02, 1, NotSerialized)
        {
            If (LEqual (Arg0, One))
            {
                \_SB.PCI0.PEG0.PEGP._ON ()
            }
            If (LEqual (Arg0, Zero))
            {
                \_SB.PCI0.PEG0.PEGP._OFF ()
            }
        }
PXxx methods are called on demand (by driver presumably .. because they have no input arguments, driver analyzes the output ATPB array) so I can't really track what going on there. Assuming when SFUN == 0 then _OFF is being called, else when SFUN == 1 this methods sets _ON
Then there is this part:
Code:
Name (ATIB, Buffer (0x0100) {})
        Method (ATIF, 2, Serialized)
        {
            If (LEqual (Arg0, Zero))
            {
                Return (AF00 ())
            }
            If (LEqual (Arg0, One))
            {
                Return (AF01 ())
            }
            If (LEqual (Arg0, 0x02))
            {
                Return (AF02 ())
            }
            If (LEqual (Arg0, 0x03))
            {
                Return (AF03 (DerefOf (Index (Arg1, 0x02)), DerefOf (Index (Arg1,
                    0x04))))
            }
            Else
            {
                CreateWordField (ATIB, Zero, SSZE)
                CreateWordField (ATIB, 0x02, VERN)
                CreateDWordField (ATIB, 0x04, NMSK)
                CreateDWordField (ATIB, 0x08, SFUN)
                Store (Zero, SSZE)
                Store (Zero, VERN)
                Store (Zero, NMSK)
                Store (Zero, SFUN)
                Return (ATIB)
            }
        }
ATIB is the ATI framebuffer .. if some criteria is met then a real buffer is being used, else ATI framebuffer gets filled with blank (zero data) including our SFUN variable which is set as 0x00 meaning the card will get disabled by the _OFF method (which is nowhere to be found actually.. so it's hardcoded into something as it's being called externally)
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19