Field PG M3 BIOS Upgrade: Creating Bootable FreeDOS USB Drive

David Krause11 min read
PLC HardwareSiemensTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview: Field PG M3 BIOS Update Workflow

The SIMATIC Field PG M3 is Siemens' ruggedized industrial programming device for STEP 7 V5.x, STEP 7 Professional, TIA Portal, and S7-PLCSIM. Like any PC-class hardware, the Field PG M3 carries an AMI/Phoenix-compatible BIOS (or UEFI firmware on later sub-revisions) that occasionally requires an update to support new STEP 7/TIA Portal versions, newer Intel microcode, additional boot devices, or ACPI/battery-charge corrections on systems where the internal backup battery has been replaced.

Siemens ships each BIOS package as a self-extracting archive containing a DOS executable (commonly PHLASH16.EXE, BIOS_UPD.EXE, or MakeUSB.exe), the binary ROM image (.ROM, .WPH, or .FD), and a Update.txt with release notes. Because flashing must occur below the operating system to guarantee exclusive access to the SPI flash chip, Siemens mandates a FreeDOS boot environment. Windows cannot run the flash utility directly; even administrator rights will fail because the chipset is locked once Windows initializes ACPI.

The official Siemens procedure documented in support entry Entry ID 109758232 – IPC & Field PG firmware update process calls for the helper package Create_FREEDOS_USB_FD.zip and a Windows tool MakeUSB.exe. In practice, MakeUSB.exe refuses to detect any USB stick that does not already contain a FreeDOS boot sector, and the helper ZIP is increasingly hard to locate on Siemens' support pages. This article documents the field-proven workaround using Rufus to build the bootable FreeDOS medium, then walks through the full BIOS flashing procedure and post-update verification on a Field PG M3.

Prerequisites and Required Files

  • BIOS package: Download the matching Field PG M3 BIOS update ZIP from Siemens Industry Online Support. Verify the model code (typically 6ES7710-1xxxxx or 6ES7711-1xxxxx) against the file's Update.txt before extracting.
  • USB stick: 512 MB minimum, 8 GB maximum recommended. Larger sticks trigger UEFI/Legacy GPT conflicts on older Field PG revisions. SanDisk Cruzer Fit and Kingston DataTraveler 100 G3 are field-verified. Back up any data on the stick; it will be repartitioned.
  • Rufus: Version 3.22 or later (4.x also supported) from rufus.ie. Rufus is portable and does not require installation.
  • FreeDOS 1.3 base files: Optional. Rufus can pull the FreeDOS kernel automatically; if you need an offline path, fetch the FreeDOS USB Lite installer from freedos.org/download.
  • AC power: Field PG must be connected to the charger throughout. Loss of mains during flash bricks the EC/KBC chip and forces SPI programmer recovery.
  • Battery: If the BIOS update is being performed after a CMOS/RTC battery swap, install the new battery before flashing; some Field PG M3 BIOS images refuse to write if RTC_POWER_OK is low.

Why FreeDOS and Why Not Windows

The flash utility (PHLASH16 or its OEM equivalent) writes directly to the SPI NOR that holds the BIOS image, the ME (Management Engine) region, and the EC firmware. Windows locks the SPI controller's write-protect register via the chipset's SPI Protection Register (SPR) as soon as the OS enumerates ACPI. Even signed drivers cannot bypass this lock without a kernel-mode helper that the OS blocks on Secure Boot-enabled industrial images.

FreeDOS runs in real mode with no memory manager, no HAL, and no ACPI. The chipset boots in legacy mode with the SPI bus fully open for read/write. Because FreeDOS does not initialize USB 3.0 XHCI controllers, the USB stick must be plugged into a USB 2.0 port on the Field PG M3 — typically the two ports on the left side of the unit, marked with the USB trident and a non-SS label.

Critical: Never boot FreeDOS with a USB 3.0 (SS or SS↔) port attached. The XHCI driver is not loaded under FreeDOS and the system will hang at Starting MS-DOS... or report No DOS partition found.

The MakeUSB.exe Limitation and Root Cause

MakeUSB.exe is a thin wrapper around format /FS:FAT32 /V:FREEDOS and xcopy. It scans removable drives via WMI Win32_DiskDrive and looks for a partition signature of 0x55AA plus a FREEDOS volume label. If the volume label is missing or the MBR is generic, the tool returns the error "Could not find a FreeDOS bootable USB stick. Please prepare the medium first."

On Windows 10 1903 and later, Microsoft changed the default removable-drive behaviour: format writes a Windows-style MBR (with the BOOTMGR marker) rather than a DOS-style MBR, and the volume label is upper-cased to FREEDOS only if the user explicitly types it. MakeUSB.exe was last revised for Windows 7 and is no longer maintained, so it rejects what is, in practice, a perfectly bootable FreeDOS stick.

The recommended workaround is to bypass MakeUSB.exe entirely and use Rufus as the FreeDOS medium preparer. Rufus produces a clean FreeDOS MBR, copies a known-good kernel (KERNEL.SYS), COMMAND.COM, and the FDCONFIG.SYS stub, and labels the volume FDRESIZE or FREEDOS depending on the version selected.

Building the Bootable FreeDOS USB with Rufus

  1. Insert the USB stick into the programming workstation (not the Field PG M3 yet). Windows will offer to format it; cancel — Rufus handles that.
  2. Launch rufus-3.xx.exe as Administrator. Confirm UAC.
  3. Set the parameters exactly as in the table below.
Rufus Parameter Required Value Reason
Device Your USB stick (verify disk number) Selecting the wrong disk destroys data
Boot selection FreeDOS Pulls FreeDOS 1.3 base automatically
Partition scheme MBR Field PG M3 legacy BIOS uses MBR, not GPT
Target system BIOS or UEFI-CSM Matches Phoenix/AMI legacy boot path
File system Large FAT32 (Default) Compatible with FreeDOS FDISK
Volume label FREEDOS Satisfies MakeUSB.exe detection logic
Cluster size Default (16 KB for 4 GB+) FreeDOS does not support exFAT
  1. Click START. Rufus downloads FD13-FullUSB.zip (~32 MB) on first use; subsequent runs use a cached copy. Acknowledge the data-loss warning.
  2. When Rufus reports READY, close it. Verify the stick in Windows Explorer: the volume label must read FREEDOS and the root must contain COMMAND.COM, KERNEL.SYS, and FDCONFIG.SYS.
  3. Open the Siemens BIOS update archive and copy all extracted files (preserving the directory tree) to the root of the USB stick. Typical contents: PHLASH16.EXE, BIOS.WPH, Update.txt, and a platform-specific platform.ini.
  4. (Optional) Create a AUTOEXEC.BAT on the stick containing PHLASH16.EXE /S /C /D /F /P /K /R BIOS.WPH if your Update.txt documents this flag set. This allows unattended flashing once FreeDOS boots.
  5. Safely eject the USB stick from the workstation.
Warning: Do not copy the Siemens archive into a subfolder on the stick. PHLASH16.EXE searches only the current working directory for BIOS.WPH by default; subfolder layouts break automated scripts.

Alternative FreeDOS USB Creation Methods

If Rufus is unavailable or blocked by corporate policy, three additional paths are documented and field-verified on Field PG M3.

  • UNetbootin (legacy versions 700 and earlier): Choose Distribution → FreeDOS, select the target drive, click OK. Newer UNetbootin releases dropped FreeDOS; pin to the 700 build if you go this route.
  • FreeDOS USB Lite installer from freedos.org/download: Run the installer on Windows, point it at the USB stick, and accept the default layout. Produces a FDRESIZE-labelled volume that MakeUSB.exe also accepts.
  • Manual FDISK + SYS: Boot a Windows 98 SE rescue disk in a VM, run FDISK /MBR, create a primary partition, set it active, then FORMAT /S /Q X:. Copy the FreeDOS base files from the ISO. This is the slowest path and only recommended when Rufus and UNetbootin are both unavailable.

All three alternatives must end with a USB stick that contains COMMAND.COM, KERNEL.SYS, an MBR with 0x55AA, and (ideally) a FREEDOS volume label. Test by booting any legacy PC from the stick before taking it to the Field PG M3.

Executing the BIOS Update on Field PG M3

  1. Shut down Windows on the Field PG M3 completely. Sleep and hibernate are not sufficient — the SPI bus is partially active and the flash utility will refuse to start.
  2. Plug the prepared USB stick into a USB 2.0 port on the Field PG M3 (left side, non-SS port).
  3. Power on and immediately press F2 to enter BIOS Setup. If the prompt is missed, power-cycle and retry. The Field PG M3 does not have a fast-boot option by default.
  4. In the Boot tab, set Boot Option #1 to the USB stick (typically listed as UEFI: SanDisk Cruzer Fit or USB: Kingston DT100). Disable Secure Boot if it is greyed out. Press F10 to save and exit.
  5. The system reboots and FreeDOS should print its banner. If you see Missing operating system or the system falls back to Windows, the USB stick is not being detected — re-check the port (USB 2.0) and the MBR.
  6. At the C:\> prompt, type dir and confirm that PHLASH16.EXE and BIOS.WPH are present.
  7. Run the flash utility. The most common invocation on Field PG M3 is:
    PHLASH16.EXE /S /C /D /F /P /K BIOS.WPH

Flag glossary (defaults shown in parentheses):

Flag Effect
/S Save existing BIOS to BIOS.SAV on the USB stick
/C Clear CMOS after flashing (forces a re-POST with new defaults)
/D Disable both the Are you sure? prompt and the reboot after flash prompt
/F Flash without user interaction (must be combined with /D)
/P Program the entire ROM, not just the boot block
/K Keep existing DMI data (serial, asset tag, UUID)
/R Reset ME (Management Engine) to defaults after flash
  1. The flash typically completes in 60–90 seconds. Do not power off the unit; the utility performs a final verification pass and reports Flash complete or hex error codes (see troubleshooting matrix).
  2. If /C was specified, the system reboots and re-enters Setup with defaults cleared — re-enter date/time and boot order.

Verification and Post-Update Checks

  1. Power on and press F2 to enter BIOS Setup. Record the new BIOS version from the Main screen; it must match the version listed in the Siemens Update.txt.
  2. Confirm boot order is still correct: Windows Boot Manager first, network boot disabled unless required for SIMATIC commissioning.
  3. Boot into Windows. Open Device Manager → System Devices → Intel Management Engine Interface. Verify the ME version under Properties → Driver → Driver Version reflects the new release.
  4. Run Siemens SIMATIC Field PG M3 Diagnostic Tool (if installed) and confirm that all hardware self-tests pass.
  5. Launch STEP 7 / TIA Portal and verify the Field PG M3 is detected under Online → Accessible Nodes. New BIOS versions occasionally change the PG/PC interface MAC address; re-authorize the device in the project tree if STEP 7 reports an unknown MAC.
  6. Check the charging profile: if the BIOS update was performed after a battery swap, the battery must charge to >80% within 90 minutes and report Healthy in the Windows Battery Report (powercfg /batteryreport). Field reports indicate that after a successful BIOS refresh, the previously stuck battery-state machine initializes correctly.

Troubleshooting Matrix

Symptom Hex Code / Output Root Cause Corrective Action
MakeUSB.exe reports No FreeDOS stick found N/A Volume label is not FREEDOS; MBR is Windows-style Re-run Rufus with Boot selection = FreeDOS, Volume label = FREEDOS
FreeDOS hangs at Starting MS-DOS... N/A USB stick is on a USB 3.0 (SS) port; XHCI not initialised Move stick to a USB 2.0 port
PHLASH16 returns error 0x1A BIOS_WPH_NOT_FOUND Update files were copied to a subfolder Copy BIOS.WPH and PHLASH16.EXE to USB root
PHLASH16 returns error 0x09 BAD_IMAGE_SIGNATURE Wrong BIOS image for this Field PG M3 revision Re-download the BIOS package using the exact MLFB / model code
PHLASH16 returns error 0x12 SPI_WRITE_PROTECT BIOS lock jumper set or ME in recover mode Check service jumper J4 on the motherboard; clear ME via /R flag
System reboots twice after flash, hangs on third POST N/A CMOS not cleared; new defaults conflict with old NVRAM Re-run PHLASH16 /C or physically clear CMOS via header
Battery icon shows 0% and will not charge after flash N/A Battery gas gauge was uninitialised; BIOS update refreshes EC firmware Allow a full charge/discharge cycle; if still 0%, reseat battery connector
STEP 7 reports Unknown PG/PC interface N/A MAC address changed after BIOS refresh Re-set the PG/PC interface in Control Panel → Set PG/PC Interface
FreeDOS prints Bad or missing Command Interpreter N/A COMMAND.COM missing or corrupted during copy Re-extract the Siemens BIOS archive to the stick; do not drag-and-drop across file systems
Safety: If the unit powers off during flash, do not reconnect mains until at least 30 seconds have elapsed. Reconnecting too quickly can leave the SPI NOR in an inconsistent state; recovery requires an external SPI programmer (e.g. CH341A + SOIC8 clip) and a known-good BIOS dump. Siemens service centres use entry Entry ID 23440635 as the in-house reference for this recovery procedure.

Frequently Asked Questions

Why does MakeUSB.exe fail to detect my USB stick even though it boots FreeDOS?

MakeUSB.exe checks for a volume label of exactly FREEDOS and a DOS-style MBR. Windows 10/11 renames the label and writes a Windows MBR by default. Re-create the stick with Rufus using Boot selection = FreeDOS and Volume label = FREEDOS; the label is case-sensitive.

Can I run the BIOS flash from Windows instead of FreeDOS?

No. The chipset locks the SPI controller once Windows initializes ACPI. Attempting to flash from Windows returns SPI_WRITE_PROTECT (0x12) or silently corrupts the image. Always boot FreeDOS from a USB 2.0 port before running PHLASH16 or its OEM equivalent.

What size USB stick should I use for the Field PG M3 BIOS update?

Use a stick between 512 MB and 8 GB. Larger sticks trigger GPT partitioning conflicts on legacy BIOS; sticks smaller than 512 MB cannot hold the FreeDOS base plus the Siemens BIOS archive, which is typically 25–40 MB extracted.

Where do I download Create_FREEDOS_USB_FD.zip referenced in Update.txt?

Siemens no longer hosts this helper consistently. The recommended replacement is Rufus from rufus.ie, which builds a FreeDOS USB stick in one step. The FreeDOS base files themselves remain available from freedos.org/download as the FreeDOS USB Lite installer.

Do I need to clear CMOS after the flash?

Yes, if the BIOS image changed the default NVRAM layout. Re-run the flash with the /C flag, or boot into BIOS Setup, select Load Setup Defaults, save with F10, and re-enter your boot order and date/time. After a battery replacement, always clear CMOS so the gas-gauge state machine re-initialises correctly.

Back to blog