• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[TOOL] Newflasher (xperia command line flasher)

Search This thread

munjeni

Senior Member
Jun 2, 2011
9,446
22,041
Disclaimer:

newflasher tool was made for testing and educational purposes, ME is not responsible for what you do on/with your device using newflasher, you must agree that you using newflasher on your own risk, I am not responsible if you brick your device or anything else!


How to use:

OPTIONAL STEP 1:
- if you have missing flash driver just double click exe and confirm driver extraction, an exe will become available, run it and install driver.

OPTIONAL STEP 2:
- this step is optional, this step dump trim area, you can do this and keep those file somewhere on your pc in case you hard brick your device so give it to servicians to repair your phone.

STEP 1:
- Download right firmware for your device using XperiFirm tool, put newflasher.exe into firmware dir created by XperiFirm tool. Before you double click newflasher.exe do in mind something, newflasher tool is programed to flash everything found in the same dir!!! So tool flash all .ta files, all .sin files, boot delivery (whole boot folder), partition.zip, in short all files found in dir! If you no want to flash something just move file which you no want to flash OUT OF FOLDER! Partition.zip .sin files can be flashed only if you extract partition.zip into newly created folder called partition!

STEP 2:
- To start flashing phone put your phone into flash mode, double click newflasher.exe and wait wait wait until your device gets flashed, thats it. Look into log to see if something goes wrong! If all right you are done. If not post your log so I can look!

SOME MORE THINGS:
"You do not need to unlock bootloader or to root the phone if you want to flash a stock firmware from XperiFirm.
There are no files in the stock firmware that need to be deleted. Prompts will ask you to skip some files.
Feel free to press N to every prompt since:
- TA dumping it's not related with DRM keys.
- Flash persist_* files only if you know what you are doing, since you will lose your attest keys. Backup persist partition.
If you need the firmware on both A and B slot use fastboot commands to choose the inactive partion and re-flash."

Happy flashing!


Supported platforms:

- Newflasher is working on Windows, Linux, Android and Darwin, just chose right newflasher binary. With Android version you can flash phone by using another phone!


Changelog:

- version 1: Sorry a lot of work is done in pre pre alpha version and I can't count every changes, just folow development process about version 1, a lot of work is done before it started working. One esential change was done to tool improvement and it is described in one of the my posts related to moving function "erase:" to the section before function "flash:", it is realy improvement and more safer than in time when it was at the start of flashing routine.

- version v2 (15.Aug.2017)
Implemented free disk space safety check, it was missing and danger in case flashing process gets interupted because of the lack of the free disk space needed for sin extractions and temporary files. I have also include GordonGate flash driver prompt so in case somebody have missing flash drivers, simple need to double click exe and folow drivers archive extraction procedure, later need to install these drivers trought Windos device mannager. Also I have implemented an realy pre pre alpha version of the maybe non working trim (why maybe? Because I don't own xzp so can't test) area dump routine, in case it is working we can dump some esentials trim area units from device (probably not a full dump as like it was on every oldest xperia models - no permissions for dumping drm key unit)

- version v3 (23.09.2017)
Some more security checks, it's now a bit safer than v2

- version v4 (21.10.2017)
Updated trim area dumper, now it stores log to the trimarea.log but dump is now in .ta format and writen to the 01.ta and 02.ta

- version v5 (22.10.2017)
Updated trim area dumper, add progress meter, fix y-n prompt (thanks @pbarrette)

- version v6 (22.10.2017)
Updated trim area dumper

- version v7 (23.10.2017)
Updated trim area dumper, newflasher redesigned a bit, fix new partitioning for Oreo

- version v8 (24.10.2017)
Fix trim area dumper

- version v9 & v10 (25.10.2017)
Workaorunds on trim area dumper

- version v11 (07.04.2018)
Support for 2018 devices

- version v12 (29.04.2018)
Try fix doublefree bug/crash (most noticed on Linux 64 bit binary)

- version v13 (01.05.2018)
Fix doublefree bug/crash by removing dynamic allocation from function get_reply

- version v14 & v15 (12.06.2019)
Sony XPeria 1 support added.

- version v16 (16.06.2019)
LUN0 detection optimized.

- version v17 (24.06.2019)
LUN0 detection bug fixed.

- version v18 (10.08.2019)
Untested fix for https://forum.xda-developers.com/cr...wflasher-xperia-command-line-t3619426/page105
Using builtin mkdir instead of calling it trought system call

- version v19 (08.10.2019)
Implemented prompt for flashing persist partition; print skipped .sin files

- version v20 (13.12.2019)
implemented prompt for flashing bootloader,bluetooth,dsp,modem,rdimage to booth a,b slots

- version v21 (29.06.2020)
implemented battery level status check before flashing, flashing bootloader,bluetooth,dsp,modem,rdimage to booth a,b slots is mandatory now and is flashed by default right now, more info, try fix previously reported isue on sync and powerdown command reported 2-3 years ago so I have disabled it and now enabled for test, implemented Macos support (curently need to be tested! If you have plan to test please flash only cache.sin DO NOT flash the rest because of safety for your device!)

- version v22 (30.06.2020)
trying to fix battery capacity retrieval

- version v23 (04.07.2020)
removed battery capacity retrieval (not going to work that way), fix trim area dump file name, new gordongate drivers

- version v24 (04.07.2020)
new feature - now you can run newflasher from script or console with your own command, e.g. newflasher getvar:Emmc-info , I didn't tested all the list of commands, if you do it share them with us!

- version v25 (09.07.2020)
New trim area dump tool, with this change trim area dump is created in 3 secconds. Do in mind this not dump protected units like drm key...etc! Some changes in scripting feature from v24

- version v26 (10.07.2020)
Added 4 diferent reboot modes, reboot to android, reboot to fastboot, reboot to bootloader, power off

- version v27 (11.07.2020) (not yet released)
Workaround in mac libusb

- version v28 (12.07.2020)
Workaround to sync response bug; Fully implemented support for Mac. I'm tested myself on mac 10.14 but confirmed working on mac 10.15 too

- version v29 (12.07.2020)
Mac proper libusb deinitialisation

- version v30 (13.07.2020)
Preparation for Debian packaging; I'm noticed that hex modified arm64 fake pie binary is not working so its now compiled with ndk and its true pie binary now

- version v31 (14.07.2020)
Fix cosmetic bug https://forum.xda-developers.com/showpost.php?p=83056693&postcount=1212 which might confuse somebody

- version 32, not yet released

- version 33 (30.07.2020)
Allow bootloader unlocking with newflasher; Try fix sync response bug for win and darwin too

- version 34 (08.08.2020)
Added support for 32bit sized trim area units (as trim area api changed in xperia mark 2 line) (not yet released because of bug)

- version 35 (08.08.2020)
Updated support for 32bit sized trim area units (as trim area api changed in xperia mark 2 line); Move trim area dumps out of root folder so it not get acidentaly flashed, dumps is now inside folder tadump

- version 36 (27.08.2020)
Some improvements and and possible bug fixes

- version 37 (09.12.2020)
Added support for Xperia 5 II with emmc instead of ufs (not working)

- version 38 (10.12.2020)
Fixed impropper implementation from v37

- version 39 (13.12.2020)
Since mark 2 devices protocol is changed a bit and on some devices OKAY reply is not in separated usb poacket, instead it is merged with data packet, added support for it

- version 40 (03.01.2021)
Temporary solution for determining partition 0 sin file caused by two diferent emmc csd info we found recently on mark 2 devices

- version 41 (03.01.2021)
Removed temporary solution from version 41 so right lun0 sin file get flashed and seccond lun0 get skipped or booth skipped if lun0 sin file do not match device storage size

- version 42 (11.03.2021)
Fix bug in flashing booth slots when current slot is A, thanks to @chrisrg for discovering bug!

- version 43 (12.06.2021)
Support for Mark 3 devices

- version 44 (19.06.2021)
Fully Mark III device implementation

- version 45 (20.06.2021)
Implemented battery level check and prompt user to take a risk and continue flashing or stop flasing if battery level is less than 15 percent

- version 46 (08.07.2021)
Fix problem with filenames which contain "_other", it need to be always flashed to the diferent slot

- version 47 (15.07.2021)
Removed prompt for persist.sin flashing, now its by default skip. Implemented bootloader log retrieval at the end of flashing for better understanding when something goes wrong. Implemented firmware log history retrieval for those who want to know history of the flashed firmwares

- version 48 (19.07.2021)
Flash bootloader,bluetooth,dsp,modem,rdimage to booth slots only on a,b devices

- version 49 (31.07.2021)
Support for XQ-BT41

- version 50 (12.08.2021)
Workin progress on asynchronous usb to make it more like synchronous, added progress bar during send-receive usb packets and more logging. Increased usb timeout to 2 minute. Trying fix sync command at the end of flashing as reported here -> https://github.com/munjeni/newflasher/issues/42

- version 51 (12.08.2021)
Fix empry line printed while receiving usb packets, thanks @elukyan

- version 52 (01.10.2021)
Implemented userprompt for keeping userdata, thanks @OhayouBaka for figuring out! Removed bootloader log retrieval

Credits:

- without @tanipat and his pc companion debug logs this tool will never be possible! Thank you a lot for your time providing me logs! (by the influence of others, He was disappointed me with last post, but I still appreciate his help and can't forget it)
- without @thrash001 who helped testing our tool I never be continue building our tool since I don't have device for testing, thanks mate!
- didn't forgot @beenoliu, thanks mate for testing!
- thanks to @porphyry for testing linux version!
- thanks to @Snow_Basinger for providing sniff log from 2018 device and for testing on his 2018 device
- thanks to @frantisheq for testing newflasher on his 2018 device and for notify about doublefree bug
- thanks to @serajr for providing me some logs which helped me to figure out some things related to 2018 devices
- thanks to @noelex for helping in Xperia 1 implementation
- thanks to @Meloferz for testing on his xperia 1 mark II
- thanks to github contributors, testers and reporters: vog, noelex, TheSaltedFish, solarxraft, pbarrette, MartinX3, kholk
- thanks to Chirayu Desai for tracking addition to Debian and thanks to vog for initiating all that
- thanks to @elukyan for testing and providing me usb sniff logs for mark 3 devices imlementation, thank you so much

Common errors and how to solve:
https://forum.xda-developers.com/t/tool-newflasher-xperia-command-line-flasher.3619426/post-72610228

Source code:

https://github.com/munjeni/newflasher
 

Attachments

  • newflasher_v52.zip
    3.8 MB · Views: 2,065
Last edited:

thrash001

Senior Member
Apr 29, 2011
59
42
here my log..

Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

ERROR: TIMEOUT: failed with error code 997 as follows:
▄berlappender E/A-Vorgang wird verarbeitet.
 - Error writing command!
Drücken Sie eine beliebige Taste . . .
 

munjeni

Senior Member
Jun 2, 2011
9,446
22,041
Common errors and what you need to do:

ERROR: TIMEOUT: failed with error code 997 as follows:
Overlapped I/O operation is in progress.

FIX --------> https://forum.xda-developers.com/t/tool-newflasher-xperia-command-line-flasher.3619426/post-84603931

Error, didn't got signature OKAY reply! Got reply: FAILFailed to verify cms
FIX---------> Make sure to flash right rom model e.g. if your device is SO-01L you need to flash rom model SO-01L or e.g. your phone is H8314 you need to flash rom H8314 ... etc, otherwise you might hardbrick your phone!

Bootloop caused by rooback protection e.g. by flashing an OLD rom over NEWER one e.g. you have android 11 and want back to android 10 that will bootloop your phone if your phone have rollback protection
https://forum.xda-developers.com/t/...-xq-at51-with-flashtool.4119707/post-84509417
in short explanation your bootloader need to be unlocked. Than by relocking bootloader rollback index (rollback protection) is reset to zero. Than you can flash oldest rom because index in that case is zero so you won't get bootloop related to rollback protection.
It was confirmed working:
https://forum.xda-developers.com/t/...-xq-at51-with-flashtool.4119707/post-84637803
https://forum.xda-developers.com/t/...-xq-at51-with-flashtool.4119707/post-84673613

If neither help you to solve problem you should read boot log to get idea, use this command line option for newflasher:
newflasher Read-TA:2:2050
 
Last edited:

tanipat

Senior Member
Nov 22, 2011
293
85
what I got

--------------------------------------------------------
newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#6&3a757eec&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: Universal Serial Bus controllers
Device Instance Id: USB\VID_0FCE&PID_B00B\6&3A757EEC&0&1

ERROR: GetOverlapped_in_Result: failed with error code 31 as follows:
A device attached to the system is not functioning.

- Error reaply! Device didn't replied with OKAY or DATA
Press any key to continue . . .

wait for others to report
 
  • Like
Reactions: munjeni

munjeni

Senior Member
Jun 2, 2011
9,446
22,041
Today I have free time for development, I don't know when I will get free time again, so guys if you hurry to have flasher I am here and waiting. I do not have 2017 device model so I can't test, so can't continue development without your tests :eek:
 

thrash001

Senior Member
Apr 29, 2011
59
42
Driver is the right.

here the next:
Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

ERROR: TIMEOUT: failed with error code 997 as follows:
▄berlappender E/A-Vorgang wird verarbeitet.
 - Successfully write 0x0 bytes to handle.
 - Error writing command!
Drücken Sie eine beliebige Taste . . .
 
  • Like
Reactions: munjeni

munjeni

Senior Member
Jun 2, 2011
9,446
22,041
It would be great if tanipat debug newflasher with monitoring studio so I can compare whats going on? New version is out again.

Edit:
Curent version is safe so you no need to care for brick! Tool currently nothing write to internal mem! I will tell when it is ready for flashing! Now its just pre pre alpha version, only read from phone
 
Last edited:

thrash001

Senior Member
Apr 29, 2011
59
42
in the windows devicemanager is it correct as "SOMC Flash Device"
the next one:
Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

ERROR: TIMEOUT: failed with error code 997 as follows:
▄berlappender E/A-Vorgang wird verarbeitet.
 - Error write! Need nBytes: 0x18 but done: 0x0
 - Error writing command!
Drücken Sie eine beliebige Taste . . .
 
Last edited:
  • Like
Reactions: xrenoix and munjeni

thrash001

Senior Member
Apr 29, 2011
59
42
the same
Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

ERROR: TIMEOUT: failed with error code 997 as follows:
▄berlappender E/A-Vorgang wird verarbeitet.
 - Error write! Need nBytes: 0x18 but done: 0x0
 - Error writing command!
Drücken Sie eine beliebige Taste . . .


---------- Post added at 08:42 PM ---------- Previous post was at 08:41 PM ----------

Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

 - Successfully write 0x18 bytes to handle.
 - Successfully read 0xd bytes from handle.
Raw input [0xD]:

  00000000  4F 4B 41 59 31 30 34 38 35 37 36 30 30           OKAY104857600

get_reaply:[0xD]:

  00000000  4F 4B 41 59 31 30 34 38 35 37 36 30 30           OKAY104857600

 - Successfully write 0xe bytes to handle.
 - Successfully read 0x9 bytes from handle.
Raw input [0x9]:

  00000000  4F 4B 41 59 47 38 31 34 31                       OKAYG8141

get_reaply:[0x9]:

  00000000  4F 4B 41 59 47 38 31 34 31                       OKAYG8141

 - Successfully write 0xe bytes to handle.
ERROR: GetOverlapped_in_Result: failed with error code 31 as follows:
Ein an das System angeschlossenes Gerõt funktioniert nicht.

 - Successfully read 0x0 bytes from handle.
Raw input [0x0]:


 - Error reaply: less than 4!
Drücken Sie eine beliebige Taste . . .

Sorry, i must disconnect the device for the next start
 
  • Like
Reactions: munjeni

munjeni

Senior Member
Jun 2, 2011
9,446
22,041
Thanks a lot! Seems some good progress here! I had set timeout to 60 secconds, seems it was not enought and caused timeout, now I have set to 120 secconds and donesome small modification, hope we get luck now, new version is out :)
 

thrash001

Senior Member
Apr 29, 2011
59
42
Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

 - Successfully write 0x18 bytes to handle.
 - Successfully read 0xd bytes from handle.
Raw input [0xD]:

  00000000  4F 4B 41 59 31 30 34 38 35 37 36 30 30           OKAY104857600

 - Successfully write 0xe bytes to handle.
 - Successfully read 0x9 bytes from handle.
Raw input [0x9]:

  00000000  4F 4B 41 59 47 38 31 34 31                       OKAYG8141

 - Successfully write 0xe bytes to handle.
ERROR: GetOverlapped_in_Result: failed with error code 31 as follows:
Ein an das System angeschlossenes Gerõt funktioniert nicht.

 - Error reaply: less than 4!
Drücken Sie eine beliebige Taste . . .

and this, without disconect a view seconds later again start the exe

Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

 - Successfully write 0x18 bytes to handle.
ERROR: TIMEOUT: failed with error code 997 as follows:
▄berlappender E/A-Vorgang wird verarbeitet.
 - Error reaply: less than 4!
Drücken Sie eine beliebige Taste . . .
 
  • Like
Reactions: munjeni

munjeni

Senior Member
Jun 2, 2011
9,446
22,041
Hmm strange realy. See https://www.lifewire.com/how-to-fix-code-31-errors-2623184 its seems your driver is not working propertly, maybe you have old flashtool driver and not one for newer device (which can be installed by installing sony pc companion software), I have no idea by now, unable to figure out why that happens :( Did you flashed by sony pc companion your device allready and you are sure it is working, can you confirm? Probably if you allready installed flashtool driver you will need to uninstall and reinstall pc companion, have no idea by now what might be a problem :(
 
Last edited:

thrash001

Senior Member
Apr 29, 2011
59
42
so, i have erase the driver. restart windows, install the flashtool driver. start the exe:

Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

 - Successfully write 0x18 bytes to handle.
 - Successfully read 0xd bytes from handle.
Raw input [0xD]:

  00000000  4F 4B 41 59 31 30 34 38 35 37 36 30 30           OKAY104857600

 - Successfully write 0xe bytes to handle.
 - Successfully read 0x9 bytes from handle.
Raw input [0x9]:

  00000000  4F 4B 41 59 47 38 31 34 31                       OKAYG8141

 - Successfully write 0xe bytes to handle.
ERROR: GetOverlapped_in_Result: failed with error code 31 as follows:
Ein an das System angeschlossenes Gerõt funktioniert nicht.

 - Error reaply: less than 4!
Drücken Sie eine beliebige Taste . . .

now i erase the driver, restart windows and let windows install the driver over windows.

(i hope you can undersood my english)
 
  • Like
Reactions: munjeni

munjeni

Senior Member
Jun 2, 2011
9,446
22,041
New version is out, let me know please! I have researched a bit, seems get overlapped result caused some problems and returns imediatelly before thing complete, I have set to "wait complete" hope it is ok now
 

thrash001

Senior Member
Apr 29, 2011
59
42
good morning, so i have reinstall sony companion and start the repair, the new driver is isntall but:

Code:
--------------------------------------------------------
              newflasher.exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&15c311e1&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&15C311E1&0&2

 - Successfully write 0x18 bytes to handle.
 - Successfully read 0xd bytes from handle.
Raw input [0xD]:

  00000000  4F 4B 41 59 31 30 34 38 35 37 36 30 30           OKAY104857600

 - Successfully write 0xe bytes to handle.
 - Successfully read 0x9 bytes from handle.
Raw input [0x9]:

  00000000  4F 4B 41 59 47 38 31 34 31                       OKAYG8141

 - Successfully write 0xe bytes to handle.
ERROR: GetOverlapped_in_Result: failed with error code 31 as follows:
Ein an das System angeschlossenes Gerõt funktioniert nicht.

 - Error reaply: less than 4!
Raw input [0x0]:


Drücken Sie eine beliebige Taste . . .


---------- Post added at 10:27 AM ---------- Previous post was at 10:18 AM ----------

and this is from my windows7 32bit pc, only sony companion is install.

Code:
--------------------------------------------------------
              newflasher (2).exe by Munjeni @ 2017
--------------------------------------------------------
Device path: \\?\usb#vid_0fce&pid_b00b#5&448f588&0&1#{a5dcbf10-6530-11d2-901f-00
c04fb951ed}
Class Description: USB-Controller
Device Instance Id: USB\VID_0FCE&PID_B00B\5&448F588&0&1

 - Successfully write 0x18 bytes to handle.
 - Successfully read 0xd bytes from handle.
Raw input [0xD]:

  00000000  4F 4B 41 59 31 30 34 38 35 37 36 30 30           OKAY104857600

 - Successfully write 0xe bytes to handle.
 - Successfully read 0x9 bytes from handle.
Raw input [0x9]:

  00000000  4F 4B 41 59 47 38 31 34 31                       OKAYG8141

 - Successfully write 0xe bytes to handle.
ERROR: GetOverlapped_in_Result: failed with error code 31 as follows:
Ein an das System angeschlossenes Gerõt funktioniert nicht.

 - Error reaply: less than 4!
Raw input [0x0]:


Drücken Sie eine beliebige Taste . . .
 
  • Like
Reactions: munjeni

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Version 52 is out!

    - version 52 (01.10.2021)
    Implemented userprompt for keeping userdata, thanks @OhayouBaka for figuring out! Removed bootloader log retrieval

    In short explanation all files marked with NOERASE inside update.xml is in relation to factory reset, so skiping files marked with NOERASE preserves userdata while flashing. Thanks OhayouBaka for figuring that out! Now newflasher have yes no promp for keeping userdata or making clean installation with factory reset. Bootloader log is removed since I found nothing usefull there.
    3
    If you figure let us know! Also if somebody figure out how can we check rollback index (where is it stored inside firmware?) before flashing it would be good too!
    I finally discovered the solution to flashing firmware on the Xperia 1 III while keeping userdata intact.

    You have to make sure to delete not just userdata.sin, but also appslog.sin, diag.sin and metadata.sin from the firmware folder as well. Found this by checking the update.xml file in the firmware folder, all required sin files to delete are listed as "<NOERASE>".
    2
    hi munjeni, i tried the procedure.

    I really don't know if everything went well, i see at the end, in the BOOTLOADER LOG, some ERROR lines.

    The smartphone works properly anyway with the chosen firmware, tell me your opinion if you can/want. Thanks.
    You used old newflasher, new version is v52 and don't contain bootloader log anymore. Everything ok even! To answer to your questions
    1. slots is like partitions on your pc, when you set slot A or B bootloader will boot that slot like your pc boot specific partition
    2. no need
    3. risk with newflasher is minimal at least I haven't heard anyone kill a phone with a newflasher so far. Risk right now is "rollback protection" search about it in this thread! but it can be solved by unlocking bootloader, relocking bootloader to reset rolback index to zero before reflashing again
    4. ota not work and I have no idea why. Somebody said that there is fw version diferencie between .prop from vendor partition and .prop from system partition which cause from fw detection which probably cause xperia companion and ota not to work, search this thread for more info I have no idea how to solve that.
    5. ofcourse! Only right fw you need to flash & without modifications!
    6. no need
    7. recent version still have asynchronous usb protocol but I have implemented it better and it work probably ok now on usb 3
    8. same as 4. That doesn't mean your device work bad!
    2
    Factory reset is not needed after clean fw flash. You should if you like to factory reset
    2
    Take a look inside some pages back - relation to bug inside firmware. If I'm not wrong its related to the wrong fw version inside .prop inside vendor partition, it diferes between fw version inside system prop and vendor prop, probably that cause ota to not work.
  • 312
    Disclaimer:

    newflasher tool was made for testing and educational purposes, ME is not responsible for what you do on/with your device using newflasher, you must agree that you using newflasher on your own risk, I am not responsible if you brick your device or anything else!


    How to use:

    OPTIONAL STEP 1:
    - if you have missing flash driver just double click exe and confirm driver extraction, an exe will become available, run it and install driver.

    OPTIONAL STEP 2:
    - this step is optional, this step dump trim area, you can do this and keep those file somewhere on your pc in case you hard brick your device so give it to servicians to repair your phone.

    STEP 1:
    - Download right firmware for your device using XperiFirm tool, put newflasher.exe into firmware dir created by XperiFirm tool. Before you double click newflasher.exe do in mind something, newflasher tool is programed to flash everything found in the same dir!!! So tool flash all .ta files, all .sin files, boot delivery (whole boot folder), partition.zip, in short all files found in dir! If you no want to flash something just move file which you no want to flash OUT OF FOLDER! Partition.zip .sin files can be flashed only if you extract partition.zip into newly created folder called partition!

    STEP 2:
    - To start flashing phone put your phone into flash mode, double click newflasher.exe and wait wait wait until your device gets flashed, thats it. Look into log to see if something goes wrong! If all right you are done. If not post your log so I can look!

    SOME MORE THINGS:
    "You do not need to unlock bootloader or to root the phone if you want to flash a stock firmware from XperiFirm.
    There are no files in the stock firmware that need to be deleted. Prompts will ask you to skip some files.
    Feel free to press N to every prompt since:
    - TA dumping it's not related with DRM keys.
    - Flash persist_* files only if you know what you are doing, since you will lose your attest keys. Backup persist partition.
    If you need the firmware on both A and B slot use fastboot commands to choose the inactive partion and re-flash."

    Happy flashing!


    Supported platforms:

    - Newflasher is working on Windows, Linux, Android and Darwin, just chose right newflasher binary. With Android version you can flash phone by using another phone!


    Changelog:

    - version 1: Sorry a lot of work is done in pre pre alpha version and I can't count every changes, just folow development process about version 1, a lot of work is done before it started working. One esential change was done to tool improvement and it is described in one of the my posts related to moving function "erase:" to the section before function "flash:", it is realy improvement and more safer than in time when it was at the start of flashing routine.

    - version v2 (15.Aug.2017)
    Implemented free disk space safety check, it was missing and danger in case flashing process gets interupted because of the lack of the free disk space needed for sin extractions and temporary files. I have also include GordonGate flash driver prompt so in case somebody have missing flash drivers, simple need to double click exe and folow drivers archive extraction procedure, later need to install these drivers trought Windos device mannager. Also I have implemented an realy pre pre alpha version of the maybe non working trim (why maybe? Because I don't own xzp so can't test) area dump routine, in case it is working we can dump some esentials trim area units from device (probably not a full dump as like it was on every oldest xperia models - no permissions for dumping drm key unit)

    - version v3 (23.09.2017)
    Some more security checks, it's now a bit safer than v2

    - version v4 (21.10.2017)
    Updated trim area dumper, now it stores log to the trimarea.log but dump is now in .ta format and writen to the 01.ta and 02.ta

    - version v5 (22.10.2017)
    Updated trim area dumper, add progress meter, fix y-n prompt (thanks @pbarrette)

    - version v6 (22.10.2017)
    Updated trim area dumper

    - version v7 (23.10.2017)
    Updated trim area dumper, newflasher redesigned a bit, fix new partitioning for Oreo

    - version v8 (24.10.2017)
    Fix trim area dumper

    - version v9 & v10 (25.10.2017)
    Workaorunds on trim area dumper

    - version v11 (07.04.2018)
    Support for 2018 devices

    - version v12 (29.04.2018)
    Try fix doublefree bug/crash (most noticed on Linux 64 bit binary)

    - version v13 (01.05.2018)
    Fix doublefree bug/crash by removing dynamic allocation from function get_reply

    - version v14 & v15 (12.06.2019)
    Sony XPeria 1 support added.

    - version v16 (16.06.2019)
    LUN0 detection optimized.

    - version v17 (24.06.2019)
    LUN0 detection bug fixed.

    - version v18 (10.08.2019)
    Untested fix for https://forum.xda-developers.com/cr...wflasher-xperia-command-line-t3619426/page105
    Using builtin mkdir instead of calling it trought system call

    - version v19 (08.10.2019)
    Implemented prompt for flashing persist partition; print skipped .sin files

    - version v20 (13.12.2019)
    implemented prompt for flashing bootloader,bluetooth,dsp,modem,rdimage to booth a,b slots

    - version v21 (29.06.2020)
    implemented battery level status check before flashing, flashing bootloader,bluetooth,dsp,modem,rdimage to booth a,b slots is mandatory now and is flashed by default right now, more info, try fix previously reported isue on sync and powerdown command reported 2-3 years ago so I have disabled it and now enabled for test, implemented Macos support (curently need to be tested! If you have plan to test please flash only cache.sin DO NOT flash the rest because of safety for your device!)

    - version v22 (30.06.2020)
    trying to fix battery capacity retrieval

    - version v23 (04.07.2020)
    removed battery capacity retrieval (not going to work that way), fix trim area dump file name, new gordongate drivers

    - version v24 (04.07.2020)
    new feature - now you can run newflasher from script or console with your own command, e.g. newflasher getvar:Emmc-info , I didn't tested all the list of commands, if you do it share them with us!

    - version v25 (09.07.2020)
    New trim area dump tool, with this change trim area dump is created in 3 secconds. Do in mind this not dump protected units like drm key...etc! Some changes in scripting feature from v24

    - version v26 (10.07.2020)
    Added 4 diferent reboot modes, reboot to android, reboot to fastboot, reboot to bootloader, power off

    - version v27 (11.07.2020) (not yet released)
    Workaround in mac libusb

    - version v28 (12.07.2020)
    Workaround to sync response bug; Fully implemented support for Mac. I'm tested myself on mac 10.14 but confirmed working on mac 10.15 too

    - version v29 (12.07.2020)
    Mac proper libusb deinitialisation

    - version v30 (13.07.2020)
    Preparation for Debian packaging; I'm noticed that hex modified arm64 fake pie binary is not working so its now compiled with ndk and its true pie binary now

    - version v31 (14.07.2020)
    Fix cosmetic bug https://forum.xda-developers.com/showpost.php?p=83056693&postcount=1212 which might confuse somebody

    - version 32, not yet released

    - version 33 (30.07.2020)
    Allow bootloader unlocking with newflasher; Try fix sync response bug for win and darwin too

    - version 34 (08.08.2020)
    Added support for 32bit sized trim area units (as trim area api changed in xperia mark 2 line) (not yet released because of bug)

    - version 35 (08.08.2020)
    Updated support for 32bit sized trim area units (as trim area api changed in xperia mark 2 line); Move trim area dumps out of root folder so it not get acidentaly flashed, dumps is now inside folder tadump

    - version 36 (27.08.2020)
    Some improvements and and possible bug fixes

    - version 37 (09.12.2020)
    Added support for Xperia 5 II with emmc instead of ufs (not working)

    - version 38 (10.12.2020)
    Fixed impropper implementation from v37

    - version 39 (13.12.2020)
    Since mark 2 devices protocol is changed a bit and on some devices OKAY reply is not in separated usb poacket, instead it is merged with data packet, added support for it

    - version 40 (03.01.2021)
    Temporary solution for determining partition 0 sin file caused by two diferent emmc csd info we found recently on mark 2 devices

    - version 41 (03.01.2021)
    Removed temporary solution from version 41 so right lun0 sin file get flashed and seccond lun0 get skipped or booth skipped if lun0 sin file do not match device storage size

    - version 42 (11.03.2021)
    Fix bug in flashing booth slots when current slot is A, thanks to @chrisrg for discovering bug!

    - version 43 (12.06.2021)
    Support for Mark 3 devices

    - version 44 (19.06.2021)
    Fully Mark III device implementation

    - version 45 (20.06.2021)
    Implemented battery level check and prompt user to take a risk and continue flashing or stop flasing if battery level is less than 15 percent

    - version 46 (08.07.2021)
    Fix problem with filenames which contain "_other", it need to be always flashed to the diferent slot

    - version 47 (15.07.2021)
    Removed prompt for persist.sin flashing, now its by default skip. Implemented bootloader log retrieval at the end of flashing for better understanding when something goes wrong. Implemented firmware log history retrieval for those who want to know history of the flashed firmwares

    - version 48 (19.07.2021)
    Flash bootloader,bluetooth,dsp,modem,rdimage to booth slots only on a,b devices

    - version 49 (31.07.2021)
    Support for XQ-BT41

    - version 50 (12.08.2021)
    Workin progress on asynchronous usb to make it more like synchronous, added progress bar during send-receive usb packets and more logging. Increased usb timeout to 2 minute. Trying fix sync command at the end of flashing as reported here -> https://github.com/munjeni/newflasher/issues/42

    - version 51 (12.08.2021)
    Fix empry line printed while receiving usb packets, thanks @elukyan

    - version 52 (01.10.2021)
    Implemented userprompt for keeping userdata, thanks @OhayouBaka for figuring out! Removed bootloader log retrieval

    Credits:

    - without @tanipat and his pc companion debug logs this tool will never be possible! Thank you a lot for your time providing me logs! (by the influence of others, He was disappointed me with last post, but I still appreciate his help and can't forget it)
    - without @thrash001 who helped testing our tool I never be continue building our tool since I don't have device for testing, thanks mate!
    - didn't forgot @beenoliu, thanks mate for testing!
    - thanks to @porphyry for testing linux version!
    - thanks to @Snow_Basinger for providing sniff log from 2018 device and for testing on his 2018 device
    - thanks to @frantisheq for testing newflasher on his 2018 device and for notify about doublefree bug
    - thanks to @serajr for providing me some logs which helped me to figure out some things related to 2018 devices
    - thanks to @noelex for helping in Xperia 1 implementation
    - thanks to @Meloferz for testing on his xperia 1 mark II
    - thanks to github contributors, testers and reporters: vog, noelex, TheSaltedFish, solarxraft, pbarrette, MartinX3, kholk
    - thanks to Chirayu Desai for tracking addition to Debian and thanks to vog for initiating all that
    - thanks to @elukyan for testing and providing me usb sniff logs for mark 3 devices imlementation, thank you so much

    Common errors and how to solve:
    https://forum.xda-developers.com/t/tool-newflasher-xperia-command-line-flasher.3619426/post-72610228

    Source code:

    https://github.com/munjeni/newflasher
    20
    Please remember something, I made newflasher for all you, I didn't made it for me remember that, I dodn't ask for money for my work, all is for free, all is done in my spare time and for free, I have made everything just to make all you happy, remember that! I must say something more, some xda members, including some moerators, don't appreciate my effort, thats shame. I lost my recognised developer / recognised contributor title because ot that guys, I allways must remind all you that.

    Enjoy flashing! Cheers! ;)
    14
    V14 is out, added Xperia 1 support (curently untested!)

    If you flash partitions please give me newflasher log, need to know if I implemented things right!
    12
    New version is out!
    11
    New version is out! Changelog:
    - implemented flash driver, just double click exe and folow procedure (optional step)
    - trim area dump (optional step and maybe not a functional! Need confirmation.)

    Do not use any old newflasher, its soo old and definitelly not a better than latest one! Folow my instructions and put a trust on me, I am developer of the newflasher and nobody know that better than me, if you have a questions just ask here! I have removed my posts because virus tolal found a malware on all my exe files. Later I found what was going on. UPX (any version) contain the same malware, but since my exe was packed with upx all my exe contain the same malware, reason was UPX! Have no idea why virustotal see upx as a malware but I need now to recompile all my exe without using upx just because I no want to risk with it, don't know if that upx is false warining or not but definitelly better idea omiting upx.