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
There are no 02 45 0A 00 left to modify in my file Sad
I looked for 45 0A 00 00 00 00 00 00 00 00 and changed most of these to 45 0A 01 00 00 00 00 00 00 00, and it actually hid the options back... Would it be feasible to look for 45 0A 01 00 00 00 00 00 00 00 and change it to 45 0A 00 00 00 00 00 00 00 00 instead?
Sorry I don't even know what I'm talking about, lol
lol, I guess it's easier to redo everything from scratch then.
There's more than 20 occurrences of 45 0A 01 00 00 00 00 00 00 00 in the module, so what you would end up doing is hiding more stuff lol
Replaced all 82 45 0A 01 with 82 45 0A 00 and it messed up the setup module LOL. The descriptions were misplaced and some items were in the wrong order.
Okay, I'm giving up for today Smile
'course it would mess it up badly, there are exactly 30 occurrences of it and we flipped bytes in only 3 of these.
That's why it's always important to note the offset, so you'd be able to have a references if you needed to change it back for some reason.

So the question of the day remains:
what does changing 45 0A 00 00 00 00 00 00 00 00 45 0A at 3 (possibly 4) offsets brings us ?

Code:
30ed7:    02 45 0a                 add    0xa(%ebp),%al
    ...
   30ee2:    45                       inc    %ebp
   30ee3:    0a 00                    or     (%eax),%al
   30ee5:    00 00                    add    %al,(%eax)
   30ee7:    00 00                    add    %al,(%eax)
   30ee9:    00 00                    add    %al,(%eax)

Code:
30f4a:    02 45 0a                 add    0xa(%ebp),%al
    ...
   30f55:    45                       inc    %ebp
   30f56:    0a 00                    or     (%eax),%al
   30f58:    00 00                    add    %al,(%eax)
   30f5a:    00 00                    add    %al,(%eax)
   30f5c:    00 00                    add    %al,(%eax)

Code:
30fbd:    02 45 0a                 add    0xa(%ebp),%al
    ...
   30fc8:    45                       inc    %ebp
   30fc9:    0a 00                    or     (%eax),%al
   30fcb:    00 00                    add    %al,(%eax)
   30fcd:    00 00                    add    %al,(%eax)
   30fcf:    00 00                    add    %al,(%eax)

Code:
3d75b:    02 45 0a                 add    0xa(%ebp),%al
    ...
   3d766:    45                       inc    %ebp
   3d767:    0a 00                    or     (%eax),%al
   3d769:    00 00                    add    %al,(%eax)
   3d76b:    00 00                    add    %al,(%eax)
   3d76d:    00 00
Okay, it looks like the Switchable Graphics options are working somewhat... I set "Primary Display" to "Switchable Graphics" and "Switchable Graphics mode" to "Muxless" just out of curiosity, and after a reboot the AMD card disappeared from the Device Manager (which shouldn't happen in this mode, by the way). Playing with these settings for a little while got me all sorts of bangs in Device Manager for both graphics cards, but I've never been able to hide the Intel one. It either turns off the AMD card or gives a yellow bang saying "the device couldn't find sufficient resources" in the Device Manager for either of the two cards.
I don't have any reasonable explanation for this, except that the idiots at Dell couldn't implement it the correct way and therefore disabled the options in BIOS.
I hate Dell so much... They made it so difficult to unlock the hidden options, and now these options aren't even working LOL
Guys - I didn't see this until now, so unfortunately I couldn't set you back on the right track. This is the problem with working on multiple threads.

The issue is that the code you're reverse engineering isn't x86 or x64, but UEFI IFR strings. Here is the template:

Code:
/*** FRAGMENT START ***/
/*****************************************************************************
    0A == EFI_IFR_SUPPRESS_IF_OP//{---+
    82:1:0000010 L2  // Scope         |
                                      |
    45 == EFI_IFR_UINT64_OP// {---+   |
    8A:1:0001010 L10 // Scope     |   |
    0000000000000000              |   | 0000000000000001 !! new value !!
    45 == EFI_IFR_UINT64_OP       |   |
    0A:0:0001010 L10 // Scope     |   |
    0000000000000000              |   |
    2F == EFI_IFR_EQUAL_OP        |   |
    02:0:0000010 L2  // Scope     |   |
                                  |   |
    29 == EFI_IFR_END_OP// }------+   |
    02:0:0000010 L2  // Scope         |

So as you can see: the sequence 0A 82 45 8A is then followed by a 00 (disabled) or 01 (enabled).

What I'd suggest we do to work efficiently is that (1) any common DELL problems/solutions/discoveries are posted in the other thread, and (2) anything specific to the Vostro is then placed in this thread. That way all the team on the other thread can solve any of your problems as well. This way we'll all collaborate to solve all of this puzzle more quickly Wink
Thanks for clarifying. Will move the discussion to the XPS thread from now on.

In regards to setting PEG as primary option on this machine I have done some reading related to InsydeH2O bioses found on HPs for eg, what they are doing is disassembling the module like jkbuha showed but they parse the output through some sort of a script which already has predefined operators so it ends up as human readable text (well, somewhat). So the output looks like this:
Code:
EQ [0x61<1>] == 0x4
    One Of [0x52<1>] 'Always Enable PEG'
    \Help text: 'To enable the PEG slot.'
     Option 'Enabled' = 0x1 Flags 0x10 Key 0x0
     Option 'Disabled' = 0x0 Flags 0x13 Key 0x0
    End One Of
Or better off something like this:
Code:
Suppress If
       Opcode 0x27 (2)
       Reference: 'Boot Configuration' Form ID 0x21 Flags 0x0 Key 0x0
       \Help text: 'Configures Boot Settings.'
       Reference: 'Peripheral Configuration' Form ID 0x22 Flags 0x0 Key 0x0
       \Help text: 'Configures the peripheral devices.'
     End If
     Suppress If
       Opcode 0x27 (2)
       Reference: 'IDE Configuration' Form ID 0x23 Flags 0x0 Key 0x0
       \Help text: 'Select the IDE controller and hard disk drive type installed in your system.'
     End If
     Suppress If
       Opcode 0x27 (2)
       Reference: 'Video Configuration' Form ID 0x25 Flags 0x0 Key 0x0
       \Help text: 'Configures video settings.'
       Reference: 'USB Configuration' Form ID 0x26 Flags 0x0 Key 0x0
       \Help text: 'Configure the USB supp'
       Reference: 'Chipset Configuration' Form ID 0x27 Flags 0x0 Key 0x0
       \Help text: 'Advanced Chipset Configuration Options.'
       Reference: 'ACPI Table/Features Control' Form ID 0x28 Flags 0x0 Key 0x0
       \Help text: 'Configures ACPI Tables/Features setting.'
     End If

On some BIOSes however there is no such an option and they patch port tables (like connector tables for hackintoshes, but in the setup module instead) to replace SG with PEG and those make it fixed:
Code:
change
6D 01 6E 01
09 09 29 00 01 00 10 00 00
09 09 2A 00 00 00 13 00 00
to
6D 01 6E 01
09 09 29 00 01 00 13 00 00
09 09 2A 00 00 00 10 00 00
I read about that on IXBT too, but somebody said he got his BIOS messed up by doing this and resetting CMOS didn't help. I don't have access to any special equipment here and this is my only laptop, so I wouldn't risk doing that Smile
EDIT: And I couldn't find any strings similar to those you posted anyway Sad
Guys,

I think my bios went cuckoo..LoL. I managed to install Windows 7 64bit using EFI boot and it created Windows Boot Manager in Bios boot. I set first boot on my HDD just for the sack of testing instead of Windows Boot Manager. Now I have problem going to bios even by pressing F2 or F12. When i press the F2/F12 it doesn't go to BIOS but straight to Windows 7. I tried to flash the original A11/A04 to reset/remove the Windows Boot Manager but result still the same. I have to take out the cmos battery then i can manage to go BIOS Menu but whenever i set boot priority to CDROM/HDD. I will never manage to go to BIOS. Is there a way to reset it as factory default? like back to normal. Thanks in advance.

Edit: Oh and congrats TimeWalker as promoted as BIOS GURU. Smile
You could try removing bootx64.efi and bootmgr.efi from EFI/BOOT and EFI/BOOT/Microsoft from the EFI partition mounting under a live distribution of Linux to prevent it from booting the first thing in the sequence and those popping Boot Manager (F12 menu at you). Also as an option you could try booting of off a usb stick with EFI/BOOT/bootx64.efi which is Shell.efi .. just renamed and see of you could start bcfg dump from shell. If it will load up the shell then you can use bcfg menu to remove the boot entry for Windows Boot Manager by doing rm on the dumped entry. The forst option looks more promising for you actually. And thanks for the heads up, will avoid EFI installations now that I know what might happen lol.

Thanks, I guess. Smile Still thinking I do not deserve the title Big Grin
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19