F5F Stay Refreshed Hardware Desktop No, I don't have any expertise in UEFI capsules.

No, I don't have any expertise in UEFI capsules.

No, I don't have any expertise in UEFI capsules.

S
surfligue
Junior Member
40
06-12-2021, 10:31 AM
#1
In recent days I've been examining UEFI capsule updates from several manufacturers, attempting to pull out specific Thunderbolt 4 firmware files for comparison. Using UEFITool (https://github.com/LongSoft/UEFITool), I can now interpret HP and Asus's image formats fairly well—though HP's storage method differs from Asus's. For MSI, however, it remains unclear. Even with a board that uses the same chipset as Asus, such as the Z690 and TB4 Maple Ridge controller, I'm unable to determine where MSI stores the TB firmware or how they update it in the UEFI code. With Asus: the Updater app is named EFI_TbtNvmDrvShellUpdate (5EDCCC1A-F4CA-42F4-8D3E-CA4C0B396BF7), and the actual update happens via an EFI_FIRMWARE_MANAGEMENT_PROTOCOL instance. This protocol, identified by 86C77A67-0B97-4633-A187-49104D0685C7, is managed by a driver (CCF23F50-F7C1-4F00-8E70-13643C37E8B0) and handles the TB firmware updates on most ASUS boards. For HP: the DXE updater uses EFI_TbtNvmDrvShellUpdate, but the TB4 firmware remains uncompressed in a padding section at the end of the capsule, alongside other binary packages for I/O chips and USB-PD. If anyone has experience, please check the MSI support page here: https://www.msi.com/Motherboard/MEG-Z690-ACE/support. I'm assuming the original release (7D27v10) contains some TB4 firmware, but I couldn't locate it in other versions either. Another thought is that MSI might update the TB4 firmware through a different method, not storing it in the UEFI capsule at all—but this seems unlikely given Intel's policy requiring OEMs to use UEFI caps for such updates. MSI technical support won't help much here, which isn't surprising.
S
surfligue
06-12-2021, 10:31 AM #1

In recent days I've been examining UEFI capsule updates from several manufacturers, attempting to pull out specific Thunderbolt 4 firmware files for comparison. Using UEFITool (https://github.com/LongSoft/UEFITool), I can now interpret HP and Asus's image formats fairly well—though HP's storage method differs from Asus's. For MSI, however, it remains unclear. Even with a board that uses the same chipset as Asus, such as the Z690 and TB4 Maple Ridge controller, I'm unable to determine where MSI stores the TB firmware or how they update it in the UEFI code. With Asus: the Updater app is named EFI_TbtNvmDrvShellUpdate (5EDCCC1A-F4CA-42F4-8D3E-CA4C0B396BF7), and the actual update happens via an EFI_FIRMWARE_MANAGEMENT_PROTOCOL instance. This protocol, identified by 86C77A67-0B97-4633-A187-49104D0685C7, is managed by a driver (CCF23F50-F7C1-4F00-8E70-13643C37E8B0) and handles the TB firmware updates on most ASUS boards. For HP: the DXE updater uses EFI_TbtNvmDrvShellUpdate, but the TB4 firmware remains uncompressed in a padding section at the end of the capsule, alongside other binary packages for I/O chips and USB-PD. If anyone has experience, please check the MSI support page here: https://www.msi.com/Motherboard/MEG-Z690-ACE/support. I'm assuming the original release (7D27v10) contains some TB4 firmware, but I couldn't locate it in other versions either. Another thought is that MSI might update the TB4 firmware through a different method, not storing it in the UEFI capsule at all—but this seems unlikely given Intel's policy requiring OEMs to use UEFI caps for such updates. MSI technical support won't help much here, which isn't surprising.