Bios-Doctor BIOS and Firmware Modding Forum Bios-Doctor – BIOS & Firmware Modding Forum
    • Home Page
    • Categories
    • Recent
    • Popular
    • World
    • Tags
    • Users
    • Groups
    • Register
    • Login
    • Profile
    • Following 0
    • Followers 0
    • Topics 22
    • Shares 0
    • Posts 31
    • Groups 1
    K Offline
    1. Bios-Doctor - BIOS & Firmware Unlock
    2. Korwin
    3. Posts
    Bios-Doctor Telegram channel

    Posts

    Recent Best Controversial
    • Windows 11's Latest Security Patch Is Silencing USB Audio on Some PCs

      Windows 11 has done it again. Microsoft has officially confirmed a new bug tied to this month's security update, and this time it's your speakers and headsets taking the hit.

      What's Going Wrong

      According to an updated Microsoft support document, the KB5124008 security update is causing audio output failures on PCs using USB audio devices. Affected users are reporting a range of symptoms, including:

      The dreaded "This device cannot start (Code 10)" error in Device Manager
      Devices not being detected at all
      Volume controls that won't respond
      Sound settings that freeze up
      Complete silence — no audio output whatsoever

      If your USB headset, DAC, or speaker system suddenly went quiet after updating, this bug is likely the culprit.

      Who's Affected

      Microsoft says the issue is limited to USB Audio Class 1.0 devices, so not every USB audio product out there is at risk. That said, the behavior is inconsistent — some devices keep working fine in basic stereo mode but break the moment you switch to multichannel setups like 8-channel audio or 3D/spatial sound.
      Source

      posted in Windows 11 windows11 drivers update
      K
      Korwin
    • Complete History of Haiku OS

      The Complete History of Haiku OS: From OpenBeOS to a Modern Open-Source Operating System

      Haiku OS is one of the most fascinating survival stories in the open-source software world.

      Born from the ashes of the discontinued BeOS, this free and open-source operating system has spent more than two decades evolving from a grassroots community project into a genuinely usable, self-hosting desktop OS. For anyone researching alternative operating systems, retro computing revivals, or the broader open-source ecosystem, understanding the Haiku OS timeline offers valuable insight into how a dedicated volunteer community can keep a beloved platform alive.

      The Origins: OpenBeOS Begins (2001–2004)

      The Haiku project traces its roots back to August 18, 2001, when developers launched what was originally called OpenBeOS — a community effort to recreate and continue the legacy of BeOS after Be Inc. shut its doors. Progress was steady but incremental in the early years. By April 2002, the team had a working prototype of the app_server, the core component responsible for rendering graphical windows, marking the first real proof that the project could produce a functioning desktop environment. The project's identity shifted in June 2004, when the community held its first WalterCon conference in Columbus, Ohio, and officially rebranded from OpenBeOS to the name we know today: Haiku, complete with a new logo.

      Laying the Technical Foundation (2005–2008)

      The mid-2000s were a period of rapid technical growth. In March 2005, the Haiku app_server successfully drew a native graphical interface for the first time, and just a month later, developers browsed the internet natively using the Links text browser inside a graphical terminal window. By July 2005, Tracker — Haiku's file manager, inherited conceptually from BeOS — was running successfully. Hardware compatibility expanded significantly in 2006 with working USB drivers for both UHCI and EHCI controllers, opening the door to a much wider range of peripherals.

      Haiku's visibility in the open-source world grew substantially in 2007. The project exhibited publicly for the first time at the SCaLE 5x conference in February 2007, and just two days later, former Be Inc. CEO Jean-Louis Gassée offered his public support for the project during a Haiku Tech Talk at Google's headquarters. That same year, Haiku was accepted into Google Summer of Code for the first time, bringing in eight student contributors — a program relationship that would continue for years and fuel much of the project's ongoing development. A major milestone arrived on February 12, 2008, when Haiku became self-hosting, meaning the operating system could finally build itself.

      Toward a Stable Release (2009–2013)

      Haiku picked up momentum through a string of alpha releases. R1 Alpha 1 launched in September 2009, followed by Alpha 2 in May 2010, Alpha 3 in June 2011, and Alpha 4 in November 2012. Behind the scenes, the project continuously strengthened its codebase through regular static analysis submissions to Coverity and rolled out a native GCC4 compiler port in January 2009. By July 2013, Haiku had gained full 64-bit support, and that same year the HaikuArchives initiative launched to preserve and modernize legacy BeOS application source code.

      Modernization and Package Management (2013–2018)

      Haiku's architecture matured significantly between 2013 and 2018. The team merged a full package management system in October 2013 and introduced an improved O(1) scheduler with CPU affinity support in early 2014. A Launch Daemon for managing boot sequences and services arrived in mid-2015, and independent security audits — including scans from PVS-Studio — helped identify and resolve long-standing bugs. Software compatibility took a major leap forward in June 2018 with the arrival of LibreOffice on Haiku, followed shortly by the release of Haiku R1 Beta 1 in September 2018, the project's first beta after nearly two decades of alpha development.

      Recent Milestones: UEFI, USB3, and Continued Betas (2018–2021)

      The past several years have brought Haiku firmly into modern hardware territory. UEFI booting support landed in October 2018, stable USB3 (XHCI) support arrived in March 2019, and NVMe storage compatibility followed in April 2019. The project also joined the Outreachy program in 2019 to broaden contributor diversity. Development continued steadily with Haiku R1 Beta 2 in June 2020 and Beta 3 in July 2021, each release narrowing the gap toward a long-awaited full R1 stable version.

      Why the Haiku OS Story Still Matters

      From a single mailing list message in 2001 to a modern, self-hosting operating system with UEFI and NVMe support, Haiku's journey is a testament to sustained open-source collaboration. Whether you're a retro computing enthusiast, a Linux or BSD alternative-OS researcher, or simply curious about what happened to BeOS, the Haiku project's timeline remains one of the longest-running and most successful community OS revival efforts in computing history.

      posted in OS related topics haikuos operating system beos
      K
      Korwin
    • RE: Advanced menu unlock Acer Predator Helios 16 PH16-71

      @Potrachen0o hello!
      Thanks for visiting us :-)

      Cheers!

      posted in Insyde H2O BIOSes Unlocking Requests
      K
      Korwin
    • BIOS Utilities from Plato Mavropulos (platomav)

      BIOSUtilities

      Description

      BIOSUtilities is a collection of various BIOS/UEFI-related utilities which aid in research and/or modding purposes.

      Installation

      BIOSUtilities is a Python 3 project at its core, but also relies on various external utilities and/or dependencies.

      Python

      First, you must make sure that a compatible Python version (i.e. 3.10.x - 3.13.x) is installed:

      1. Download the latest official Python 3.13.x installer
      2. During installation, make sure that the Optional Features "pip" and "py launcher" are both selected
      3. In the Advanced Options, make sure to "associate files with Python" and add to "environment variables"
      4. Once installation is complete, make sure you install all "Python Packages" and "External Dependencies"

      Note: On Windows, avoid installing Python from the Microsoft Store and prefer the "installer" from the official website instead.

      Requirements

      There are two main types of requirements, depending on the utility: "Python Packages" and "External Executables / Scripts".

      Python Packages

      • pefile
      • dissect.util

      Python packages can be installed via Pypi (e.g. pip)

      python -m pip install --upgrade -r requirements.txt
      

      or

      python -m pip install pefile==2023.2.7 dissect.util==3.20
      

      External Executables / Scripts

      External executables and/or scripts (e.g. TianoCompress.exe, big_script_tool.py, 7z.exe) are expected to be found via the "PATH" local environment variable, by default, which is configured differently depending on the operating system.

      Setup "PATH" on Linux

      Linux Path

      or

      sudo install "/path/to/downloaded/executable" /usr/local/bin
      
      Setup "PATH" on Windows

      Windows Path

      Note: In the "Environment Variables" window, you can modify the "Path" variable under "User variables" instead of "System variables", contrary to what many guides suggest.

      Setup "PATH" on MacOS

      Mac Path

      Alternatively, you can create a folder named "external" at the root of the "biosutilities" project (i.e. next to "common" directory) and place all external dependencies there.

      • 7-Zip (i.e. 7z.exe for Windows or 7zz for macOS or 7zz, 7zzs for Linux)
      • UEFIFind (i.e. UEFIFind.exe for Windows or UEFIFind for Linux/macOS)
      • UEFIExtract (i.e. UEFIExtract.exe for Windows or UEFIExtract for Linux/macOS)
      • TianoCompress (i.e. TianoCompress.exe for Windows or TianoCompress for Linux/macOS)
      • ToshibaComExtractor (i.e. comextract.exe for Windows or comextract for Linux/macOS)

      Note: On Linux, you need to compile "comextract" from sources as no pre-built binary exists.

      Note: On Linux and macOS, you need to compile "TianoCompress" from sources as no pre-built binary exists.

      Optionally, to decompile the Intel BIOS Guard Scripts (when applicable), you must have the following 3rd party python script at PATH or "external":

      • BIOS Guard Script Tool (i.e. big_script_tool.py)

      Note: On Windows, in the "Environment Variables" window, you need to add ".PY" to the PATHEX system variable, as it may not have been added when installing Python.

      Compatibility

      Unless explicitely noted, all utilities should work under Windows, Linux or macOS operating systems which have Python 3.10 - 3.13 support.

      Usage

      There are two different possible flows when using the BIOSUtilities project:

      • Main (simple)
      • Package (advanced)

      You can use either one or the other, depending on your needs. Most end-users should probably choose the "Main" flow, which is very simple to use and automatically attempts to process one or more input files against all available utilities in one run. The "Package" flow is for those who are more familiar with python and/or need to use the project programmatically as a library/dependency.

      Main

      The "main" script provides a simple way to check and parse each of the user provided files against all utilities, in succession. It is ideal for quick drag & drop operations but lacks the finer control of the "Package" method.

      1. Download or clone the repository to a local directory
      2. Install the requirements ($PATH or "external" directory)
      3. Drag and drop one or more files to the "main.py" script

      If you use Linux, macOS, or the Windows command prompt/terminal, you may also call "main.py" via arguments and options, as such:

      usage: main.py [-h] [-e] [-o OUTPUT_DIR] [-u UTILITY] [paths ...]
      
      positional arguments:
        paths
      
      options:
        -h, --help                   show this help message and exit
        -e, --auto-exit              do not pause on exit
        -o, --output-dir OUTPUT_DIR  extraction directory
        -u, --utility UTILITY        utility class name
      
      python ./main.py "/path/to/input/file.bin" --output-dir "/path/to/output/folder"
      
      python ./main.py "/path/to/input/file.bin" -e -o "/path/to/output/folder" -u AmiUcpExtract
      

      If no arguments/options are provided, the "main" script requests the input and output paths from the user. If no output path is provided, the utility will use the parent directory of the first input file or fallback to the runtime execution directory.

      Enter input file or directory path: "C:\P5405CSA.303"
      
      Enter output directory path: "C:\P5405CSA.303_output"
      

      Package

      Each utility is derived from a base "BIOSUtility" template and all utilities form the "biosutilities" python package, which can be installed from PyPi:

      python -m pip install --upgrade biosutilities[pefile,lznt1]
      

      Installing the python package is the recommended way to call one or more utilities either via the CLI (main.py script) or programatically (python imports, utility arguments).

      biosutilities --help
      
      biosutilities "/path/to/input/file.bin" -o "/path/to/output/folder/" -u PhoenixTdkExtract -e
      
      from biosutilities.ami_pfat_extract import AmiPfatExtract
      
      ami_pfat_extractor = AmiPfatExtract(input_object='/path/to/input/file.bin', extract_path='/path/to/output/folder/')
      
      is_supported = ami_pfat_extractor.check_format()
      is_extracted = ami_pfat_extractor.parse_format()
      
      from biosutilities.dell_pfs_extract import DellPfsExtract
      
      with open('/path/to/input/file.bin', 'rb') as pfs_file:
          pfs_data = pfs_file.read()
      
      dell_pfs_extractor = DellPfsExtract(input_object=pfs_data, extract_path='/path/to/output/directory/', padding=8)
      
      is_supported = dell_pfs_extractor.check_format()
      is_extracted = dell_pfs_extractor.parse_format()
      

      Arguments

      Each BIOSUtility expects the following required and optional arguments to check and/or parse a given file format:

      input_object (required)
      input_object: str | bytes | bytearray = b''
      
      extract_path (required)
      extract_path: str = runtime_root()
      
      padding (optional)
      padding: int = 0
      

      If the required arguments are not provided, placeholder values are set so that it is possible to use the BIOSUtility-inherited instance to access auxiliary public methods and class constants. However, checking and/or parsing of file formats will not yield results.

      Methods

      Once the BIOSUtility-inherited object is initialized with arguments, its two public methods can be called:

      check_format

      Check if input object is of specific supported format

      is_supported: bool = check_format()
      
      parse_format

      Process input object as a specific supported format

      is_extracted: bool = parse_format()
      

      Utilities

      • AMI BIOS Guard Extractor
      • AMI UCP Update Extractor
      • Apple EFI IM4P Splitter
      • Apple EFI Image Identifier
      • Apple EFI Package Extractor
      • Apple EFI PBZX Extractor
      • Award BIOS Module Extractor
      • Dell PFS Update Extractor
      • Fujitsu SFX BIOS Extractor
      • Fujitsu UPC BIOS Extractor
      • Insyde iFlash/iFdPacker Extractor
      • Panasonic BIOS Package Extractor
      • Phoenix TDK Packer Extractor
      • Portwell EFI Update Extractor
      • Toshiba BIOS COM Extractor
      • VAIO Packaging Manager Extractor

      AMI BIOS Guard Extractor

      AmiPfatExtract
      

      Description

      Parses AMI BIOS Guard (a.k.a. PFAT, Platform Firmware Armoring Technology) images, extracts their SPI/BIOS/UEFI firmware components and optionally decompiles the Intel BIOS Guard Scripts. It supports all AMI PFAT revisions and formats, including those with Index Information tables or nested AMI PFAT structures. The output comprises only final firmware components which are directly usable by end users.

      Note that the AMI PFAT structure may not have an explicit component order. AMI's BIOS Guard Firmware Update Tool (AFUBGT) updates components based on the user/OEM provided Parameters and Options or Index Information table, when applicable. Thus, merging all the components together does not usually yield a proper SPI/BIOS/UEFI image. The utility does generate such a merged file with the name "00 -- ALL" but it is up to the end user to determine its usefulness. Additionally, any custom OEM data, after the AMI PFAT structure of "n" components, is stored in the last file with the name "<n + 1> -- OOB" and it is once again up to the end user to determine its usefulness. In cases where the data of a component includes a nested AMI PFAT structure, the utility will process and extract it automatically as well.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • BIOS Guard Script Tool (optional)

      AMI UCP Update Extractor

      AmiUcpExtract
      

      Description

      Parses AMI UCP (Utility Configuration Program) Update executables, extracts their firmware components (e.g. SPI/BIOS/UEFI, EC, ME etc) and shows all relevant info. It supports all AMI UCP revisions and formats, including those with nested AMI PFAT, AMI UCP or Insyde iFlash/iFdPacker structures. The output comprises only final firmware components and utilities which are directly usable by end users.

      Arguments

      Additional optional arguments are provided for this utility:

      • checksum -> bool : verify AMI UCP Checksums (slow)

      Requirements

      • 7-Zip (required)
      • TianoCompress (required)
      • BIOS Guard Script Tool (optional)

      Apple EFI IM4P Splitter

      AppleEfiIm4pSplit
      

      Description

      Parses Apple IM4P multi-EFI files and splits all detected EFI firmware into separate Intel SPI/BIOS images. The output comprises only final firmware components and utilities which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      No additional requirements are needed for this utility.

      Apple EFI Image Identifier

      AppleEfiIdentify
      

      Description

      Parses Apple EFI images and identifies them based on Intel's official "IBIOSI" tag, which contains info such as Model, Version, Build, Date and Time. Additionally, the utility can provide both "IBIOSI" and "Apple ROM Version" structure info, when available, as well as a suggested EFI image filename, while also making sure to differentiate any EFI images with the same "IBIOSI" tag (e.g. Production, Pre-Production) by appending a checksum of their data.

      Arguments

      Additional optional arguments are provided for this utility:

      • silent -> bool : suppress structure display

      The utility exposes certain public class attributes, once parse_format() method has been successfully executed:

      • efi_file_name -> str : Suggested image filename, based on Intel "IBIOSI" information
      • intel_bios_info -> dict[str, str] : Information contained at Intel "IBIOSI" structure
      • apple_rom_version -> dict[str, str] : Information contained at "Apple ROM Version" structure

      Requirements

      • UEFIFind (required)
      • UEFIExtract (required)

      Apple EFI Package Extractor

      AppleEfiPkgExtract
      

      Description

      Parses Apple EFI PKG firmware packages (e.g. FirmwareUpdate.pkg, BridgeOSUpdateCustomer.pkg, InstallAssistant.pkg, iMacEFIUpdate.pkg, iMacFirmwareUpdate.tar), extracts their EFI images, splits those in IM4P format and identifies/renames the final Intel SPI/BIOS images accordingly. The output comprises only final firmware components which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • 7-Zip (required)
      • UEFIFind (required)
      • UEFIExtract (required)

      Apple EFI PBZX Extractor

      AppleEfiPbzxExtract
      

      Description

      Parses Apple EFI PBZX images, re-assembles their CPIO payload and extracts its firmware components (e.g. IM4P, EFI, Utilities, Scripts etc). It supports CPIO re-assembly from both Raw and XZ compressed PBZX Chunks. The output comprises only final firmware components and utilities which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • 7-Zip (required)

      Award BIOS Module Extractor

      AwardBiosExtract
      

      Description

      Parses Award BIOS images and extracts their modules (e.g. RAID, MEMINIT, _EN_CODE, awardext etc). It supports all Award BIOS image revisions and formats, including those which contain LZH compressed files. The output comprises only final firmware components which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • 7-Zip (required)

      Dell PFS Update Extractor

      DellPfsExtract
      

      Description

      Parses Dell PFS Update images and extracts their Firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and Utilities (e.g. Flasher etc) component sections. It supports all Dell PFS revisions and formats, including those which are originally LZMA compressed in ThinOS packages (PKG, RAW/LVFS), ZLIB compressed or Intel BIOS Guard (PFAT) protected. The output comprises only final firmware components which are directly usable by end users.

      Arguments

      Additional optional arguments are provided for this utility:

      • advanced -> bool : extract signatures and metadata
      • structure -> bool : show PFS structure information

      Requirements

      • BIOS Guard Script Tool (optional)

      Fujitsu SFX BIOS Extractor

      FujitsuSfxExtract
      

      Description

      Parses Fujitsu SFX BIOS images and extracts their obfuscated Microsoft CAB archived firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and utilities (e.g. WinPhlash, PHLASH.INI etc) components. The output comprises only final firmware components which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • 7-Zip (required)

      Fujitsu UPC BIOS Extractor

      FujitsuUpcExtract
      

      Description

      Parses Fujitsu UPC BIOS images and extracts their EFI compressed SPI/BIOS/UEFI firmware component. The output comprises only a final firmware component which is directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • TianoCompress (required)

      Insyde iFlash/iFdPacker Extractor

      InsydeIfdExtract
      

      Description

      Parses Insyde iFlash/iFdPacker Update images and extracts their firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and utilities (e.g. InsydeFlash, H2OFFT, FlsHook, iscflash, platform.ini etc) components. It supports all Insyde iFlash/iFdPacker revisions and formats, including those which are 7-Zip SFX 7z compressed in raw, obfuscated or password-protected form. The output comprises only final firmware components which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      No additional requirements are needed for this utility.

      Panasonic BIOS Package Extractor

      PanasonicBiosExtract
      

      Description

      Parses Panasonic BIOS Package executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. winprom, configuration etc) components. It supports all Panasonic BIOS Package revisions and formats, including those which contain LZNT1 compressed files and/or AMI PFAT payloads. The output comprises only final firmware components which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • 7-Zip (required)
      • pefile (required)
      • dissect.util (required)

      Phoenix TDK Packer Extractor

      PhoenixTdkExtract
      

      Description

      Parses Phoenix Tools Development Kit (TDK) Packer executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. WinFlash etc) components. It supports all Phoenix TDK Packer revisions and formats, including those which contain LZMA compressed files. The output comprises only final firmware components which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • pefile (required)

      Portwell EFI Update Extractor

      PortwellEfiExtract
      

      Description

      Parses Portwell UEFI Unpacker EFI executables (usually named "Update.efi") and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. Flasher etc) components. It supports all known Portwell UEFI Unpacker revisions (v1.1, v1.2, v2.0) and formats (used, empty, null), including those which contain EFI compressed files. The output comprises only final firmware components and utilities which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • pefile (required)
      • TianoCompress (required)

      Toshiba BIOS COM Extractor

      ToshibaComExtract
      

      Description

      Parses Toshiba BIOS COM images and extracts their raw or compressed SPI/BIOS/UEFI firmware component. This utility is effectively a python wrapper around ToshibaComExtractor by LongSoft. The output comprises only a final firmware component which is directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • ToshibaComExtractor (required)

      VAIO Packaging Manager Extractor

      VaioPackageExtract
      

      Description

      Parses VAIO Packaging Manager executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC, ME etc), utilities (e.g. WBFLASH etc) and driver (audio, video etc) components. If direct extraction fails, it attempts to unlock the executable in order to run at all non-VAIO systems and allow the user to choose the extraction location. It supports all VAIO Packaging Manager revisions and formats, including those which contain obfuscated Microsoft CAB archives or obfuscated unlock values. The output comprises only final firmware components which are directly usable by end users.

      Arguments

      No additional optional arguments are provided for this utility.

      Requirements

      • 7-Zip (required)
        @[email protected]
      posted in Bios Tools
      K
      Korwin
    • All CPU Microcodes Requests and Discussions goes here

      This section of the forum is intended for specific Requests for CPU Microcodes and Discussions on topic.
      The topic is purely informational and closed to posting.

      posted in CPU Microcodes
      K
      Korwin
    • RE: Gigabyte G5 MD Advanced Menu unlock

      Crosslink

      posted in Insyde H2O BIOSes Unlocking Requests
      K
      Korwin
    • RE: Gigabyte Aorus 17G YD Advanced menu unlock

      Crosslink

      posted in AMI BIOSes Unlocking Requests
      K
      Korwin
    • Windows 7/Vista Server 2008 topics goes here

      This section of the forum is intended for specific Windows 7, Windows Vista/Server 2008 features, issues and drivers .
      This topic is purely informational and closed to posting.

      posted in Windows 7/Vista/Server 2008
      K
      Korwin
    • Windows 8-10 discussions goes here

      This section of the forum is intended for specific Windows 8, Windows 10/Server 2012-2019 features, issues and drivers.
      This topic is purely informational and closed to posting.

      posted in Windows 8-10/Server 2012-2019
      K
      Korwin
    • Windows 11 discussions goes here

      This section of the forum is intended for specific Windows 11 features and issues.
      This topic is purely informational and closed to posting.

      posted in Windows 11
      K
      Korwin