So the firmware updates apply checks via script to make sure the default blower is on the phone before apply the update, samples below
Couldn't we remove the "checks" from the script
apply_patch_check("/system/app/AudioWizardView/x86/AudioWizardView.odex",
"b32e8702ea1e9d34af45ac144b45758aded50806", "864ea4d3d9aef863286b1d955c423560a9be97d1") || abort(""/system/app/AudioWizardView/x86/AudioWizardView.odex" has unexpected contents.");
apply_patch_check("/system/framework/x86/settings.odex", "56cacf868933ab40f6762392d38592b9ce9385e
ui_print("Verifying current system...");
show_progress(0.100000, 0);
apply_patch_check("/system/app/ASUSBrowser/x86/ASUSBrowser.odex", "a0a8fea0b542b867069512f2036a4bb86411e255", "15c212e9ca2402e5373d630d33f7ee4861961aec") || abort(""/system/app/ASUSBrowser/x86/ASUSBrowser.odex" has unexpected contents.");
apply_patch_check("/system/app/Asphalt/Asphalt.apk", "1e6497b282e570627dcf4f71ef6ad88aad7e68be
Couldn't we remove the "checks" from the script
apply_patch_check("/system/app/AudioWizardView/x86/AudioWizardView.odex",
"b32e8702ea1e9d34af45ac144b45758aded50806", "864ea4d3d9aef863286b1d955c423560a9be97d1") || abort(""/system/app/AudioWizardView/x86/AudioWizardView.odex" has unexpected contents.");
apply_patch_check("/system/framework/x86/settings.odex", "56cacf868933ab40f6762392d38592b9ce9385e
ui_print("Verifying current system...");
show_progress(0.100000, 0);
apply_patch_check("/system/app/ASUSBrowser/x86/ASUSBrowser.odex", "a0a8fea0b542b867069512f2036a4bb86411e255", "15c212e9ca2402e5373d630d33f7ee4861961aec") || abort(""/system/app/ASUSBrowser/x86/ASUSBrowser.odex" has unexpected contents.");
apply_patch_check("/system/app/Asphalt/Asphalt.apk", "1e6497b282e570627dcf4f71ef6ad88aad7e68be