Jump to content

Category:Windows Mobile

From postmarketOS Wiki
(Redirected from Windows Mobile)
Note Category:Windows Phone is the predecessor of this operating system.

This page collects some useful resources for working with Windows Phones.


Tools

WPInternals[1]

WPInternals

WPInternals is an open-source tool by Heathcliff74 and gus33000 that allows you to perform tasks like unlocking bootloaders, flashing or backing up firmware, and USB mass storage on most Lumia Windows Phones. The source code is available on GitHub and it runs natively on Windows.

Windows Device Recovery Tool

The Windows Device Recovery Tool (WDRT) was a proprietary tool by Microsoft which let you recover firmware of Windows Phone and HoloLens devices. It runs natively on Windows.

The WDRT was discontinued in late 2024. An offline version can be downloaded from Microsoft (direct download) and the command line utilities included can be used to restore FFU files to Windows Phones.

Projects

Android4Lumia[2]

Android4Lumia is a project which aims to built android based custom roms for Lumia phones.

Mainline4Lumia[3]

Mainline4Lumia is a project which aims to bring Linux mainline to Lumia phones.

Mainline4Lumia Website including contact data

File Collections

Stock FFU Downloads

Various sites exist for downloading archived full flash update (FFU) files to restore the original operating system or recover from a brick.

EDK-II

EDK-II has been ported to various Windows Phones. A porting guide is available here.

Guides

Unlocking bootloader

Download WPInternals and Windows Device Recovery Tool.

WPInternals is a tool designed to unlock the bootloader and/or secure boot of select Lumia devices made by Nokia and Microsoft.

Windows Device Recovery Tool is installed because it automatically installs all the drivers WPInternals will need.

Once you have installed both tools, Click on "Unlock Bootloader" and follow the instructions to unlock your phone's bootloader. If you run into issues, you may need to use a different USB port (USB 3.0 controllers are known to cause issues) or a different computer.

Enabling Boot Menu

  • Make sure your phone is in mass storage mode and that EFIESP is mounted.
  • Find where EFIESP was mounted, Windows will either mount it in MainOS/EFIESP or with a letter (J:, L:, etc)
  • Anything inside <> needs to be filled in by you, for example: <EFIESP> becomes K:\EFIESP if K: was MainOS and EFIESP was mounted at MainOS/EFIESP
  • Open cmd as Administrator and run the following commands:
  • Turn on displaybootmenu: bcdedit /store <EFIESP>/efi/Microsoft/Boot/BCD /set {bootmgr} displaybootmenu on
  • Set boot menu timeout to 10s: bcdedit /store <EFIESP>/efi/Microsoft/Boot/BCD /set {bootmgr} timeout 10
  • Set displayorder: bcdedit /store <EFIESP>/efi/Microsoft/Boot/BCD /displayorder {default}

Extra steps for phones with a camera button:

  • Devices with a camera button, you can make it so you can choose the boot option using volume keys and camera to select.
  • Unfortunately there is no known way to make power button be select, so phones without a camera button can't use this.
  • bcdedit /store <EFIESP>/efi/Microsoft/Boot/BCD /deletevalue {bootmgr} customactions
  • bcdedit /store <EFIESP>/efi/Microsoft/Boot/BCD /deletevalue {bootmgr} custom:54000001
  • bcdedit /store <EFIESP>/efi/Microsoft/Boot/BCD /deletevalue {bootmgr} custom:54000002


Adding a new BCD entry

  • Make sure your phone is in mass storage mode and that EFIESP is mounted.
  • Find where EFIESP was mounted, Windows will either mount it in MainOS/EFIESP or with a letter (J:, L:, etc)
  • Anything inside <> needs to be filled in by you, for example: <EFIESP> becomes K:\EFIESP if K: was MainOS and EFIESP was mounted at MainOS/EFIESP
  • Open cmd as Administrator and run the following commands:
  • Creating a new entry: bcdedit /store .\BCD /create /d "<NAME>" /application BOOTAPP
  • Copy the GUID (the squiggly brackets and the stuff inside)
  • Set the efi path: bcdedit /store .\BCD /set <GUID> path <EFIFILE>
  • Set the partition the efi file is in: bcdedit /store .\BCD /set <GUID> device partition=<EFIPART>
  • Turn on test signing: bcdedit /store .\BCD /set <GUID> testsigning on
  • Turn off integrity checks: bcdedit /store .\BCD /set <GUID> nointegritychecks on

Extra steps for phones with a camera button

  • Add BCD entry to display order: bcdedit /store .\BCD /displayorder <GUID> /addlast

Extra steps for phones without a camera button

  • We need to set a volume key to boot our new BCD entry
  • custom:54000001 is for volume up, custom:54000002 is for volume down
  • Set the volkey to boot our bcd entry: bcdedit /store BCD /set {bootmgr} <VOLKEY> <GUID>


Unbricking devices on EDL mode(QHSUSB_BULK)

This guide is for Spec B devices only. While this process, make sure WPInternals is not running in the background.

  • Install the WDRT if you don't have it.
  • Connect the device to the PC and check how it's detected from device manager. If device is detected as "QHSUSB_BULK" on "Universal Serial Bus Devices", then it's fine. If it's detected as "Qualcomm HS-USB QDloader 9008" on "Serial Devices", select update driver and install "Care Suite Emergency Connectivity" driver. Disconnect device and remove battery after updating driver.
  • Open a CMD and cd into WDRT directory (C:\Program Files (x86)\Microsoft Care Suite\Windows Device Recovery Tool for 64bit, C:\Program Files\Microsoft Care Suite\Windows Device Recovery Tool for 32bit)
  • Go to LumiaDB (or similar) and download FFU file and emergency files (.ede and .edp) for your device.
  • Type thor2 -mode emergency -hexfile [path to .ede file] -edfile [path to .edp file] to CMD and hit enter, wait for it flashes. When you get FFU_PARSING_ERROR, that means it flashed emergency payload and you can continue.
  • When you get red flashing screen, type thor2 -mode uefiflash -mode uefiflash -ffufile [path to .ffu file] -do_full_nvi_update -do_factory_reset and wait for it to flash FFU.

Devices

On the different device pages is described how porting was done for the specific device. This can be used to get further information on how to port your device

Device Codename Architecture Category USB Net Flashing Touch Screen Wifi FDE Battery 3D IMU Audio Bluetooth Camera GPS Mobile Data SMS Calls
BLU Win HD LTE blu-ql850 armv7
HP Elite x3 hp-falcon aarch64 - - - - - - - - - - -
HTC HD 2 htc-leo armv7 archived N Y Y Y Y Y N
HTC Touch Pro2 htc-rhodium armhf
Microsoft Lumia 535 microsoft-chakra armv7 N P N P N N N N N N N N N N N
Microsoft Lumia 550 microsoft-saimaa armv7
Microsoft Lumia 640 microsoft-dempsey armv7 testing Y Y N N N N Y N N N N N N N
Microsoft Lumia 640 XL microsoft-makepeace armv7 Y N N P N N N N N N N N N N N
Microsoft Lumia 650 LTE microsoft-saana armv7 Y
Microsoft Lumia 950 microsoft-talkman aarch64 N N Y Y P N N N N N P N N N N N
Microsoft Lumia 950 XL microsoft-cityman aarch64 N N Y Y P N N N N N P N N N N N
Nokia Lumia 520 nokia-fame armv7 archived Y P Y Y - - - - - - - - - - -
Nokia Lumia 530 nokia-rock armv7 P P Y N
Nokia Lumia 620 nokia-sand armv7 archived N Y Y
Nokia Lumia 625 nokia-max armv7
Nokia Lumia 630 nokia-moneypenny armv7 Y Y P Y N N N N N N N N N N N N
Nokia Lumia 720 nokia-rm885 armv7 downstream Y Y P Y
Nokia Lumia 730 nokia-superman armv7 Y N Y Y N N N Y N N N N N N N
Nokia Lumia 820 nokia-arrow armv7
Nokia Lumia 830 nokia-tesla armv7 testing Y P P P N N N N N N N N N N N
Nokia Lumia 920 nokia-phi armv7
Nokia Lumia 925 nokia-catwalk armv7
Nokia Lumia 930 nokia-martini armv7
Samsung Ativ S samsung-i8750 armv7

See also

Subcategories

This category has only the following subcategory.