yashsingh1/xdaforums huggingface dataset:
[HTC One A9] alray:
You can decrypt the 1.56.401.70 RUU to extract the firmware from it

https://xdaforums.com/chef-central/android/tool-universal-htc-ruu-rom-decryption-t3382928
[HTC One A9] Didusieq:
Yes, I have the output. Folder with files. How to create Firmware then? I am S-on so I need official one.
[HTC One A9] alray:
I don't think it will work on S-ON since it's now decrypted. Zip all files from the firmware folder together and name the file "firmware.zip". (do not zip the folder, only the content - you don't want the folder in your zip)
[HTC One A9] Didusieq:
Yes, it wont work. :(
[HTC One A9] jureca:
Anyone know how to extract firmware 1.56?
[HTC One A9] alray:
Thats exactly what we was talking here, read previous posts (#2 and 4)?
[HTC One A9] Dr.Anshuman:
You can not downgrade firmware from Nougat to Marshmallow if you are S-On.. you need to S-Off to do that..
[HTC One A9] Didusieq:
Even having the signed firmware?
[HTC One A9] alray:
That's not 100% true. When S-ON you can't downgrade simply by flashing an older ruu but there is trick to do it. You have to manually change (downgrade) the version-main value in the /misc partition so the older RUU or Firmware can flash (version-main check will pass). All you need is either a rooted rom or at least a custom recovery.

For example, if you have a rooted rom:

adb shell
su
echo -ne "1.56.401.70\x00\x00" | of=/dev/block/mmcblk0p28 bs=1 seek=2208
exit
exit

Or from twrp terminal simply use

since twrp terminal is already a rooted shell (already at the # prompt)

Then reboot in download mode and see you version main is now 1.56.401.70 instead of 2.16.401.3

Is 2.16.401.3 using the same bootloader version as 1.56.401.70? Is yes i'm really positive that this method should work. On older htc devices (i.e using hboot instead of aboot) this method worked fine only if downgrading to a version-main using the same hboot version. Not sure if the same limitation apply on devices using aboot like the A9 but worth a try. But this method definitively worked for A9 when going from 1.56.something to 1.10.something.

This is well known method, I even made a TWRP aroma tool for that purpose for the One M7:

https://xdaforums.com/showpost.php?p=59436794&postcount=2

Also explained in the A9 ruu thread at post #2 (FAQ #6)

https://xdaforums.com/showpost.php?p=63640734&postcount=2
[HTC One A9] Didusieq:
Well, but I need to be rooted, right?
[HTC One A9] alray:
It can be done from TWRP recovery even if you're phone is not rooted (so an unlocked BL at least)

Or it can be done from the OS but requires ROOT.
[HTC One A9] Didusieq:
Last time I tried to flash recovery, Ive bricked the phone. :/ Had to reflash RUU.
[HTC One A9] alray:
[MENTION=4879887]Didusieq[/MENTION] Btw that will not solve your initial problem. You need a signed firmware.zip (1.56.401.70 or older) to be flashed before the 1.56.401.70 ruu because of the signature change implemented in 2.xx.xxx.x. The only 1.56.401.70 signed firmware.zip I can find is the one from the 1.27.401.5 --> 1.56.401.70 ota update. Firmware.zip from ota update are not including every firmware img (partial firmware update only) and because of that , it's never advised to use these firmware.zip to downgrade since you'll only be downgrading a few firmware img, not all (this could cause incompatibilities and in the worst case, brick your phone :eek: ). This is something you could try if you have agree with the risks.

Btw can you confirm your actual bootloader version on 2.16.401.3 ?

---------- Post added at 04:05 PM ---------- Previous post was at 04:05 PM ----------

Strange, this should be something relatively easy...

---------- Post added at 04:09 PM ---------- Previous post was at 04:05 PM ----------

Otherwise, Sunshine S-OFF is the fastest and safest way to downgrade. Or you'll have to wait for that 2.17.401.2 ruu Graham Wheeler was talking about on twitter.
[HTC One A9] Didusieq:
Thats why I am thinking if it is worth risking. They should provide with the RUU shortly.BTW. Which one is the BL version? :/
[HTC One A9] alray:
version-bootloader from the gatvar or you should be able to get it with "fastboot getvar version-bootloader"
[HTC One A9] Didusieq:
version-bootloader: 1.0.0.0000
[HTC One A9] alray:
so looks like it's the same version of 1.56.401.70 so the version-main downgrade trick should work. Only thing missing is a signed firmware.zip from 1.56.401.70 or older (or the courage to flash the signed firmware.zip from the 1.56.701.70 ota :p)
[HTC One A9] Didusieq:
I am not so brave. :p .401. is my region so I should have this one.
[HTC One A9] amirinda:
Hi, i have "downgrade" with: echo -ne "1.56.401.70\x00" | dd of=/dev/block/mmcblk0p28 bs=1 seek=2208 - its fine. I have now in download mode 1.56.401.70, but not me flash Marschmallow RUU (12 RU_ZIP_ERROR). I need firmware 1.56.401.70 - does anyone have? (does not me decrypt from RUU)

THANKS
[HTC One A9] amirinda:
i have now extract firmware 1.56.401.70 from ruu, when flash is error: FAILED (remote: 35 RU_PARTITION_NOT_SUPPORT firmware)
[HTC One A9] alray:
You would need a signed firmware if your phone is S-ON, the only one I can find is the one from the 1.56.401.70 ota update and there are some risk of flashing it (see post #14) .

---------- Post added at 12:04 PM ---------- Previous post was at 12:02 PM ----------

firmware ?

Did you zipped the fimware folder in your firmware.zip file? You have to zip only the files in the firmware folder not the folder itself.
[HTC One A9] amirinda:
yes i have zipped only files
[HTC One A9] alray:
So why is it detecting a file named "firmware" in your firmware.zip ?

What command are you using to flash the firmware.zip?

Edit: Got it, you're using "fastboot flash firmware firmware.zip" ?? it's "fastboot flash zip firmware.zip"
[HTC One A9] amirinda:
i have no file with name "firmware" in firmware.zip

info1:

Desktop\Fastboot>fastboot flash firmware firmware.zip

sending 'firmware' (112596 KB)... OKAY [ 6.784s]

writing 'firmware'... INFOHOSD CL#853511

FAILED (remote: 35 RU_PARTITION_NOT_SUPPORT firmware)

finished. total time: 7.792s

info2:

Desktop\Fastboot>fastboot flash zip firmware.zip

sending 'zip' (112596 KB)... OKAY [ 6.912s]

writing 'zip'... INFOHOSD CL#853511

FAILED (remote: 9 RU_SECURITY_FAIL zip from usb command in download mode)

finished. total time: 7.922s
[HTC One A9] alray:
You won't be able to flash this firmware on your phone anyway. Your phone is S-ON = zip must be signed. A zip you've made yourself isn't.
[HTC One A9] amirinda:
Ah :(, thanks for info
[HTC One A9] alray:
Didn't read post 4, 14 and 22 ?
[HTC One A9] amirinda:
and goes download previous firmware_signed, or i have S-Off?
[HTC One A9] amirinda:
I have now 2.17.401.2 :)

I did a S_Off =› then: echo -ne "1.56.401.70\x00" | dd of=/dev/block/mmcblk0p28 bs=1 seek=2208 =› flash firmare 1.56.401.70 =› flash RUU 1.56.401.70 =› OTA 1.56.401.81 =› OTA 2.17.401.2 =› then twrp, su ...
[HTC One A9] alray:
Good but I want to point that downgrading your version-main using the echo - ne command is not required when s-off.
[HTC One A9] amirinda:
me was not without
[Lenovo Zuk Z2 Pro Guides, News, & Discussion] dvssvar:
https://chat.whatsapp.com/DuP4uGHFIx1CUKAZ37A3nI
[Lenovo Zuk Z2 Pro Guides, News, & Discussion] almmpt:
I add this group but nobody is in the house.
[Lenovo Zuk Z2 Pro Guides, News, & Discussion] joeartistic:
We got a group for Z2 Pro and a group for Z2 on Telegram. WhatsApp is useless if we think at sharing apks and ROMs directly in the chat.
[Lenovo Zuk Z2 Pro Guides, News, & Discussion] Bharath A:
37 members now!!!

and group is good in helping with phone!!!
[Lenovo Zuk Z2 Pro Guides, News, & Discussion] Cvk vamsi krishna:
https://chat.whatsapp.com/12xNnLHSr0kHoo62VO3Kis
[Samsung Galaxy S7 Edge Questions and Answers] trix95:
Hey guys i do not want any Eta the question is simple do you think that sammy is going to give us the upcoming 7.1.2 or the existing 7.1.1 in near Future.

I just Would like to hear your opinions and thoughts about it :D
[Moto G 2015 Android Development] Heyner_Gomez:
Also for XT1543 please !
[Moto G 2015 Android Development] MotoJunkie01:
I agree -- TextNow subscribers would benefit from a stock 6.0.1 MM ROM for the T-Mobile (or GSM unlocked) variant of Osprey. Unfortunately I do not own a xt1543. I would need a device at least tentatively in order to flash & dump firmware partitions for a stock MM build.
[Moto G 2015 Android Development] ResistanceIsFutile:
Looking Good

Easy to understand and presentation looks very much polished

- Good Job Sir :good:

Hark do I see special editing as well. . .

Build it and they will come

The OP download link for the ROM & Firmware files - if you use the "Download All" tab "top Right" corner there, will Zip all files together in an easy all at once download of them in two zipped parts.
[Moto G 2015 Android Development] MotoJunkie01:
Thank you [MENTION=5781153]ResistanceIsFutile[/MENTION]. Been messing around on XDA Forums Premium for Android to create my post. You taught me a great deal on thread composition & I am grateful for it. I'll be linking the ROM & firmware files within an hour or so. Also i will be including a patched boot.img for systemless root support. Simply flash SuperSU v2.79 via TWRP (files to be included in link) and root access should be without issue. My messaging settings are undoubtedly the culprit. Please send me a friend request. I'll fix the PM issue shortly.
[Moto G 2015 Android Development] ResistanceIsFutile:
[MENTION=7383447]MotoJunkie01[/MENTION] Your certainly welcome, as I've learnt many things from you as well.

Friend request sent out. Don't know why I've waited so long really. I believe your the first.

I see your due a celebration on a couple counts, hope Saturday is the best for you.

RIF
[Moto G 2015 Android Development] MotoJunkie01:
I need testers to install and provide input on this.
[Moto G 2015 Android Development] tsakowich6217:
I'm currently running LineageOS 14.1. I read this bit of your post:

"attempting to downgrade bootloader.img or gpt.bin has been known to result in a hard brick."

I'm not sure I understand it fully. I apologize if this is a rather basic question, but if I install this from Lineage, will I have any problems? If I choose to install this, what should I avoid in the future to prevent a hard brick?

Thanks for your hard work!
[Moto G 2015 Android Development] MotoJunkie01:
No. You should have no problems at all. In a nutshell, stock firmware packages contain files to flash the bootloader (bootloader.img) and a partition table updater file (gpt.bin). Once these two partitions are updated, downgrading isn't an option. This doesn't mean you can't downgrade a stock ROM, say from 6.0.1 to 5.1.1. Downgrading is no issue at all as long as you avoid bootloader.img and ,gpt.bin.

Installing custom ROMs, like LineageOS, doesn't put you at any risk in this regard. You may upgrade or downgrade at your leisure. My warning in the thread merely cautioned against downgrading the bootloader and partition table in stock firmware packages.
[Moto G 2015 Android Development] Gravemind2015:
[MENTION=7383447]MotoJunkie01[/MENTION] : AFAIK holding down power+volume down button boots directly into the bootloader mode (not recovery) and fastboot is accessible.

In OP, point 6:

Normally it's the other way around. Probably a typo? Just curious.

Broadcasted from Zeta Reticuli
[Moto G 2015 Android Development] ResistanceIsFutile:
Hello [MENTION=7112679]Gravemind2015[/MENTION]

I'm limited as I no longer have a Moto G (3rd Gen) 2015 (xt1548).

I've just looked as to the manufactures steps (as these questions interests me).

These are for an External Reset and Clear Cache Partition though, but share common steps,

I couldn't find as steps called out solely to enter Recovery Mode specifically other than these sets of instructions :).

External Reset.

https://mobilesupport.lenovo.com/us/en/products/CELL-PHONES/ANDROID-SERIES/MOTO-G-3RD-GEN/documents/MS105537

Android 5.x (Lollipop)/Android 6.x (Marshmallow) External Reset Steps

1.With the phone powered off, press and hold the Volume Down button and the Power button at the same time until the device turns on.

2.Press the Volume Down key to highlight Recovery mode.

3.Press the Power key to restart into Recovery mode.

4.The screen will display an Android robot with a red exclamation mark.

5.While holding down the Power key, press and release the Volume Up key, then release Power.

6.Use the volume keys to scroll to Wipe data/factory reset and press the Power key to select it.

7.Scroll down to Yes - erase all user data and press the Power key to select it.

Clear Cache Partition.

https://mobilesupport.lenovo.com/us/en/Solution/MS112729

Android Version 6.0 (Marshmallow) Clear Cache Partition Steps

1.Power off the device and unplug it.

2.Press and hold the Volume Down button. While still holding Volume Down button, press and release the Power button.

3.Press and release the Volume Down button until you reach Recovery Mode.

4.Press and release the Power button to select Recovery Mode. The device will restart. An image of an Android robot with a red exclamation mark will appear.

5.Press and hold the Power button, press the Volume Up button once and then release the Power button.

6.Use the Volume buttons to scroll to Wipe Cache Partition and press the Power button to select it. If an additional confirmation screen appears, use the Volume buttons to scroll to Yes and the Power button to select it.

7.Once the cache wipe has completed, press the Power button to select Reboot System Now.

Android Version 5.0 (Lollipop) Clear Cache Partition Steps

1.Power off the device and unplug it.

2.Press and hold the Volume Up and Volume Down buttons and the Power button at the same time until the device turns on.

3.From the Boot Mode selection menu, press the Volume Down button to scroll to Recovery and the Volume Up button to select it. The device will restart. An image of an Android robot with a red exclamation mark will appear.

4.Press and hold the Power button, press the Volume Up button once and then release the Power button.

5.Use the Volume buttons to scroll to Wipe Cache Partition and press the Power button to select it.

6.If an additional confirmation screen appears, use the Volume buttons to scroll to Yes and the Power button to select it.

7.Press the Power button to select Reboot System Now.

Hope this helps and clears as with what the Moto site instructs.
[Moto G 2015 Android Development] Gravemind2015:
Well, the lenovo support link you provided seems to have the accurate process. Bootloader unlocking page also has the same instructions. [Power off> power+volume down and it goes into bootloader(fastboot) mode rather than to recovery]

Anyways, this will be off-topic for this rom thread so I'd hope someone with access to this particular model with this carrier can test which method is correct :) Thanks for replying.

Broadcasted from Zeta Reticuli
[Moto G 2015 Android Development] ResistanceIsFutile:
Removed My own Content
[Moto G 2015 Android Development] Gravemind2015:
Yes they are hard button combination.

The instructions I outlined (works with my XT1550 ) are the general instructions which are identical in rest of osprey thread except in this tutorial.

I had assumed that the firmware of these models were identical except for radio.

I was just wondering if this model really has a different mechanism or it's just a mistake in original post :)

Broadcasted from Zeta Reticuli
[Moto G 2015 Android Development] MotoJunkie01:
Hi ©Gravemind2015....thank you for pointing out my clerical error. Instead of "recovery" I should have said "bootloader' or " fastboot" menu in that particular instance. I'll edit the instructions accordingly.
[Moto G 2015 Android Development] MimzyDesigns:
So i can just go and flash this via twrp?
[Moto G 2015 Android Development] MotoJunkie01:
This build is not a TWRP flashable zip. Needs to be flashed via fastboot. The next release will be TWRP flashable.
[Moto G 2015 Android Development] tsakowich6217:
I ran flash-all, but now I'm stuck at "fastboot flash -u system system.img_sparsechunk.1"

Had been sitting there for about 30 minutes before I gave up and unplugged to try again. Same result.

Any advice?

Edit:

Error message before it hangs up:

(bootloader) has-slot:system: not found

target reported max download size of 268435456 bytes

sending 'system' (131082 KB)...

FAILED (data transfer failure (Unknown error))

finished. total time: 5.247s
[Moto G 2015 Android Development] MotoJunkie01:
Did the partitions up until that point successfully flash?
[Moto G 2015 Android Development] tsakowich6217:
This does happen before that as well. But besides boot and sparsechunk.0 everything else works fine.

Edit:

C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash -u system system.img_sparsechunk.0

(bootloader) has-slot:system: not found

target reported max download size of 268435456 bytes

sending 'system' (131082 KB)...

FAILED (data transfer failure (Unknown error))

finished. total time: 5.244s
[Moto G 2015 Android Development] MotoJunkie01:
Instead of using flash-all.bat, try manually flashing with fastboot. fastboot flash system system.img_sparsechunk.0
[Moto G 2015 Android Development] tsakowich6217:
I've managed to move past system.img_sparsechunk.1

I flashed a pure stock rom manually, booted that up, then started the flash-all. So far so good. Thanks for your responses mate. I really appreciate you developing on this $20 phone.

---------- Post added at 05:39 AM ---------- Previous post was at 04:52 AM ----------

How would you like bugs to be reported? I'm currently experiencing an issue where a constant "Sim Card Error" is in the notification tray, even though calls and LTE work fine.
[Moto G 2015 Android Development] MotoJunkie01:
Get a system app remover and remove the system app called "Sim Toolkit". That should fix the error. Or on second thought I think the "Hidden Menu" system app gives the SIM error notifications. Try muting notifications from that app as well
[Moto G 2015 Android Development] MotoJunkie01:
Reporting bugs should be done using as much detail as possible. Logs should only be submitted if you are running a pure stock kernel, and if you are well versed in correctly submitting a log. Because this ROM is pure stock with some mods & tweaks added in, bugs requiring logs should be minimal anyway.
[Moto G 2015 Android Development] ResistanceIsFutile:
MotoJunkie01 knows that a lot of TextNow'ers use these as daily drivers, and then it makes no difference if the phone's be $20. or $600.+ .

He's the man to help you out, and tries to bring something new to the table, like this project. . .

The more input on this project he can get the better he can make it for ya all :)

Maybe someone can bring it to the attention of TN Community users for more options in this particular phone model - they'd have / someone like that posts there a lot in TNC already?
[Moto G 2015 Android Development] MotoJunkie01:
Well spoken my friend. Thank you [MENTION=5781153]ResistanceIsFutile[/MENTION]
[Moto G 2015 Android Development] GuwopMontana:
Thank you , please create a .Zip for people who don't have access to a PC like me :(
[Moto G 2015 Android Development] MotoJunkie01:
That is the plan for the next release. Once any initial bugs are fixed and stability is improved, r2 will be in the form of a TWRP flashable zip.
[Moto G 2015 Android Development] ResistanceIsFutile:
This - That - and Another

That might need to have it's own devoted Thread for that method (WITHOUT a PC) to keep the confusion minable of two methods in use - as MotoJunkie01 has already stated in his OP this below-

Edited Out some suggestions for cleanness of post.

Edit Note: see posts #30 and a repeat in #31 why flashing of some partitions via fastboot on a computer is important.

For the time being [MENTION=7882520]GuwopMontana[/MENTION] your stuck, I'd try to friend someone with a PC, see about a local Library, School, Community Center for the loan of it in a PC session.

Try asking family and friends - if their thinking of upgrading their PC's and if possibly you could be gifted their old one, or if a small payment to purchase it, and possibly to working the payment off as necessary.

-Invest in a Flash-Drive and have it ready to install Minimal ADB & Fastboot and your phone drivers on it - if that's possible as a portable medium to use on a loaner PC. ...YES you'd need the loaner PC first and the download links and/or to get an ideal how to run the commands in this way.
[Moto G 2015 Android Development] MotoJunkie01:
Good suggestion [MENTION=5781153]ResistanceIsFutile[/MENTION]. I will likely split threads once I release the flashable zip. I know it's tough when a person has no PC access, but like you suggested, maybe a quick loaner from a friend or a library session can get those members going who don't have their own PC. But as mentioned in the introduction, the flashing of partitions like /fsg, /bootloader & /modem, via fastboot , is important for first install, to ensure that members have adequately updated bootloaders, modems, radio firmware, etc, prior to using the updated OS.
[Moto G 2015 Android Development] ResistanceIsFutile:
An important topic in the Introduction OP - some will surly miss

As important information in the Introduction of the OP - some will miss, I'm glad you called it out and OF the NEED for a "PC/Computer" to be used as the initial ADB Fastboot flash way needed for the ROM to be installed.

Then with the release of the r2 TWRP flashable zip format with bug fixes and stability improvements, etc... people can rely only to their phones TWRP Recovery for the flashing. :good:
[Moto G 2015 Android Development] MotoJunkie01:
If all goes without major issues, I'll post a link later today for r2 of the TextNow Stock 6.0.1 ROM. This Android build will be the most current stock Marshmallow build available for the xt1548, Android 6.0.1, System Ver. 24.212.13.osprey_sprint, Build No. MCIS24.107-82-13, with January 1, 2017 Security Patch Level. Minor bug fixes and some stability improvements can be expected.

As stated previously in the thread, the r2 build will be in custom recovery flashable zip format. I'll include a partition updater zip as well for those members who wish to update gpt.bin, fsg.mbn, bootloader.img & NON-HLOS.bin (partition index, radio firmware, bootloader and modem), without PC access.
[Moto G 2015 Android Development] MotoJunkie01:
The r2 flashable zip is nearly done, as well as a partition & radio updater script. I'll do initial flash shortly to test boot up
[Moto G 2015 Android Development] MimzyDesigns:
R2 available yet? :)
[Moto G 2015 Android Development] ResistanceIsFutile:
Relaying A Message from MotoJunkie01

Relaying A Message from MotoJunkie01

I apologize for not being in closer contact. I have some pressing issues going on and, coupled with work, man I've been tied up something awful. I'm going to need to drop off XDA for a month or better to get my personal issues attended to. I need a huge favor from you.

My little threads I have started, if you could go on and explain I'll be gone for a month or so. I'd appreciate it.

I've Not enough time to even do that.

So if anyone needs a reply I'd figure sometime in July, and I hope you all will understand and allow this time for MotoJunkie01 to attend to his personal matters. Signed: ResistanceIsFutile
[Moto G 2015 Android Development] hobbes2120:
Stock Video Player or Alternative?

The rom does not include the stock video player. rest of it is awesome. got everything where i want it at the moment. but when i try to watch a video on the web or use the textnow "watch video, make money" thing, it tries to find the video player and tells me that one does not exist.

I threw mx player on there, didn't cure it.

Was hoping someone had an idea on how to grab the stock video player, throw it on, and have the phone recognize it when calling for it.
[Moto G 2015 Android Development] MotoJunkie01:
Add a video player of your choosing, VLC for example. Go to Settings Applications, tap the upper right hand menu. Select Default Applications & set your video player as default. Alternatively, I can extract the stock video player apk if you want.