How to get PPIN (Protected Processor Identification Number) on Core i7-9700K - Intel

Apparently all Intel CPUs after Ivy Bridge have a PPIN, but I haven't been able to read it from MSR 0x4e or 0x4f as of yet. Do I need to write a UEFI app (I read somewhere that you need to enable it in firmware, but I don't see an option for that. I assume that a UEFI app or driver would have those privileges.) to find my PPIN or is there some way to find it from my OS (Linux)? The command rdmsr 0x4f hasn't been working for me.

Related

QXDM working on JASJAR

I managed to get QXDM work with JASJAR, for this I used the DMRouter.exe software and Qualcomm USB Host drivers (search for Axess_tel.zip). The QXDM software gets a lot of interesting information from the Qualcomm chip.
Now, the question is how can I get this information from inside the device? I would like to understand what exactly the DMRouter.exe program does, and then to communicate with the chip directly, the same way QXDM does.
Can anybody help with the disassembly of DMRouter.exe?

How To Download CE 6 OS design

Hi
I want to transfer my own windows ce 6.0 os design to a htc prophet ?
Is it possible?
I found a nk.bin file in os release dir. is it the same as nk.nbf or it needs something to be added to it like ipl/spl?
No.
Let me just verify that I understand you correctly:
You have Platform Builder for Windows CE (not Mobile) 6 and you compiled and OS.
Now you want to put it on your Prophet?
Here is why this can not work:
a) You do not have the hardware drivers. Even if by some miracle you got the Prophet BSP (board support package) from HTC, because CE 6 architecture is so different from CE 5 on which the BSP is based you would have to rewrite them.
b) The nk.bin Platform Builder produces is in plain binary format. The nk.nbf which the Prophet bootloader can recognize is in HTC's special encrypted format so the bootloader will not read the bin.
Yes. You get it right. I know if I want to use phone features completely I need BSP. But what if I want just use some standard features? just LCD and phone features.
Also I saw nbftool that decrypt and encrypt nbf files. Can I use it to encrypt files for prophet?
You need BSP for everything, not just "full features". Every little bit of hardware that connects to the CPU requires a driver unique for your device, that includes the screen, the digitizer (touch screen), hardware keys, USB port, SD card, etc.
This is why the Linux project for these devices hasn't moved beyond booting the kernel.
There are tons of work to be done (not to say it is impossible).
I am not sure about the nbftool but even if you manage to create an image that boots best case scenario is you will see something on the screen.
But you will have no way of controlling the device - no touch screen or keys, and no way to connect to it from windows since you do not have USB drivers.
Then what are the BSPs which exist in Wince by default. There is a ARMv4. How can I use it? Can you help me?
There is ARMv4 and there is Samsung, TI, Xscale, etc. Unlike x86 - all are different. Different memory map, different GPIO, different periferials.
Better waste your time on something else. Anyway CE 6 does not have phone features at all. Compile it for your PC and see that yourself.
mamaich said:
There is ARMv4 and there is Samsung, TI, Xscale, etc. Unlike x86 - all are different. Different memory map, different GPIO, different periferials.
Better waste your time on something else. Anyway CE 6 does not have phone features at all. Compile it for your PC and see that yourself.
Click to expand...
Click to collapse
I think ARMv4 BSP in Platform Builder already have enough driver for this type of CPUs. And HTC phones are ARMv4. So normaly I should be able to build and transfer my OS to there. CE 6 have buitin drivers for modem,LCD and so on. But there is no phone. Because phone is an app that runs on CE. So if I just want to use devices like modem It is enough. The problem is nbf files ae encrypted and os.bin file should encrypt to os.nb and then transfer to device.
shariat said:
I think ARMv4 BSP in Platform Builder already have enough driver for this type of CPUs. And HTC phones are ARMv4. So normaly I should be able to build and transfer my OS to there. CE 6 have buitin drivers for modem,LCD and so on. But there is no phone. Because phone is an app that runs on CE. So if I just want to use devices like modem It is enough. The problem is nbf files ae encrypted and os.bin file should encrypt to os.nb and then transfer to device.
Click to expand...
Click to collapse
you dont really understand the problem.
ARMv4 is not a cpu, it is the ARM version 4 instruction set ....
afaik your phone has some kind of OMAP.
i don't know if CE6 has a BSP for that, but even if it does, it will still not work without modifications.
a recent example. a friend of mine wanted to download a generix xscale 25x eboot (bootloader) to a device that had xscale 255. he almost killed the whole device because the RAM memory map of this generic eboot managed to overlap with the device's original bootloader memory space in ROM. (the virtual memory mapping differed in such an unlucky way.) and so the device's own bootloader thought it had to flash it in instead of loading it into RAM and it overwrote part of itself. luckily only the splashscreen got damaged...
(and of course the device would not boot this eboot.)
that's what happens when someone who has not ever dealt with hardware and memory mappings (i.e. you) tries to play with platform builder and flashing.
also, what is this about CE6 having built in drivers for the modem (you mean GPRS?) and LCD. it doesn't have the correct ones for your device.
and, the phone is more than just an app, it also needs drivers. the modem needs it too.
all in all...i strongly discourage you trying to flash that nk.bin.
it is not even in a format that your bootloader will understand, it is MS BIN format. the nk.nb0 in same release dir (or if there is none then cvrtbin will convert it) will be the raw format that needs to be encoded for nbf, but that is far from enough because it will never boot anyway. so forget this info.
cmonex said:
you dont really understand the problem.
ARMv4 is not a cpu, it is the ARM version 4 instruction set ....
afaik your phone has some kind of OMAP.
i don't know if CE6 has a BSP for that, but even if it does, it will still not work without modifications.
Click to expand...
Click to collapse
But at least the way of using loader is possible. Like how Linux is loaded
shariat said:
But at least the way of using loader is possible. Like how Linux is loaded
Click to expand...
Click to collapse
loader, for what purpose?
cmonex said:
loader, for what purpose?
Click to expand...
Click to collapse
For running WinCE , like Linux. Am i right? Linux devs uses Loader to load Linux on Mobile devices. I think I am confused. Help me on this. My purpose is to use my own OS design.
shariat said:
For running WinCE , like Linux. Am i right? Linux devs uses Loader to load Linux on Mobile devices. I think I am confused. Help me on this. My purpose is to use my own OS design.
Click to expand...
Click to collapse
well, for linux, the drivers have to be written too. (most of the time there are existing ones with source available that can be modified, though.)
so it is more complicated than that.
shariat: writing your own OS for this hardware is not impossible, but is not easy.
I suggest you go away for a while and get hold of platform builder and an arm reference guide and read everything you can about the device, the memory structure, your dedicated hardware structure, and then start writing.
Knowing how the hardware and CPU operate is fundamental to the OS you will write. Platform Builder will give you some source code access and help give you some ideas.
This is a nearly impossible task for a hobbyist coder. I'm sure people will help you, but you need to discuss what you have in mind.
Have a look here for some other easier ideas:
http://simpleos.iroot.ca/index.php
V

[Q] Install Android on China Navigator WinCE 6

Hello,
Recently i bought a chinese navigator with Windows Embedded CE 6. The device specs are:
Platform=AT8X0
OEM=BSP Version: AIVCE6_NANO_Rel1.04.1.01
core=ARM1136JF-S
name=AT840
vend=SiRF
Im trying to install android from this thread: forum.xda-developers.com/showthread.php?t=619980
Now, when i run HaRET, it says: "haret is not running on 'system' mode. Major functionallity...", then haret opens and when i hit the run button it says: "Failed to lock 379 pages (code 6)".
This is the log file from haret:
===== HaRET 0.5.2 =====
Setting KMode to true.
Old KMode was 0
Finished initializing output
Loading dynamically bound functions
Function 'AllocPhysMem' in library 'coredll' at 40026BF8
Function 'FreePhysMem' in library 'coredll' at 40026C3C
Unable to load library 'gx'
Unable to load library 'gx'
Unable to load library 'gx'
Unable to load library 'gx'
Function 'LoadLibraryExW' in library 'coredll' at 4003AF48
Function 'NLedSetDevice' in library 'coredll' at 4005168C
Function 'GetSystemPowerStatusEx2' in library 'coredll' at 4002C894
Function 'SleepTillTick' in library 'coredll' at 40026C68
Function 'CreateToolhelp32Snapshot' in library 'toolhelp' at 4012107C
Function 'CloseToolhelp32Snapshot' in library 'toolhelp' at 401210CC
Function 'Process32First' in library 'toolhelp' at 40121190
Function 'Process32Next' in library 'toolhelp' at 40121208
Function 'Module32First' in library 'toolhelp' at 401213EC
Function 'Module32Next' in library 'toolhelp' at 40121470
Function 'Heap32ListFirst' in library 'toolhelp' at 4012155C
Function 'Heap32ListNext' in library 'toolhelp' at 40121680
Function 'Heap32First' in library 'toolhelp' at 4012178C
Function 'Heap32Next' in library 'toolhelp' at 401218FC
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Detecting current machine
Trying to detect machine (Plat='AT8X0' OEM='BSP Version: AIVCE6_NANO_Rel1.04.1.01')
Wince reports processor: core=ARM1136JF-S name=AT840 cat= vend=SiRF
Looking at machine Alpine
Looking at machine Apache
Looking at machine AximX50
Looking at machine AximX5
Looking at machine Beetles
Looking at machine Blueangel
Looking at machine Himalaya
Looking at machine Magician
Looking at machine Universal
Looking at machine H1910
Looking at machine H1940
Looking at machine H2200
Looking at machine H3600b
Looking at machine H3700
Looking at machine H3800
Looking at machine H3900
Looking at machine H4000
Looking at machine H4300
Looking at machine H5000
Looking at machine H6340
Looking at machine HX2000
Looking at machine HX4700
Looking at machine Sable
Looking at machine Wizard
Looking at machine Hermes
Looking at machine Trinity
Looking at machine Athena
Looking at machine G500
Looking at machine Artemis
Looking at machine Herald
Looking at machine Prophet
Looking at machine RX3000
Looking at machine Treo700wx
Looking at machine e310
Looking at machine e740
Looking at machine Acer_n30
Looking at machine Mio_P550
Looking at machine Kaiser
Looking at machine Loox5xx
Looking at machine Loox400
Looking at machine MioA701
Looking at machine Wallaby
Looking at machine Raphael
Looking at machine Jornada820
Looking at machine H3100
Looking at machine H3600a
Looking at machine Tornado
Looking at machine Libra
Looking at machine Generic Intel PXA27x
Looking at machine Generic Intel PXA
Looking at machine Generic Intel StrongArm
Looking at machine Generic TI OMAP
Looking at machine Generic TI OMAP15xx
Looking at machine Generic Samsung s3c24xx
Looking at machine Generic MSM7xxxA
Looking at machine Generic MSM7xxx
Looking at machine Generic Atlas
Looking at machine Generic ARM 920t
Looking at machine Generic ARM 926
Looking at machine Generic ARM v6
Looking at arch Generic Intel PXA27x
Exception on arch Generic Intel PXA27x detect
Looking at arch Generic Intel PXA
Exception on arch Generic Intel PXA detect
Looking at arch Generic Intel StrongArm
Looking at arch Generic TI OMAP
Looking at arch Generic TI OMAP15xx
Looking at arch Generic Samsung s3c24xx
Looking at arch Generic MSM7xxxA
Looking at arch Generic MSM7xxx
Looking at arch Generic Atlas
Looking at arch Generic ARM 920t
Exception on arch Generic ARM 920t detect
Looking at arch Generic ARM 926
Exception on arch Generic ARM 926 detect
Looking at arch Generic ARM v6
Exception on arch Generic ARM v6 detect
Detecting ram size
WinCE reports memory size 67108864 (phys=51556352 store=2269184)
Mapping mmu table
Exception on mmu table lookup
Unable to map in mmu table! Many functions will not work.
Build L1 reverse map
Found 0 uncached and 0 cached L1 mappings (ignored 0).
Not registering command IGPIO
Not registering command WG|PIO
Not registering command GPLR
Not registering command GPDR
Not registering command GAFR
Not registering command GPIO
Not registering command GPIOST
Registering command LOADLIBRARYEX
Registering command NLEDSET
Not registering command TRACE
Not registering command TRACEMASK
Not registering command TRACE2
Not registering command TRACETYPE
Not registering command TRACE2TYPE
Not registering command TRACEFORWATCH
Not registering command INSN
Not registering command INSNREENABLE
Not registering command INSNREG1
Not registering command INSNREG2
Not registering command INSN2
Not registering command INSN2REENABLE
Not registering command INSN2REG1
Not registering command INSN2REG2
Registering command KILL
Registering command PS
Registering command LSMOD
Registering command ADDR2MOD
Not registering command AC97
Not registering command ATIDBG
Initializing for machine 'Default'
Haret is not running in 'system' mode. Major functionality will not be present.
Exception on cpu id detect
Welcome, this is HaRET 0.5.2 running on WindowsCE v6.0
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Default/generic (Plat='AT8X0' OEM='BSP Version: AIVCE6_NANO_Rel1.04.1.01')
CPU is ? running in user mode
Enter 'HELP' for a short command summary.
Running WSAStartup
Starting gui
In initdialog
Found machine Default
executing startup.txt
HaRET(1)# set RAMSIZE 0x08000000
HaRET(2)# set ramaddr 0x10000000
HaRET(3)# set MTYPE 1667
HaRET(26)# set cmdline "ppp.nostart=0 mddi.width=240 mddi.height=320 msm_sdcc.msmsdcc_fmax=32000000 pm.sleep_mode=0 no_console_suspend"
HaRET(27)# boot
boot KERNEL=zimage INITRD=
Opening file zimage
boot params: RAMADDR=10000000 RAMSIZE=08000000 MTYPE=1667 CMDLINE='ppp.nostart=0 mddi.width=240 mddi.height=320 msm_sdcc.msmsdcc_fmax=32000000 pm.sleep_mode=0 no_console_suspend'
Boot FB feedback: 1
Failed to lock 379 pages (code 6)
Calling WSACleanup
Shutting down
My questions:
1) is there a form to load android from Windows Embedded CE 6? If not,
2) how can i replace windows embedded CE 6 with android?
As far as I know, ROMs are device-specific, so You just can't flash a random device with random ROM. You need a ROM that's specifically cooked for that specific device.
That being said, I am not familiar with Haret. And I could be wrong
mpedrozoduran said:
Hello,
Recently i bought a chinese navigator with Windows Embedded CE 6. The device specs are:
Platform=AT8X0
OEM=BSP Version: AIVCE6_NANO_Rel1.04.1.01
core=ARM1136JF-S
name=AT840
vend=SiRF
Im trying to install android from this thread: forum.xda-developers.com/showthread.php?t=619980
Now, when i run HaRET, it says: "haret is not running on 'system' mode. Major functionallity...", then haret opens and when i hit the run button it says: "Failed to lock 379 pages (code 6)".
This is the log file from haret:
===== HaRET 0.5.2 =====
Setting KMode to true.
Old KMode was 0
Finished initializing output
Loading dynamically bound functions
Function 'AllocPhysMem' in library 'coredll' at 40026BF8
Function 'FreePhysMem' in library 'coredll' at 40026C3C
Unable to load library 'gx'
Unable to load library 'gx'
Unable to load library 'gx'
Unable to load library 'gx'
Function 'LoadLibraryExW' in library 'coredll' at 4003AF48
Function 'NLedSetDevice' in library 'coredll' at 4005168C
Function 'GetSystemPowerStatusEx2' in library 'coredll' at 4002C894
Function 'SleepTillTick' in library 'coredll' at 40026C68
Function 'CreateToolhelp32Snapshot' in library 'toolhelp' at 4012107C
Function 'CloseToolhelp32Snapshot' in library 'toolhelp' at 401210CC
Function 'Process32First' in library 'toolhelp' at 40121190
Function 'Process32Next' in library 'toolhelp' at 40121208
Function 'Module32First' in library 'toolhelp' at 401213EC
Function 'Module32Next' in library 'toolhelp' at 40121470
Function 'Heap32ListFirst' in library 'toolhelp' at 4012155C
Function 'Heap32ListNext' in library 'toolhelp' at 40121680
Function 'Heap32First' in library 'toolhelp' at 4012178C
Function 'Heap32Next' in library 'toolhelp' at 401218FC
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Unable to load library 'ace_ddi'
Detecting current machine
Trying to detect machine (Plat='AT8X0' OEM='BSP Version: AIVCE6_NANO_Rel1.04.1.01')
Wince reports processor: core=ARM1136JF-S name=AT840 cat= vend=SiRF
Looking at machine Alpine
Looking at machine Apache
Looking at machine AximX50
Looking at machine AximX5
Looking at machine Beetles
Looking at machine Blueangel
Looking at machine Himalaya
Looking at machine Magician
Looking at machine Universal
Looking at machine H1910
Looking at machine H1940
Looking at machine H2200
Looking at machine H3600b
Looking at machine H3700
Looking at machine H3800
Looking at machine H3900
Looking at machine H4000
Looking at machine H4300
Looking at machine H5000
Looking at machine H6340
Looking at machine HX2000
Looking at machine HX4700
Looking at machine Sable
Looking at machine Wizard
Looking at machine Hermes
Looking at machine Trinity
Looking at machine Athena
Looking at machine G500
Looking at machine Artemis
Looking at machine Herald
Looking at machine Prophet
Looking at machine RX3000
Looking at machine Treo700wx
Looking at machine e310
Looking at machine e740
Looking at machine Acer_n30
Looking at machine Mio_P550
Looking at machine Kaiser
Looking at machine Loox5xx
Looking at machine Loox400
Looking at machine MioA701
Looking at machine Wallaby
Looking at machine Raphael
Looking at machine Jornada820
Looking at machine H3100
Looking at machine H3600a
Looking at machine Tornado
Looking at machine Libra
Looking at machine Generic Intel PXA27x
Looking at machine Generic Intel PXA
Looking at machine Generic Intel StrongArm
Looking at machine Generic TI OMAP
Looking at machine Generic TI OMAP15xx
Looking at machine Generic Samsung s3c24xx
Looking at machine Generic MSM7xxxA
Looking at machine Generic MSM7xxx
Looking at machine Generic Atlas
Looking at machine Generic ARM 920t
Looking at machine Generic ARM 926
Looking at machine Generic ARM v6
Looking at arch Generic Intel PXA27x
Exception on arch Generic Intel PXA27x detect
Looking at arch Generic Intel PXA
Exception on arch Generic Intel PXA detect
Looking at arch Generic Intel StrongArm
Looking at arch Generic TI OMAP
Looking at arch Generic TI OMAP15xx
Looking at arch Generic Samsung s3c24xx
Looking at arch Generic MSM7xxxA
Looking at arch Generic MSM7xxx
Looking at arch Generic Atlas
Looking at arch Generic ARM 920t
Exception on arch Generic ARM 920t detect
Looking at arch Generic ARM 926
Exception on arch Generic ARM 926 detect
Looking at arch Generic ARM v6
Exception on arch Generic ARM v6 detect
Detecting ram size
WinCE reports memory size 67108864 (phys=51556352 store=2269184)
Mapping mmu table
Exception on mmu table lookup
Unable to map in mmu table! Many functions will not work.
Build L1 reverse map
Found 0 uncached and 0 cached L1 mappings (ignored 0).
Not registering command IGPIO
Not registering command WG|PIO
Not registering command GPLR
Not registering command GPDR
Not registering command GAFR
Not registering command GPIO
Not registering command GPIOST
Registering command LOADLIBRARYEX
Registering command NLEDSET
Not registering command TRACE
Not registering command TRACEMASK
Not registering command TRACE2
Not registering command TRACETYPE
Not registering command TRACE2TYPE
Not registering command TRACEFORWATCH
Not registering command INSN
Not registering command INSNREENABLE
Not registering command INSNREG1
Not registering command INSNREG2
Not registering command INSN2
Not registering command INSN2REENABLE
Not registering command INSN2REG1
Not registering command INSN2REG2
Registering command KILL
Registering command PS
Registering command LSMOD
Registering command ADDR2MOD
Not registering command AC97
Not registering command ATIDBG
Initializing for machine 'Default'
Haret is not running in 'system' mode. Major functionality will not be present.
Exception on cpu id detect
Welcome, this is HaRET 0.5.2 running on WindowsCE v6.0
Minimal virtual address: 00010000, maximal virtual address: 7FFFFFFF
Detected machine Default/generic (Plat='AT8X0' OEM='BSP Version: AIVCE6_NANO_Rel1.04.1.01')
CPU is ? running in user mode
Enter 'HELP' for a short command summary.
Running WSAStartup
Starting gui
In initdialog
Found machine Default
executing startup.txt
HaRET(1)# set RAMSIZE 0x08000000
HaRET(2)# set ramaddr 0x10000000
HaRET(3)# set MTYPE 1667
HaRET(26)# set cmdline "ppp.nostart=0 mddi.width=240 mddi.height=320 msm_sdcc.msmsdcc_fmax=32000000 pm.sleep_mode=0 no_console_suspend"
HaRET(27)# boot
boot KERNEL=zimage INITRD=
Opening file zimage
boot params: RAMADDR=10000000 RAMSIZE=08000000 MTYPE=1667 CMDLINE='ppp.nostart=0 mddi.width=240 mddi.height=320 msm_sdcc.msmsdcc_fmax=32000000 pm.sleep_mode=0 no_console_suspend'
Boot FB feedback: 1
Failed to lock 379 pages (code 6)
Calling WSACleanup
Shutting down
My questions:
1) is there a form to load android from Windows Embedded CE 6? If not,
2) how can i replace windows embedded CE 6 with android?
Click to expand...
Click to collapse
BUMP... a year later, there has to be some more info. On this? I'm looking to do the exact same thing. How about running Android from the SD? Any additional info, it links will help. Thanks
i also ahve a 4` Chinese YF intl GPS ...
can some one port an android build into that ...
very eager to delete wince 5
hello , i`m looking to do the same but i didnt find out yet ?
Bump again
These Chinese GPS units are everywhere and they are cheap as hell. Would buy one today if we could get Andriod running on them. The WinCE Roms are readily available on GPSPassion Forum and
austech.info/gps/40751-chinese-gps-firmware-thread.html
They aren't the experts on the Windows platform that those on this site are. Seems like it should be simple for those that know?
I'm looking for the solution too. I think that topic will grow. I will try today some tricks on my china device, and try to report effects.
Hello,
Any thoughts on this?
I too would like to see Android on my "generic" Chinese HU
sergani said:
Hello,
Any thoughts on this?
I too would like to see Android on my "generic" Chinese HU
Click to expand...
Click to collapse
Can't count how many threads started to this topic here at XDA. If you'ld have read them all carefully you'ld have noticed that it's not possible to replace WinCE by Android. All you could try is to get a dual-boot solution up and running. And even this I failed to do so, because couldn't find an Android version that matches the techn. specs of an WinCE ( navigation ) device.
True, Thanks
Sent from my GT-N7100 using Tapatalk
Hate to necro-bump, but I bought one of these chinese gps units.
There is an android icon which boots what I can only guess is an android emulator within WinCE 6.
This gives full android functionality running in parallel with the wince interface. In fact, the units GPS runs on the android emulated part (iGo)
I can extract files somehow and post for you guys if someone tells me how (know nothing about wince)
there should be some way of putting windows explorer for wince on your sd card and launching it. From there perhaps you could copy the android launch app onto the sd card?

Having difficulty launching emulator in Android Studio.

I'm new to development, but I thought I'd try my hand at it. I got android studio, and after a little trouble shooting got it to work, but I cannot get the emulator to work. When I try I get the following error: "J:\Users\Tatsuno\AppData\Local\Android\sdk\tools\emulator.exe -avd Nexus_S_API_21 -netspeed full -netdelay none
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX kernel module is not installed!"
I enabled virtualizing in my bios (I hope I did it right, I've never done it before) and attempted to install intelhaxm-android.exe. but when I tried to install that I got the following error: "VT not suported
This computer does not support Intel virtualization Technology (VT-x). HAXM cannot be installed
Please refer to the intel HAXM documentation for more information"
As I understand it, my problem is that my computer isn't acknowledging that virtualizing is enabled. any ideas on how to fix this?
Standard emulator very slow, use Genymotion or some other fast emulator

A quick tutorial of installing Windows RT 8.1 on recent Lumia

2/18 Update:
USB charging and controller works, audio probably works. Here's some update on this project:
Battery
Put C:\DPP and C:\EFIESP back. Nokia's driver reads C:\EFIESP\Battery.json in kernel mode (WTF). If you have NokiaEnergyDriver.sys and other PMIC/PEP/MIPI BIF (on some models) drivers installed, you should get battery show up.
Sign drivers?
Yes. Sign everything to prevent bad things from happening. I used a commercial certificate for conveience , but you don't have to do that. Here's a handy script that generates a self-signed certificate and installs it on your phone: https://gist.github.com/imbushuo/4de89ad18a0f538d8ebd18bf6daca56a
Download it, run it as administrator and specify ImageDir to your phone's partition (in mass storage mode). Then sign all your drivers binaries (and catalogs as well) with the fingerprint provided.
When signing your drivers, remember timpstamp all drivers. DigiCert's help documentation is useful for signing binaries.
Turn off UMCI
See https://forum.xda-developers.com/showpost.php?p=36394268&postcount=222. Set UMCIAuditMode key to allow all desktop applications and UMDF drivers load.
Make USB work
You will need several supplemental drivers from Windows Phone: BattFltr.sys, CAD.sys, ufx01000.sys, ufxsynposys.sys (or ufxchipidea.sys, depends on your chipset). Copy registry keys (HKLM\ControlSet001\Services and HKLM\ControlSet001\Enum\ROOT\CAD / HKLM\ControlSet001\Enum\ROOT\BattFltr) add supplemental WDF registry keys. Some files are attached as attachments, so you can take a look to get some idea about that.
Make Windows Store Apps work on unsupported resolution
See my blog post.
---------
While this project is not totally finished (e.g. No Battery status/charging unknown, no cellular, no audio), I decided to post this thread as many people asked me about the tutorial. This is just a brief tutorial, you need to have plenty of time on this to make this happen. Be careful as some steps are very dangerous.
This tutorial is provided AS-IS, without any implicit or expressed warranties. By reading this brief tutorial, you are agreed that you are taking your own risk trying this. I am not responsible for any possible consequences of installing Windows RT or other non-Windows Phone OS on Lumia phones. If your phone ships with Windows 10 Mobile, then this tutorial might not fit you. You can try drivers from other models, but I have no guarantee on this.
General workflow
- Unlock your phone with WPInternals 2.4
- Enter mass storage mode, copy registry files from MainOS partition
- Copy files from DPP partition
- Download Windows RT 8.1 ISO (publicly available on Internet, Google it)
- Download a Lumia 2520 recovery image for some files (I will post these files later)
- Download a Windows Phone 8.1 firmware for your phone
- Extract drivers, re-assembly INF files
- Patch some drivers (see my note)
- Self-sign some drivers (see my note)
- Make sure you know what you are doing: Delete MainOS and Data partition, create new NTFS partition for Windows RT. Do not touch other partitions.
- Apply system image (dism works fine)
- Copy DPP files back (C:\DPP)
- Modify sysprep tasks (see my note)
- Apply BCD configuration
- Boot
- Let OOBE fail once
- Go to mass storage mode again, mount registry and force OOBE run again
- Have fun
Notes on this project
ACPI
Reading ACPI DSDT table will help you understand your phone architecture. ACPI tables are located in PLAT partition. It is easy to extract them with 7-zip (after converting FFU to VHD). To decompile dsdt.aml, you need to download iASL tool, which is available on Internet.
Certain devices, like touch screen or panel, require other devices have driver loaded and enabled. This is not shown in Qualcomm's ACPI implementation. In my case, I need PEP, PEP 3rd, GPIO, BAM, I2C Device, QMUX, Shared Memory drivers loaded to make touchscreen work. It varies by model.
Re-assembly INF files
Mount SYSTEM registry from your phone or FFU, go to DriverDatabase\DriverPackages\<Some Driver Package>, each key in driver package key matches INF sections respectively. See some driver INF files to get some idea.
Remember to check ControlSet001\Service for additional information if necessary. If you are working on Windows Phone 8.1 firmware, check \Windows\System32\Packages to make sure you've got correct files and registry configs. These files are gzipped.
Patch drivers
Certain drivers read DPP partition for device-specific calibration information. While Qualcomm shares the codebase between Windows RT and Windows Phone, DPP partition is handled differently between platforms. You can search Unicode string "PhoneNT" to determine whether drivers read DPP or not.
To fool drivers think they are living in Windows Phone, you can create another multi-string value in the ProductOptions key. I created a value called "AnotherSuite" and filled "PhoneNT" in. Then I modified all "ProductSuite" Unicode strings in drivers to "AnotherSuite". Remember to re-calculate linker checksum (dependencies) and PE checksum.
This is critical to make wireless (Wi-Fi and Bluetooth) subsystem work.
Graphics
DO NOT use user-mode driver module from WP on Windows RT. The Windows Phone Qualcomm GPU driver does not implement DirectX 9, which is required by Windows desktop. Using WP UM driver will crash DWM.
To correctly enable GPU acceleration, use kernel driver and decoder module from your firmware, and user mode driver from Lumia 2520's recovery image. At least this works on Lumia 640 XL.
Touchscreen
Touchscreen works, however, WP driver reports wrong metric system to Windows RT. To workaround this, modify SYSTEM\TOUCH key, make some value larger than expected. See my value for 640XL in attachment.
Remove some sysprep tasks
Remove BCD and WinRE specialization and generalization tasks from sysprep task definition. OOBE will fail still. Boot to mass storage mode, mount SYSTEM registry, change setup type to 1 (see your current OS for ideas about other values), change program path to oobe\msoobe.exe. You should be able to see normal OOBE then.
BCD and Driver Signing
Test signing should be on. Disabling integrity check is recommended (though documentation says this key is ignored prior to Windows 10). Copy catalogs to the new OS, and self-sign drivers you patched.
Kernel Debugger
To enable WinDbg KD, modify your phone BCD:
Code:
bcdedit /store <Path> /dbgsettings usb TARGETNAME:WOATARGET
bcdedit /store <Path> /set {Your OS GUID} Debug On
Connect your phone to PC, start WinDbg, USB kernel debugging, target name "WOATARGET".
Have fun with Windows RT on Lumia, I am going to continue working on audio and battery
Follow
Ty Imbushuo , GREAT WORK
didnt you forgot to make efiesp guid to a efi partition else bcd cant be updated
Is there a way to patch the kernel or a bypass to avoid SECURITY_SYSTEM BSOD on MSM8960 devices?
Thanks for your work. I hope to get a newer Windows Phone soon and try Win10PE, I'm working on a custom shell that hopefully grants it a good experience on handheld devices since we lack ARMv7 ShellExperiences
J0SH1X said:
didnt you forgot to make efiesp guid to a efi partition else bcd cant be updated
Click to expand...
Click to collapse
Qualcomm's firmware is weird, so I didn't do that. (They hard-coded something) Maybe I will try it later with a dev board and see what will happen.
Fantastic job :good:
Is it possible to enable a second external monitor via Miracast ?
What about bluetooth keyboard and mouse ?
Lumia 950/XL should also support 2x monitors ( DisplayPort/HDMI via USB-C ).
It also has more RAM and might run apps better than L640.
imbushuo said:
Qualcomm's firmware is weird, so I didn't do that. (They hard-coded something) Maybe I will try it later with a dev board and see what will happen.
Click to expand...
Click to collapse
thats weired on my 930 this is NEEDED to get rt to boot but weired enough my 640 lte doesnt boot it at alll but sadly i dont get how to reassamble the inf files (im litterally just comparing my compiled touch driver inf with the registry of my 930)
I can not find the windows rt on the Internet. Can I send the file link download?
imbushuo said:
While this project is not totally finished (e.g. No Battery status/charging unknown, no cellular, no r FFU, go to DriverDatabase\DriverPackages\<Some Driver Package>, each key in driver package key matches INF sections res
Click to expand...
Click to collapse
I use google translate so it's hard to follow, it's great when you have a video tutorial, everything is more intuitive and easy.
INF files Qualcomm ARM-based View attachment Inf.zip
prokakavip said:
I use google translate so it's hard to follow, it's great when you have a video tutorial, everything is more intuitive and easy.
Click to expand...
Click to collapse
If you are an end user I would recommend waiting for WPInternals partition dumps for your device
I knew this solution... so they cant make general Qualcomm drivers never. Device specification is nightmare. Better get a hammer and deepmagic
Thank you for all the effort of going through this and providing the information.
Can somebody whoever upload fixed registry files and drivers? i was able to follow all steps successfully (except these parts) but on first boot i just get a blue screen with a sad smiley.
Also, i assumed you meant applying the install.wim image via DISM from the Windows RT 8.1 ISO.
(For those who need more help with this, Google: "Append, apply, and export volume images with a Windows Image (.wim) file",
i'm not allowed to post links due to post count).
Die Anleitung ist jetzt auch in deutsch verfügbar und hier zu finden:
Windows RT 8.1 auf ein Lumia installieren
WPVision.de said:
Die Anleitung ist jetzt auch in deutsch verfügbar und hier zu finden:
Click to expand...
Click to collapse
I registered and it still said i'm not allowed to visit the forum because i dont have permission.
D-V-D-K said:
I registered and it still said i'm not allowed to visit the forum because i dont have permission.
Click to expand...
Click to collapse
That's correct, because you did not follow the guidelines.
The activation for this area is done manually by your first post.
Samuelgames said:
If you are an end user I would recommend waiting for WPInternals partition dumps for your device
Click to expand...
Click to collapse
Can you upload your partition dumps for 640xl?
Removed. Sorry I was being rash.
spavlin said:
INF files Qualcomm ARM-based View attachment 4410518
Click to expand...
Click to collapse
but theese inffiles arent redone from registry
for example touch driver is missing
imbushuo said:
- Download a Lumia 2520 recovery image for some files (I will post these files later)
Click to expand...
Click to collapse
Use at your own risk!
Some Lumia 2520 Firmware And Driver Update ‎10. ‎6. ‎2014:
Code:
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/03/20623735_d3143757b17f94d00f53dc6f3f4dbdf48c36430e.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/03/20624060_4b5dec4829bf5e013bf5e6c045a4ed9367afe88d.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/03/20624064_70ea6951b8f7c7d72963c38e302356f46642ec85.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/03/20624552_3c10b74a53f010a90539ea1e606f562d65a03082.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/03/20626644_7f0f6945d5e0e19e78b3794490990145b98e2c0c.cab
http://au.ds.download.windowsupdate.com/d/msdownload/update/driver/drvs/2014/04/20639225_555ea122b93d34720513db1b344254a0a69a158c.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/04/20639552_08956ac77c46334650fc675794d58325f279ddbb.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/04/20640693_4d4f789e1349e350324fb7e31b60514ae191cb46.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/04/20642401_1278d3d9f4ae8d1903ec0c6f0861ec9912139b96.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/04/20643591_beca8afddf93a8679f6e875f5abfc44f9395975a.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/04/20643598_4a154479fe2ad83eef04c99e96e44b0e88efce8e.cab
http://au.ds.download.windowsupdate.com/c/msdownload/update/driver/drvs/2014/04/20643814_2d9a86009238af018f92aa76a9be453ef9231424.cab

Categories

Resources