[ZenFone 2 Original Android Development] jrior001:
Modem updates & F2fs support

For those that don't follow our github closely I quietly slipped in a few changes the last couple of days I feel need an explanation. First is a method for updating modem FW from OTA packages and the second is f2fs file system support. Sorry, this may be a long one....

Modem

The stock OTA's provide and flash a a zip file named ifwi.zip. Best we understand from its contents is that its device specific modem fw(contains fw for multiple models and picks the proper fw for your model if found). The stock recovery has additional libs to handle flashing this and now so do we thanks to https://github.com/CM-zenfone2/andr...mmit/508297e8005e5d4ac1a66073faa117eaf9e16b47

Currently we have not found any Ill affect from being on older fw, but at some point, as quickly as Asus updates, we may stumble into a comparability issue where newer fw is required to match newer radio blobs. Ability to flash these updates will keep users from having to return to stock recovery to update.

In the OP I have added new unofficial TWRP builds, CM recovery builds and links to signed flashable ifwi.zip updates to the latest fw from the most recent OTA's to match our current blobs.

***This is by no means required and more importantly it must be mentioned there is no backwards flashing, these zips, like stock OTA's will only upgrade not downgrade. USE AT YOUR OWN DISCRETION***

F2FS support

We added the latest and greatest f2fs file system support for /data and /cache partitions. The previously mentioned TWRP recovery is capable of handling and format changes should you desire to try this out.

**Disclaimer: if you don't know what your doing stop here, do not attempt this. The risk for complete data loss is high in the conversion process and there's nothing we can do to save you from yourself***

Procedure should you choose to attempt

You will need adb access or a external sdcard to reflash ROM from.

1. Backup up EVERYTHING you want to see again, you will be wiping /data which includes your "internal sdcard"

2. Flash my latest twrp build (until official twrp and theSSJ catch up)

3. In recovery, navigate to WIPE->ADVANCED WIPE, select /data or /cache( these are the only 2 supported), select change file system twice, and proceed to wipe/reformat the partition.

4. Flash ROM/gapps from microsd or adb sideload. Nightlies after 9/23 support both ext4 and f2fs formats automatically.

5. Should you need/choose to go back to ext4, repeat the process and select ext4 instead.

FAQ about f2fs

1. Is it as fast as I hear it is?

A. Our phone is already fast, you won't notice much. Benchmarks on specific task say it provides better at random write/read speeds but slightly slower continuous write/read speeds.

2. Is it stable?

A. Still widely considered experimental but it has a permanent place in Linux mainline kernel now, and we are running the files from 4.2 mainline currently.

3. Can I flash xxx ROM without converting back to ext4?

A. Stock ROMs are all ext4 so yes will need to convert for those. Other CM based ROMs it will depend on how quickly they follow in our footsteps here, check with maintainer of xxx ROM to be sure.

4. Can I restore my ext4 twrp backup over my f2fs formated partition ?

A. Sure but twrp will restore it in ext4 format, not f2fs.

I know this is a lot of info, I will link this post in the OP so its easy to refer back to as needed.