====== Information ====== * Dell Latitude 5591 ====== BIOS Settings ====== * [[devices;dell_latitude_5591_spinesnap|fwupdmgr + cctk]] ====== setup_var Mods ====== * [[bios:setup_var_mods:dell_latitude_5591_1.35.0|1.35.0]] ====== EFI Variables Dump ====== * https://github.com/BoringBoredom/UEFI-Editor/blob/master/README.md#how-to-change-hidden-settings-without-flashing-a-modded-bios ===== CSME System Tools ===== * https://winraid.level1techs.com/t/intel-converged-security-management-engine-drivers-firmware-and-tools-2-15/30719 * https://mega.nz/folder/qdVAyDSB#FLCPaDVIsPYiy2TAUjD7RQ * 2024/08/23: ''CSME System Tools v12 r38.rar'' ==== BIOS Dump ==== * Expects ''CSME System Tools v12 r38.rar'' extracted to ''%UserProfile%\Downloads\CSME System Tools v12 r38\'' CD "%UserProfile%\Downloads\CSME System Tools v12 r38\Flash Programming Tool\WIN64" && "FPTW64.exe" -d "BIOS-dump.bin" -BIOS ===== UEFITool ===== * https://github.com/LongSoft/UEFITool/releases * :!: ''UEFITool'' and not Extract/etc * 2024/08/23: ''UEFITool_NE_A68_win64.zip'' ==== Dump ==== * Ctrl + O "%UserProfile%\Downloads\CSME System Tools v12 r38\Flash Programming Tool\WIN64\BIOS-dump.bin" * Ctrl + F -> Text Overclocking Lock * Extract ''PE32 image section'' with ''Extract as-is'' (Ctrl + E) * Creates ''Section_PE32_image_Setup.sct'' ===== IFRExtractor RS ===== * https://github.com/LongSoft/IFRExtractor-RS/releases * 2024/08/23: ''ifrextractor_v1.5.1_Windows.zip'' ==== IFR Extract ==== * Drag ''Section_PE32_image_Setup.sct'' onto ''ifrextractor.exe'' * ''Section_PE32_image_Setup.sct.0.0.en-US.ifr.txt'' is created wherever the original ''.sct'' is ===== EFI Variables ===== * 2024/11/17: [[bios;ifr_dumps;dell_latitude_5591_1.35.0|BIOS 1.35.0]] "%UserProfile%\Downloads\CSME System Tools v12 r38\Flash Programming Tool\WIN64\Section_PE32_image_Setup.sct.0.0.en-US.ifr.txt" ====== BIOS Downgrade ====== * https://github.com/vuquangtrong/Dell-PFS-BIOS-Assembler * ''1.39.0'' (17 Jun 2025) -> ''1.1.6'' (21 May 2018) ((:?: Apparently there's a ''1.0.1'' version: [[https://dl.dell.com/FOLDER04986509M/1/Latitude_5X91_Precision_3530_1.1.6.txt|Latitude_5X91_Precision_3530_1.1.6.txt]])) cd ~ && mkdir -p ~/'Projects/Dell-PFS-BIOS-Assembler/bios' && rm -Rf ~/'Projects/Dell-PFS-BIOS-Assembler/src' && git clone --branch 'master' --depth '1' --recurse-submodules 'https://github.com/vuquangtrong/Dell-PFS-BIOS-Assembler.git' ~/'Projects/Dell-PFS-BIOS-Assembler/src' * 1.39.0 Download wget -O ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.39.0.exe' 'https://dl.dell.com/FOLDER12969627M/1/Latitude_5X91_Precision_3530_1.39.0.exe' --user-agent='command' * 1.39.0 Extract rm -Rf ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.39.0.exe_extracted' && python3 ~/'Projects/Dell-PFS-BIOS-Assembler/src/Dell_PFS_Extract.py' --disassemble ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.39.0.exe' * 1.1.6 Download wget -O ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.1.6.exe' 'https://dl.dell.com/FOLDER04986510M/1/Latitude_5X91_Precision_3530_1.1.6.exe' --user-agent='command' * 1.1.6 Extract rm -Rf ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.1.6.exe_extracted' && python3 ~/'Projects/Dell-PFS-BIOS-Assembler/src/Dell_PFS_Extract.py' --disassemble ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.1.6.exe' * Mod 1.1.6 (''1.39.0'' identifiers) rm -fv ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.1.6.exe_extracted/entries/Model Information-1.1.6.bin' ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.1.6.exe_extracted/entries/PFS Information-1.1.6.bin' cp -fv ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.39.0.exe_extracted/entries/Model Information-1.39.0.bin' ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.39.0.exe_extracted/entries/PFS Information-1.39.0.bin' ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.1.6.exe_extracted/entries' python3 ~/'Projects/Dell-PFS-BIOS-Assembler/src/Dell_PFS_Assembler.py' --folder ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.1.6.exe_extracted/entries' * USB recovery-flash **modded** ''~/Downloads/BIOS_IMG.rcv'' mv -fv ~/'Projects/Dell-PFS-BIOS-Assembler/bios/Latitude_5X91_Precision_3530_1.1.6.exe_extracted/entries/__output.exe' ~/'Downloads/BIOS_IMG.rcv' * :!: F12-boot flash official BIOS (fix identifier), then USB recovery-flash official ''~/Downloads/BIOS_IMG.rcv'' **and** reset BIOS options wget -O ~/'Downloads/BIOS_IMG.rcv' 'https://dl.dell.com/FOLDER04986510M/1/Latitude_5X91_Precision_3530_1.1.6.exe' --user-agent='command' && sha256sum ~/'Downloads/BIOS_IMG.rcv' | grep 'f5b920de2682eab67704e93951427c9ca3498ba890176841f969f7fb02f5376d' ====== Findings ====== ===== Linux ===== * Windows OSI above 2013 causes backlight keys to not work ((laptop MFG is 2019, BIOS 2018, BIOS notes claim certified Win10; interestingly 2013 works best on Linux :p)) * Linux OSI causes a ''typec'' error in ''dmesg'' //seemingly// only with old ''1.1.6'' BIOS (Win2013 OSI fine) * ''pci_aspm=off'' disables: [ 0.208891] [ T1] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3] * //Pretty// sure above line included AER on new ''1.39.0'' BIOS, but not old ''1.1.6'' [ 0.210563] [ T1] acpi PNP0A08:00: _OSC: platform does not support [AER]