texhex / BiosSledgehammer

Automated BIOS, ME, TPM firmware update and BIOS settings for HP devices
Apache License 2.0
128 stars 17 forks source link

BIOS settings need to be applied in the order they are defined #67

Closed texhex closed 6 years ago

texhex commented 6 years ago

The setting "Require BIOS PW to change TBT SL" for a new EliteBook G5 fails with ACCESS DENIED (RC 6).

Assumption: This setting can not be changed while the device has no BIOS password at all. Needs verification.

texhex commented 6 years ago

This could also be caused if the setting "Thunderbolt Mode" is set to "Disable"

texhex commented 6 years ago

After reviewing the logs, it's clear this is not caused by a missing password as the operator did used a password. The configuration was missing the setting Thunderbolt Mode and by default it was set to Disable - as HP has forgot this setting with BIOS version 1.00.05 and it only appeared in 1.01.08.

This however, also shows that there are BIOS settings that depend on each other which means we will need to find a way to apply BIOS settings in a given order. Right now, as we use hash tables internally, this is not possible (the order of keys in a hash table is not determined and can change at any time).

texhex commented 6 years ago

Another example: The BIOS Settings for the 850 G1 (in our example) read:

Boot Mode==UEFI Native (Without CSM)
SecureBoot==Enable

However, they are applied in the order

This means, if Boot Mode is set to UEFI (With CSM), the BIOS configuration will be rejected because SecureBoot can not be activated until UEFI Native is set.

texhex commented 6 years ago

This change is live in v5.0.6, closing issue.