Windows Phone Internals - Unlock bootloader, enable Root Access, create Custom ROM

Heathcliff74

Inactive Recognized Developer
Dec 1, 2010
1,646
2,609
0
Lumia 520
OS : 8.10.14234.375
Flash MainOS error

.....

29.11.2015 07:45:02.555: Format of the executable (.exe) or library (.dll) is invalid.
29.11.2015 07:45:02.691: at ...ctor(Byte[] GPTBuffer)
at ..(NokiaFlashModel )
at ..(ProgressUpdater , NokiaFlashModel , String , Action`2 , String , Stream )
at ..(ProgressUpdater , String , NokiaFlashModel , String )
at ...()

....
The partition table of your phone is not parsed correctly. Can you tell me what you did? You unlocked bootloader. And now you are trying to flash separate partitions? Or are you writing a Zip?
 

Heathcliff74

Inactive Recognized Developer
Dec 1, 2010
1,646
2,609
0
is there have any Engineering ffu for lumia 520/525 .??? searched a lot found nothing
Nope. You can still unlock bootloader, but not with engineering SBL3 (it is optional). After unlocking you can flash custom roms, but you can't use mass storage mode, create backup or enable root access directly on the phone (only root access with custom rom is possible).
 
  • Like
Reactions: Riyad_

Heathcliff74

Inactive Recognized Developer
Dec 1, 2010
1,646
2,609
0
can i change the RM version of my phone???
for ex my lumia 920 is AT&T model with RM 820, can i change it to an international version which is RM-821 and viceversa??????
Probably not. But you can create a custom rom with all AT&T stuff removed. Don't ask me how. Explore yourself. There are ways to remove preinstalled apps, etc.
 

Heathcliff74

Inactive Recognized Developer
Dec 1, 2010
1,646
2,609
0
Unmounted all virtual disks, only usb devices connected are the keyboard and mouse.
Also tried reinstalling Qualcomm drivers and disabled Driver Signature Enforcement.
Problem still exists, see log.
OS: W7x64, Phone OS: W10 10586.11

Would it be possible and safe to use the "Unlock Root Access on ROM images" option, and select the EFIESP and MainOS partitions (on the phone) in MassStorage mode?
Are you sure it is in Mass storage more? Do you see an extra drive in the Windows Explorer? To me it seems you didnt use an Engineering SBL3 to unlock. You can try to switch to Mass Storage, but only the SBL3 download mode interface is usable then.
 
  • Like
Reactions: HATA28

Heathcliff74

Inactive Recognized Developer
Dec 1, 2010
1,646
2,609
0
how can i extract SBL3 partition from lumia 820 Engineering rom , i extract it and i have only EFISP, MainOS,Data but no SBL3, and also how can i edit MainOS.bin or for amking custom roms i have first to wrk on my phone as Mass Storagee?¿
You dont need to extract SBL3. The tool does that for you. When you have to select the SBL3, you can also select the FFU.

About editing Custom ROM: you have to mount the partitions with OSFMount or similar. I suggest you watch my tutorial video.
 
  • Like
Reactions: werty100

Heathcliff74

Inactive Recognized Developer
Dec 1, 2010
1,646
2,609
0
@Heathcliff74

On rom Root access only (no Capabilities Unlocked) if I try to install some Xap with ID_CAP WPDT says that "WMAppManifest.xml" is not valid.
Same Xap works fine on Rom with Capabilities Unlocked.

Can you provide some xap to test if root access is installed?
You have to use the "Windows Phone Application Deployment" tool from the WP81 SDK or the W10M SDK. The old version from WP80 SDK cant be used anymore. But the new deployment tool checks the manifest on PC side and bounces apps with some capabilities. With Root Access the phone does not check capabilities anymore.

So, you can simply delete all capabilities from the manifest, then deploy and it should work, even though there are not enough capabilities in the manifest.
 

HATA28

Senior Member
Jun 7, 2009
54
20
0
Europe
Are you sure it is in Mass storage more? Do you see an extra drive in the Windows Explorer? To me it seems you didnt use an Engineering SBL3 to unlock. You can try to switch to Mass Storage, but only the SBL3 download mode interface is usable then.
I used an Engineering SBL3 from a L820, and yes it is in MassStorage mode... Drive letter G: (as stated in the log file)
Code:
11/29/2015 12:20:27.92: Found device on interface: 71de994d-8b7c-43db-a27e-2ae7cd579a0c
11/29/2015 12:20:27.92:   Device path: \\.\G:
I tried to root it by using another pc but it didnt work either.
 

Ranomez

Senior Member
Jun 1, 2010
1,216
295
103
@Heathcliff74 I have tested root acces on multiple WP8.1 versions (6-7 versions) on my phone and the issue where the phone has no sound and can't play any media seems to not be related to the OS version as it happens on all of them so it seems the files that your tool modifies on the EFIESP and/or MainOS partitions have different contents on some phones.
I just did this thinking it might be related to people being on old OS versions but seems not, hope this helps you in some way.
 

laurenti

Senior Member
Jul 16, 2009
168
0
0
Buzau
The partition table of your phone is not parsed correctly. Can you tell me what you did? You unlocked bootloader. And now you are trying to flash separate partitions? Or are you writing a Zip?
First I tried zip flash, then I tried flash separate partitions (EFIESP -> ok, then MainOS+Data -> fails). Same error.

Last edit : I found several errors when Unlock Root Access on ROM images :

HTML:
30.11.2015 10:15:08.510: Found device on interface: 71de994d-8b7c-43db-a27e-2ae7cd579a0c
30.11.2015 10:15:08.510:   Device path: \\.\F:
30.11.2015 10:15:08.510: Found device on interface: 86e0d1e0-8089-11d0-9ce4-08003e301f73
30.11.2015 10:15:08.510:   Device path: \\.\F:
30.11.2015 10:15:08.510: Found device on interface: 53f56307-b6bf-11d0-94f2-00a0c91efb8b
30.11.2015 10:15:08.510:   Device path: \\.\F:
30.11.2015 10:15:08.510: Found device on interface: 9e3bd5f7-9690-4fcc-8810-3e2650cd6ecc
30.11.2015 10:15:08.510:   Device path: \\.\F:
30.11.2015 10:15:08.510: Found device on interface: 08324f9c-b621-435c-859b-ae4652481b7c
30.11.2015 10:15:08.510:   Device path: \\.\F:
30.11.2015 10:15:08.510: Found device on interface: 7eaff726-34cc-4204-b09d-f95471b873cf
30.11.2015 10:15:08.510:   Device path: \\.\F:
30.11.2015 10:15:08.510: Found device on interface: 0fd3b15c-d457-45d8-a779-c2b2c9f9d0fd
30.11.2015 10:15:08.510:   Device path: \\.\F:
30.11.2015 10:15:08.542: Failed to retrieve device descriptor.
30.11.2015 10:15:08.542:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:08.542:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:08.542:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:08.542:         Incorrect function
30.11.2015 10:15:08.542:         
30.11.2015 10:15:08.620: Found device on interface: 71de994d-8b7c-43db-a27e-2ae7cd579a0c
30.11.2015 10:15:08.620:   Device path: \\.\F:
30.11.2015 10:15:08.620: Found device on interface: 86e0d1e0-8089-11d0-9ce4-08003e301f73
30.11.2015 10:15:08.620:   Device path: \\.\F:
30.11.2015 10:15:08.620: Found device on interface: 53f56307-b6bf-11d0-94f2-00a0c91efb8b
30.11.2015 10:15:08.620:   Device path: \\.\F:
30.11.2015 10:15:08.620: Found device on interface: 9e3bd5f7-9690-4fcc-8810-3e2650cd6ecc
30.11.2015 10:15:08.620:   Device path: \\.\F:
30.11.2015 10:15:08.620: Found device on interface: 08324f9c-b621-435c-859b-ae4652481b7c
30.11.2015 10:15:08.620:   Device path: \\.\F:
30.11.2015 10:15:08.620: Found device on interface: 7eaff726-34cc-4204-b09d-f95471b873cf
30.11.2015 10:15:08.620:   Device path: \\.\F:
30.11.2015 10:15:08.620: Found device on interface: 0fd3b15c-d457-45d8-a779-c2b2c9f9d0fd
30.11.2015 10:15:08.620:   Device path: \\.\F:
30.11.2015 10:15:11.823: Failed to retrieve device descriptor.
30.11.2015 10:15:11.823:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:11.823:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:11.823:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:11.823:         Incorrect function
30.11.2015 10:15:11.823:         
30.11.2015 10:15:14.888: Failed to retrieve device descriptor.
30.11.2015 10:15:14.888:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:14.888:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:14.888:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:14.888:         Incorrect function
30.11.2015 10:15:14.888:         
30.11.2015 10:15:17.661: Failed to retrieve device descriptor.
30.11.2015 10:15:17.661:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:17.661:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:17.661:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:17.661:         Incorrect function
30.11.2015 10:15:17.661:         
30.11.2015 10:15:20.349: Failed to retrieve device descriptor.
30.11.2015 10:15:20.349:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:20.349:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:20.349:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:20.349:         Incorrect function
30.11.2015 10:15:20.349:         
30.11.2015 10:15:21.958: Found device on interface: 71de994d-8b7c-43db-a27e-2ae7cd579a0c
30.11.2015 10:15:21.958:   Device path: \\.\H:
30.11.2015 10:15:21.958: Found device on interface: 86e0d1e0-8089-11d0-9ce4-08003e301f73
30.11.2015 10:15:21.958:   Device path: \\.\H:
30.11.2015 10:15:21.958: Found device on interface: 53f56307-b6bf-11d0-94f2-00a0c91efb8b
30.11.2015 10:15:21.958:   Device path: \\.\H:
30.11.2015 10:15:21.958: Found device on interface: 9e3bd5f7-9690-4fcc-8810-3e2650cd6ecc
30.11.2015 10:15:21.958:   Device path: \\.\H:
30.11.2015 10:15:21.958: Found device on interface: 08324f9c-b621-435c-859b-ae4652481b7c
30.11.2015 10:15:21.958:   Device path: \\.\H:
30.11.2015 10:15:21.958: Found device on interface: 7eaff726-34cc-4204-b09d-f95471b873cf
30.11.2015 10:15:21.958:   Device path: \\.\H:
30.11.2015 10:15:21.958: Found device on interface: 0fd3b15c-d457-45d8-a779-c2b2c9f9d0fd
30.11.2015 10:15:21.958:   Device path: \\.\H:
30.11.2015 10:15:23.672: Failed to retrieve device descriptor.
30.11.2015 10:15:23.672:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:23.672:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:23.672:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:23.672:         Incorrect function
30.11.2015 10:15:23.672:         
30.11.2015 10:15:25.782: Found device on interface: 71de994d-8b7c-43db-a27e-2ae7cd579a0c
30.11.2015 10:15:25.782:   Device path: \\.\H:
30.11.2015 10:15:25.782: Found device on interface: 86e0d1e0-8089-11d0-9ce4-08003e301f73
30.11.2015 10:15:25.782:   Device path: \\.\H:
30.11.2015 10:15:25.782: Found device on interface: 53f56307-b6bf-11d0-94f2-00a0c91efb8b
30.11.2015 10:15:25.782:   Device path: \\.\H:
30.11.2015 10:15:25.782: Found device on interface: 9e3bd5f7-9690-4fcc-8810-3e2650cd6ecc
30.11.2015 10:15:25.782:   Device path: \\.\H:
30.11.2015 10:15:25.782: Found device on interface: 08324f9c-b621-435c-859b-ae4652481b7c
30.11.2015 10:15:25.782:   Device path: \\.\H:
30.11.2015 10:15:25.782: Found device on interface: 7eaff726-34cc-4204-b09d-f95471b873cf
30.11.2015 10:15:25.782:   Device path: \\.\H:
30.11.2015 10:15:25.782: Found device on interface: 0fd3b15c-d457-45d8-a779-c2b2c9f9d0fd
30.11.2015 10:15:25.782:   Device path: \\.\H:
30.11.2015 10:15:28.672: Failed to retrieve device descriptor.
30.11.2015 10:15:28.672:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:28.672:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:28.672:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:28.672:         Incorrect function
30.11.2015 10:15:28.672:         
30.11.2015 10:15:31.700: Failed to retrieve device descriptor.
30.11.2015 10:15:31.700:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:31.700:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:31.700:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:31.700:         Incorrect function
30.11.2015 10:15:31.700:         
30.11.2015 10:15:34.511: Failed to retrieve device descriptor.
30.11.2015 10:15:34.511:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:34.511:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:34.511:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:34.511:         Incorrect function
30.11.2015 10:15:34.511:         
30.11.2015 10:15:37.526: Failed to retrieve device descriptor.
30.11.2015 10:15:37.526:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:37.526:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:37.526:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:37.526:         Incorrect function
30.11.2015 10:15:37.526:         
30.11.2015 10:15:40.511: Failed to retrieve device descriptor.
30.11.2015 10:15:40.511:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:40.511:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:40.511:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:40.511:         Incorrect function
30.11.2015 10:15:40.511:         
30.11.2015 10:15:43.558: Failed to retrieve device descriptor.
30.11.2015 10:15:43.558:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:43.558:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:43.558:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:43.558:         Incorrect function
30.11.2015 10:15:43.558:         
30.11.2015 10:15:46.550: Failed to retrieve device descriptor.
30.11.2015 10:15:46.550:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:46.550:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:46.550:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:46.550:         Incorrect function
30.11.2015 10:15:46.550:         
30.11.2015 10:15:50.327: Failed to retrieve device descriptor.
30.11.2015 10:15:50.327:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:50.327:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:50.327:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:50.327:         Incorrect function
30.11.2015 10:15:50.327:         
30.11.2015 10:15:53.586: Failed to retrieve device descriptor.
30.11.2015 10:15:53.586:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:53.586:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:53.586:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:53.586:         Incorrect function
30.11.2015 10:15:53.586:         
30.11.2015 10:15:57.241: Failed to retrieve device descriptor.
30.11.2015 10:15:57.241:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:15:57.241:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:15:57.241:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:15:57.241:         Incorrect function
30.11.2015 10:15:57.241:         
30.11.2015 10:16:00.326: Failed to retrieve device descriptor.
30.11.2015 10:16:00.326:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:00.326:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:00.326:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:00.326:         Incorrect function
30.11.2015 10:16:00.326:         
30.11.2015 10:16:03.151: Failed to retrieve device descriptor.
30.11.2015 10:16:03.151:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:03.151:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:03.151:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:03.151:         Incorrect function
30.11.2015 10:16:03.151:         
30.11.2015 10:16:06.308: Failed to retrieve device descriptor.
30.11.2015 10:16:06.308:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:06.308:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:06.308:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:06.308:         Incorrect function
30.11.2015 10:16:06.308:         
30.11.2015 10:16:11.133: Failed to retrieve device descriptor.
30.11.2015 10:16:11.133:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:11.133:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:11.133:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:11.133:         Incorrect function
30.11.2015 10:16:11.133:         
30.11.2015 10:16:15.248: Failed to retrieve device descriptor.
30.11.2015 10:16:15.248:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:15.248:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:15.249:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:15.249:         Incorrect function
30.11.2015 10:16:15.249:         
30.11.2015 10:16:19.32: Failed to retrieve device descriptor.
30.11.2015 10:16:19.32:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:19.32:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:19.32:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:19.32:         Incorrect function
30.11.2015 10:16:19.32:         
30.11.2015 10:16:22.178: Failed to retrieve device descriptor.
30.11.2015 10:16:22.179:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:22.179:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:22.179:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:22.179:         Incorrect function
30.11.2015 10:16:22.179:         
30.11.2015 10:16:25.74: Failed to retrieve device descriptor.
30.11.2015 10:16:25.75:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:25.75:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:25.75:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:25.75:         Incorrect function
30.11.2015 10:16:25.75:         
30.11.2015 10:16:28.8: Failed to retrieve device descriptor.
30.11.2015 10:16:28.8:    at ..(String )
   at ...ctor(String devicePathName)
30.11.2015 10:16:28.8:     Failed to initialize WinUSB handle. Device might not be connected.
30.11.2015 10:16:28.8:        at ..( )
   at ..( , String )
   at ..(String )
30.11.2015 10:16:28.8:         Incorrect function
30.11.2015 10:16:28.8:
 
Last edited:
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone