Hi,
First of all is it possible?
If it is, has anyone tried to extract Swype from Telstra's RUU and install it in another Wildfire?
Tried extracting the installer but was unsuccessful.
Thanks in advance
I've tried to extract (and was successful), but when I tried to execute it gave me a FC. I guess it was because libSwypeCore.so was not in the /system/lib folder.
Like busybox in my other thread, every time I tried it gave an error.
Something like:
# ./busybox cp /sdcard/libSwypeCore.so /system/lib/
cp: can't create '/system/lib/libSwypeCore.so': Cannot allocate memory
# cd /system/lib
# cat /sdcard/libSwypeCore.so > libSwypeCore.so
cannot create libSwypeCore.so: not enough memory
# mv /sdcard/libSwypeCore.so /system/lib
failed on '/sdcard/libSwypeCore.so' - Cross-device link
# dd if=/sdcard/libSwypeCore.so of=/system/lib/libSwypeCore.so
/system/lib/libSwypeCore.so: cannot open for write: Out of memory
I really need to know how to copy files to the /system folder.
http://rapidshare.com/files/419489818/swype-telstra.zip
MD5: BDE9ACBCFD58AD39EC11A4859ADEBE3B
Ok I think I found a way
Just edit the APK and put the libSwypeCore.so in the lib/armeabi folder, zip the files and sign the APK.
It runs nice and no FC I will edit the APK (again) to include the Portuguese language.
Could u please upload it
Sent from my HTC Wildfire using XDA App
@ricardoft : Edited the Swype.apk
Put the libSwypeCore.so
Under
Swype.apk
->Lib
---|>armeabi
---------|> libSwypeCore.so
Is this right ? repacked the apk as above attached with the post.
I got "application not installed" as error message
I wonder how to repack it then :|
I am using the 1.54 Version for QVGA , Works fine in Portrait mode , hides some keys in Landscape.
I've been busy with the University but here is the modified APK.
http://rapidshare.com/files/419569794/Swype-signed.apk
MD5: 56338F5EE8D53BE3A22EFE6CB96E1A7C
It still has some issues. One of them is when choose Swype for the Input Method it still crash. Don't know why, but I think it still has something to do with the libSwypeCore.so.
i wouldnt mind doing this as i basically paid for it when i bought the phone...
using a clockwork backup i was able to extract the apk and libSwypeCore.so
butwhen i put the lib in place and installed the apk i just get blue flashing outline of keyboard and no output text...
*This would not be possible without j4nn & his amazing temp root https://forum.xda-developers.com/xperia-xz1-compact/development/devonly-exploits-temp-root-to-backup-t3795510 please thank & donate 2 him!*
This is not really a "how 2 guide" because I am not good at explaining things like this. But I will try & explain how I did it. Because I have seen a lot of other people also searching for working Volte without unlocking their bootloader.
First I used j4nn's temp root guide & flashed old firmware & ran his magic program. Then I backed up my DRM keys (incase I want to unlock my bootloader someday). Then I stopped. And instead of unlocking my bootloader & while still in temp root.. I thought, maybe I can write to the OEM folder? So I typed
'mount -o rw,remount /oem' and that worked!
So.. I used another command window without closing the first one and pushed a new OEM folder to /data/local/temp
(I got the new OEM folder from US XZ1c firmware. you can also get that folder by searching for TMo-VoLTE-fix-v3.zip & unziping it)
Then, I went back to the original temp root command window & used the 'cp' command to copy that new OEM file from data/local/temp over to my /OEM folder. I re-set the owner & file permissions rebooted.
After testing it, I was able 2 flash the latest (non US for working fp) Oreo by flashing like normal with Newflasher except I deleted the OEM.sin file, so it wouldn't write over my new one! Finally I disabled auto update.
Now my XZp is still bootloader locked, running 47.1.A.16.20 with Fingerprint, Volte & wifi calling all working on tmobile in the US.
I can actually receive calls at home now!! Before this, most of my calls went 2 vm, after a long pause.
I did also try it with pie & it didn't work for me. But, ymmv. I am sure it's possible tho. I was not impressed with pie anyways & I really hate that new volume popup window that covered my home & back keys in landscape mode.
One other note is because I have the dual sim XZp I changed my modem name in the modem.conf file from "tmobile_us_ims" to "dsds_tmobile_us_ims". I am not sure this is actually necessary tho because I have since looked in other ds Volte firmwares like Taiwan. And they don't use "dsds" in their modem.conf file
Robin Banks said:
*This would not be possible without j4nn & his amazing temp root https://forum.xda-developers.com/xperia-xz1-compact/development/devonly-exploits-temp-root-to-backup-t3795510 please thank & donate 2 him!*
This is not really a "how 2 guide" because I am not good at explaining things like this. But I will try & explain how I did it. Because I have seen a lot of other people also searching for working Volte without unlocking their bootloader.
First I used j4nn's temp root guide & flashed old firmware & ran his magic program. Then I backed up my DRM keys (incase I want to unlock my bootloader someday). Then I stopped. And instead of unlocking my bootloader & while still in temp root.. I thought, maybe I can write to the OEM folder? So I typed
'mount -o rw,remount /oem' and that worked!
So.. I used another command window without closing the first one and pushed a new OEM folder to /data/local/temp
(I got the new OEM folder from US XZ1c firmware. you can also get that folder by searching for TMo-VoLTE-fix-v3.zip & unziping it)
Then, I went back to the original temp root command window & used the 'cp' command to copy that new OEM file from data/local/temp over to my /OEM folder. I re-set the owner & file permissions rebooted.
After testing it, I was able 2 flash the latest (non US for working fp) Oreo by flashing like normal with Newflasher except I deleted the OEM.sin file, so it wouldn't write over my new one! Finally I disabled auto update.
Now my XZp is still bootloader locked, running 47.1.A.16.20 with Fingerprint, Volte & wifi calling all working on tmobile in the US.
I can actually receive calls at home now!! Before this, most of my calls went 2 vm, after a long pause.
I did also try it with pie & it didn't work for me. But, ymmv. I am sure it's possible tho. I was not impressed with pie anyways & I really hate that new volume popup window that covered my home & back keys in landscape mode.
One other note is because I have the dual sim XZp I changed my modem name in the modem.conf file from "tmobile_us_ims" to "dsds_tmobile_us_ims". I am not sure this is actually necessary tho because I have since looked in other ds Volte firmwares like Taiwan. And they don't use "dsds" in their modem.conf file
Click to expand...
Click to collapse
Do we lose drm key? Can I access the / system or use root explorer?
tronganhha29 said:
Do we lose drm key? Can I access the / system or use root explorer?
Click to expand...
Click to collapse
You won't lose any drm keys if you don't unlock the bootloader. I posted screen shots above that show all security keys intact, with locked bootloader. And if you look at the top, the wifi calling icon is there! The "rooting" part I used was only temporary & I only tried 2 modify files in the /OEM folder because that's all I needed for Volte & WiFi calling on tmobile. I had 2 downgrade firmware & run a temp root exploit from j4nn.
His exploit is explained here https://forum.xda-developers.com/xperia-xz1-compact/development/devonly-exploits-temp-root-to-backup-t3795510 BUT, instead of unlocking the bootloader I just copied US Xz1c /OEM files into my /OEM folder then set file permissions. That would be awesome if someone could make a script 2 automate this process for everyone!
Remember after your done, your gonna want 2 update to a newer more secure firmware. I didn't have luck with Pie, but it's got some minor bugs anyways (I am running Oreo 47.1.A.16.20 now & I love it). The trick is you MUST DELETE the OEM.sin folder from the new firmware folder before you flash it. Otherwise it will write over your progress.
Robin Banks said:
You won't lose any drm keys if you don't unlock the bootloader. I posted screen shots above that show all security keys intact, with locked bootloader. And if you look at the top, the wifi calling icon is there! The "rooting" part I used was only temporary & I only tried 2 modify files in the /OEM folder because that's all I needed for Volte & WiFi calling on tmobile. I had 2 downgrade firmware & run a temp root exploit from j4nn.
His exploit is explained here https://forum.xda-developers.com/xperia-xz1-compact/development/devonly-exploits-temp-root-to-backup-t3795510 BUT, instead of unlocking the bootloader I just copied US Xz1c /OEM files into my /OEM folder then set file permissions. That would be awesome if someone could make a script 2 automate this process for everyone!
Remember after your done, your gonna want 2 update to a newer more secure firmware. I didn't have luck with Pie, but it's got some minor bugs anyways (I am running Oreo 47.1.A.16.20 now & I love it). The trick is you MUST DELETE the OEM.sin folder from the new firmware folder before you flash it. Otherwise it will write over your progress.
Click to expand...
Click to collapse
Can you help me on activating VoLTE? I read in the above tutorial just talking about backup and restore TA partition. Sorry for my English not good. Thank you!
tronganhha29 said:
Can you help me on activating VoLTE? I read in the above tutorial just talking about backup and restore TA partition. Sorry for my English not good. Thank you!
Click to expand...
Click to collapse
Are you in the US, & want Volte on Tmobile?
Robin Banks said:
Are you in the US, & want Volte on Tmobile?
Click to expand...
Click to collapse
No, I'm in Vietnam, i'm using G8141 with custom CH firmware
tronganhha29 said:
No, I'm in Vietnam, i'm using G8141 with custom CH firmware
Click to expand...
Click to collapse
I am sorry, I am not familiar with any phone providers in Vietnam. I don't think there is an easy fix because I haven't seen Vietnamese Volte modem files in any XZp firmware. I could be wrong tho, so maybe someone will correct me & also help you out.
The only reason this works for tmobile is because Sony included built in support files for some providers, like tmobile in the US. But, it's only their XZ1c phone that will actually load the correct modem file & trigger Volte & WiFi calling features out of the box. Only a couple files need to be changed on the XZp.
Problem was, it always required a bootloader unlock to change those files.
This is not a problem anymore... Because it can now be done with temproot thanks to j4nn!
Robin Banks said:
I am sorry, I am not familiar with any phone providers in Vietnam. I don't think there is an easy fix because I haven't seen Vietnamese Volte modem files in any XZp firmware. I could be wrong tho, so maybe someone will correct me & also help you out.
The only reason this works for tmobile is because Sony included built in support files for some providers, like tmobile in the US. But, it's only their XZ1c phone that will actually load the correct modem file & trigger Volte & WiFi calling features out of the box. Only a couple files need to be changed on the XZp.
Problem was, it always required a bootloader unlock to change those files.
This is not a problem anymore... Because it can now be done with temproot thanks to j4nn!
Click to expand...
Click to collapse
I worry about losing drm key. I was on the xzc and I had a camera error.
Thank you !
tronganhha29 said:
I worry about losing drm key. I was on the xzc and I had a camera error.
Thank you !
Click to expand...
Click to collapse
The only way you can lose your DRM keys... Is unlocking your bootloader. I did not want to do that. But, I wanted Volte & WiFi calling. This thread is about how I got those features WITHOUT unlocking my bootloader. And yes, of course I still have my DRM keys.
You said, that you had a camera error on an XZ1c? Assuming, you unlocked the bootloader. Did you get Volte working in Vietnam after you unlocked it? If not, then none of this will help you with your XZp. because they are very similar & they use the same provider modem files.
From what I understand, the Pie update fixes the green picture camera error. Have you tried updating your XZ1c to Pie? That should atleast make your camera work again.
Good idea, i'm using others country rom because my country update speed suck ... (Due to the carrier) , so i lose feature like WIFI calling and VoLTE. Gonna try this.
vyis said:
Good idea, i'm using others country rom because my country update speed suck ... (Due to the carrier) , so i lose feature like WIFI calling and VoLTE. Gonna try this.
Click to expand...
Click to collapse
This is what people in the US with the XZ1c have been doing because they want to enable their Fingerprint sensor AND have the US Volte settings.
So if your provider already supports Volte.. Flash that firmware first so your volte works. Then before you flash the country you want to use. Just delete the new OEM.sin file out of the folder. That will make a perfect mix of the two.
It will only keep your volte provider settings from old firmware. You don't even need temp root.
But I doubt Volte setting would survive an OTA update. It also will work with two different build versions. I don't know if this is possible with oreo/pie mix tho.
Robin Banks said:
*This would not be possible without j4nn & his amazing temp root https://forum.xda-developers.com/xperia-xz1-compact/development/devonly-exploits-temp-root-to-backup-t3795510 please thank & donate 2 him!*
This is not really a "how 2 guide" because I am not good at explaining things like this. But I will try & explain how I did it. Because I have seen a lot of other people also searching for working Volte without unlocking their bootloader.
First I used j4nn's temp root guide & flashed old firmware & ran his magic program. Then I backed up my DRM keys (incase I want to unlock my bootloader someday). Then I stopped. And instead of unlocking my bootloader & while still in temp root.. I thought, maybe I can write to the OEM folder? So I typed
'mount -o rw,remount /oem' and that worked!
So.. I used another command window without closing the first one and pushed a new OEM folder to /data/local/temp
(I got the new OEM folder from US XZ1c firmware. you can also get that folder by searching for TMo-VoLTE-fix-v3.zip & unziping it)
Then, I went back to the original temp root command window & used the 'cp' command to copy that new OEM file from data/local/temp over to my /OEM folder. I re-set the owner & file permissions rebooted.
After testing it, I was able 2 flash the latest (non US for working fp) Oreo by flashing like normal with Newflasher except I deleted the OEM.sin file, so it wouldn't write over my new one! Finally I disabled auto update.
Now my XZp is still bootloader locked, running 47.1.A.16.20 with Fingerprint, Volte & wifi calling all working on tmobile in the US.
I can actually receive calls at home now!! Before this, most of my calls went 2 vm, after a long pause.
I did also try it with pie & it didn't work for me. But, ymmv. I am sure it's possible tho. I was not impressed with pie anyways & I really hate that new volume popup window that covered my home & back keys in landscape mode.
One other note is because I have the dual sim XZp I changed my modem name in the modem.conf file from "tmobile_us_ims" to "dsds_tmobile_us_ims". I am not sure this is actually necessary tho because I have since looked in other ds Volte firmwares like Taiwan. And they don't use "dsds" in their modem.conf file
Click to expand...
Click to collapse
You are awesome! Can you please write specific commands you used to
1) push a new OEM folder to /data/local/temp
2) 'cp' command to copy that new OEM file from data/local/temp over to my /OEM folder.
3) I re-set the owner & file permissions rebooted.
Thanks!
VBBoston said:
You are awesome! Can you please write specific commands you used to
1) push a new OEM folder to /data/local/temp
2) 'cp' command to copy that new OEM file from data/local/temp over to my /OEM folder.
3) I re-set the owner & file permissions rebooted.
Thanks!
Click to expand...
Click to collapse
I will try. But, like I said. I am not that great at step by step instructions. It would be awesome if someone made a better guide or a script 2 run after temp root.
So, AFTER you already have temp root. Open another command window (keep your temp root window open!) assuming you have the new OEM folder in your command line root dir.
Adb push OEM /data/local/tmp
Then using the temp root window from earlier exploit.
mount -o rw,remount /oem
chown root.root /data/local/tmp/OEM
cd /data/local/tmp/OEM
cp - R * /oem
chmod 755 /oem/modem-config
chmod 755 /oem/modem-config/408
chmod 644 /oem/modem-config/408/modem.conf
chmod 755 /oem/overlay-408
chmod 644 /oem/overlay-408/android-res-310-408.apk
chmod 644 /oem/overlay-408/com.android.carrierconfig-res-310-408.apk
chmod 644 /oem/overlay-408/com.android.phone-res-310-408.apk
chmod 644 /oem/overlay-408/com.android.settings-res-310-408.apk
chmod 644 /oem/overlay-408/com.android.systemui-res-310-408.apk
chmod 755 /oem/system-properties/408
chmod 644 /oem/system-properties/408/config.prop
Done. Reboot. You might half to take out your Sim card & reinsert it. Or factory reset. To get volte setting to take. You will know because it will say something like restarting to update carrier configuration.
Then of course you can update, but be shure to delete the OEM.sin file before flashing newer firmware! I tried this with pie once & it did not work for me. But ymmv. Right now I like oreo better anyways
I have included the zip file I found here on XDA & used it. It's meant for bootloader unlocked so just Unzip it & only use the OEM file.
Please let me know how it goes or if I forgot something!
Robin Banks said:
I will try. But, like I said. I am not that great at step by step instructions. It would be awesome if someone made a better guide or a script 2 run after temp root.
So, AFTER you already have temp root. Open another command window (keep your temp root window open!) assuming you have the new OEM folder in your command line root dir.
Adb push OEM /data/local/tmp
Then using the temp root window from earlier exploit.
mount -o rw,remount /oem
chown root.root /data/local/tmp/OEM
cd /data/local/tmp/OEM
cp - R * /oem
chmod 755 /oem/modem-config
chmod 755 /oem/modem-config/408
chmod 644 /oem/modem-config/408/modem.conf
chmod 755 /oem/overlay-408
chmod 644 /oem/overlay-408/android-res-310-408.apk
chmod 644 /oem/overlay-408/com.android.carrierconfig-res-310-408.apk
chmod 644 /oem/overlay-408/com.android.phone-res-310-408.apk
chmod 644 /oem/overlay-408/com.android.settings-res-310-408.apk
chmod 644 /oem/overlay-408/com.android.systemui-res-310-408.apk
chmod 755 /oem/system-properties/408
chmod 644 /oem/system-properties/408/config.prop
Done. Reboot. You might half to take out your Sim card & reinsert it. Or factory reset. To get volte setting to take. You will know because it will say something like restarting to update carrier configuration.
Then of course you can update, but be shure to delete the OEM.sin file before flashing newer firmware! I tried this with pie once & it did not work for me. But ymmv. Right now I like oreo better anyways
I have included the zip file I found here on XDA & used it. It's meant for bootloader unlocked so just Unzip it & only use the OEM file.
Please let me know how it goes or if I forgot something!
Click to expand...
Click to collapse
Thank you!!! just needed to edit command cp - R * /oem to cp -R * /oem
Robin Banks said:
[...] because I have the dual sim XZp I changed my modem name in the modem.conf file from "tmobile_us_ims" to "dsds_tmobile_us_ims".
Click to expand...
Click to collapse
Since my G8342 does not load the correct 'Current Modem Configuration' (see screenshot from G8341) I can force this by editing the 'modem.conf', right?
SGH-i200 said:
Since my G8342 does not load the correct 'Current Modem Configuration' (see screenshot from G8341) I can force this by editing the 'modem.conf', right?
Click to expand...
Click to collapse
I am just gonna guess that your running a single Sim firmware & you want 2 load a dual sim modem? I am pretty shure that won't work. You can use a single Sim firmware & modem file on a dual sim phone. But the other sim slot won't function. But it looks like you already know that. I am using a dual sim firmware (and phone g8142). But there is no official Volte tmobile firmware for the XZp. Even tho the correct tmobile modem is baked into all the XZp firmwares. It needs the OEM.sin to provision volte & WiFi. It sets "IMS" true or something like that. So I used an oem.sin config file from a single Sim Xz1c. But the rest of my firmware is still XZp dual sim. I originally changed the part where it loads the correct modem & added "dsds" to the beginning because that's what the tmobile modem in my firmware is named. That worked. But it turns out, I didnt even half 2 do that. It still loads my "dsds_tmobile_us_ims" modem. Even tho I just have "tmobile_us_ims" in my modem.conf file. If you were gonna try and load a diffent modem it would be under /oem/modem-config/310/modem.conf because 310 is the customization that your running (in your thumbnail). So, yes you can force it 2 load whatever modem you want.. But only try the modems that are included with your current firmware. I wouldnt copy an actual dual sim modem into your single sim firmware. It *might* work. More then likely would brick it. Lemme know if you have any other questions & I will help ya if I can
Robin Banks said:
I am using a dual sim firmware (and phone g8142). But there is no official Volte tmobile firmware for the XZp. Even tho the correct tmobile modem is baked into all the XZp firmwares. It needs the OEM.sin to provision volte & WiFi. It sets "IMS" true or something like that. So I used an oem.sin config file from a single Sim Xz1c. But the rest of my firmware is still XZp dual sim.
Click to expand...
Click to collapse
This is the way I did it, too!
Robin Banks said:
[...]still loads my "dsds_tmobile_us_ims" modem. Even tho I just have "tmobile_us_ims" in my modem.conf file.
Click to expand...
Click to collapse
Flashing the OEM.sin is not enough in my case (G8342) because the modem file is missing!?
Robin Banks said:
But only try the modems that are included with your current firmware.
Click to expand...
Click to collapse
Is it possible to "look" into a SIN file without flashing it, to see which modem files are included, without flashing the firmware?
SGH-i200 said:
This is the way I did it, too!
Flashing the OEM.sin is not enough in my case (G8342) because the modem file is missing!?
Is it possible to "look" into a SIN file without flashing it, to see which modem files are included, without flashing the firmware?
Click to expand...
Click to collapse
The actual modem files are in modem.sin and you could unpack them and take a look. But, if your using a single sim xz1 OEM.sin that supports your carriers volte settings.. I think you should be able 2 just flash the whole firmware. I have flashed a single Sim firmware on my XZp and back to dual sim. You will loose your second sim functionality. But you can always flash a dual sim firmware back & it will be good has new. Do you really use 2 sim cards? Check out the 7th post in this thread (user rafi.mv6) about Xz1 single Sim flashing. https://forum.xda-developers.com/xz-premium/how-to/xzp-volte-firmware-t3631276
I used j4nn bindershell version of the temp root and Your guide to activate VoLTE and VoWiFi for Vodafone CZ not for the temp root supported Oreo, but for the actually last available Pie firmware 47.2.A.10.107 Customized CE1 (1308-5321) for XZ Premium single SIM G8141
I am about to write down the detailed guide soon. It is based on info from j4nn post #9 in his bindershell version temp root thread.
XZ Premium Vodafone CZ Volte & WiFi calling in Pie WITHOUT bootloader unlock
THE STORY BEHIND
As I have very poor telephone signal inside the building of our veteran garage due to combination of a garage-to-BTS distance and very thick walls of an old building and many calls to me ended up with "The number cannot be reached, try again later" and me receiving the SMS with info about missed call, I wanted to use last issued Android for my Xperia XZ Premium single SIM G8141 and to have available VoLTE and VoWiFi for my provider Vodafone CZ. Then I started to investigate, which version of the phone and which customization I have exactly. I found, that despite being located in Central Europe, my phone customization was to my surpise of South Africa (1308-5324 Customized ZA 47.2.A.10.107). To achieve activation of the VoLTE and VoWiFi I thought, it could be enough to flash the Central Europe customization (1308-5321 Customized CE1 47.2.A.10.107), as special Vodafone CZ customization was not showed by XperiCheck, and it will all work seamlessly then. I could not be wrong more. After quite weak search for the info, I downloaded and flashed that Pie CE1 customization, with skipping userdata, all TA files and persist.sin to keep all data and settings not erased, there was no VoLTE nor VoWiFi available anyway. Then I started to investigate the possibilities more intensively. What I found, there was no direct option to have VoLTE and VoWiFi activated somehow on Pie, as the temp root and modification guides was available just for Oreo. But there were some hints within those threads, that pointed me to the possibility to achieve to have that function on Pie as well. Despite there were infos, that the intended sequences did not worked for some members trying it for Pie, it was not detailed enough to be clear, how they proceed. So I started to think about that all the time and based on number of Xperia XZ1c/XZ1/XZp threads, I considered many ways how to achieve my goal. Finally, the resulted steps were none of my ideas, I just collected all the wisdome from those threads and I just put them into the right sequence, that worked for me. If being on temp root supported Oreo firmware when started, it could be a path without loosing any user data, but as I was on last Pie, I had to backup every possible data and settings and to proceed the downgrade from Pie to Oreo with factory reset. There is no known way to me to downgrade with user data being kept, as despite I was warned, I tried it and I got the "promised" bootloop of course.
THE BASIC INFO
- SONY Xperia XZ1 (G8341), SONY Xperia XZ1 Compact (G8441) and SONY Xperia XZ Premium (G8141) are very similar phones with almost identical hardware. Therefore their firmwares do not differ much, at least in the text config files content manner. Hinted by XDA users, there can be the config files adapted from one of those devices to another easily. Many of them tested that for the Oreo and it worked fine for them.
- There exists Vodafone CZ customized Pie firmware for both XZ Premium friendly phones and they differ to their CE1 customized Pie firmware version just in the config settings part of oem.sin file and all modem definitions present inside in the system.sin are the same, so to change active modem, there is just config files modification needed that can be achieved through the temp root
- Using UnSin and ext4 image mounting SW investigate the files content, location and presence and try to figure out, which files could work for Your phone
- when flashing firmware, all excluded *.sin files/partitions will be not overwritten by new data and kept in the phone in current status and content. This is used in described steps to transfer changes from firmware supported by temp root to target firmware.
THE DESCRIPTION
The VoLTE and VoWiFi config files are in the /oem folder's subfolders. The content of the /oem folder can be kept when upgrading from lower to higher version of the Android by excluding the oem*.sin file when flashing. I disliked the idea to have oem settings from Oreo in the Pie and I tried to modify Pie's /oem folder within the Oreo firmware. Based on the info from this forum and by comparing all the firmwares content, I prepared (copied from CZ customized Pie firmware version of friendly phone G8341 XZ1) few files, that I identified to be important to change the modem file choosing by the system in XZ Premium Pie. So I prepared my own custom Oreo temp root supported CE1 customized firmware, excluded the XZp Oreo oem.sin and included the XZp Pie oem*.sin. I prepared the files to be changed in XZp Pie's /oem folder and the XZp Pie firmware with oem.sin excluded as well. I flashed first the hybrid XZp Oreo-with-Pie-oem-folder firmware to my phone successfully, started the XZp with Android Oreo. I cancelled all automatic updates, activated developer menu item and set the USB debugging ON. With using ADB I ran temp root, injected modified files into the /oem folder and set their rights. Rebooted and with temp root again I checked the injected files presence in /oem folder. Then I flashed CE1 customized XZp Pie firmware with its oem.sin excluded and rebooted XZp to Pie. I cancelled all automatic updates again and checked the modem and VoLTE settings. There was VoLTE option switch inside the service menus in blue color and actitaved with the VoWiFi option greyed out but set to ON. There the Enable VoLTE menu item appeared in the Network settings and it could be switched ON. In the Call settings, the Wi-Fi calling menu item appeared there in Advanced settings and could be activated. The service itself appeared and started to function after activating the service inside the provider Self service web portal.
THE PRINCIPLE
- I wanted VoLTE and VoWiFi for Vodafone CZ on SONY Xperia XZ Premium single SIM G8141
- To let it work, I had to modify Pie's /oem folder
- it is posible to modify it only when rooted or temp rooted
- I do not want to root it
- the only temp root is for Oreo
- I prepared and flashed hybrid firmware, Pie /oem with the Oreo main system - this trick was my only invention to this and it fortunately worked !
- I modified Pie /oem folder inside Oreo firmware temp root to support Pie's VoLTE and VoWiFi for Vodafone CZ
- I flashed latest Pie excluding the oem.sin to keep modified /oem settings then
- I switched the device settings ON and I activated the provider support for Vodafone CZ VoLTE and VoWiFi in Self Service portal
- Now I can enjoy Vodafone CZ VoLTE and VoWiFi on SONY Xperia XZ Premium single SIM G8141
WHAT TO DOWNLOAD
- To investigate Your phone version settings (not needed to follow my steps)
Download UnSin (UnSIN 1.13 (Win x64).zip)
Download SW for mounting and explore ext4 partition (ext2explore-2.2.71.rar)
Download the firmware for the other phones to look for setting files. In my case, it was G8341 Vodafone CZ customized Pie firmware (XZ1 G8341_Vodafone CZ_47.2.A.11.228-R2C)
- To activate VoLTE and VoWiFi for Vodafone CZ on SOMY Xperia XZ Premium single SIM G8141 (enough to follow my steps)
Download ADB (platform-tools_r33.0.2-windows.zip)
Download newflasher (newflasher_v52.zip)
Download the j4nn temp root alternative solution for G8141 (bindershell)
Download the G8141 j4nn temp root supported Oreo firmware in the same customization, as the later Pie to minimize issues (XZ Premium G8141_47.1.A.16.20 Customization CE1)
Download the G8141 CE1 customized Pie firmware (1308-5321 Customized CE1 47.2.A.10.107)
Download the G8141 Vodafone CZ customized Pie /oem fodler files (attached here as G8141_Vodafone_CZ_Modded_Pie_OEM_folder.ZIP)
THE PREPARATION
- if You want to proceed for phone different to G8141 and Vodafone CZ, check with xpericheck all three phone versions firmwares, whether there is any that contains customized version for Your provider, if there is one for Your phone, just flash that customization and You go
- if there is customized version of the firmware for Your provider for any of the other two phones, investigate the content of those firmwares oem*.sin and system*.sin files and try to match the proper files to copy/modify for Your phone (use UnSin and ext4 explorer for this task), the content of modem.conf file in oem.sin file, modem-config folder holds the short name of the modem *.mbn file in system.sin file, etc/customization/modem folder. For example, if modem.conf file contains "vodafone_czech_volte_vowifi" text, it defines using the "amss_fsg_maple_vodafone_czech_volte_vowifi_tar.mbn" modem files, that allows function of VoLTE and VoWiFi for Vodafone CZ. If Your firmware in system.sin contains modem file with the same name, You can modify /oem part of the firmware to select this modem and activate VoLTE and VoWiFi for Your phone/provider combination as well. I was inspired by Robin Banks files copied and I identified and copied several relevant files from G8341 Vodafone CZ firmware's /overlay folder as well. Try to add similar files for Your phone version as well.
- Prepare the XZ Premium single SIM G8141 temp root supported Oreo firmware into folder "01 not full Oreo downgrade with Pie OEM"
- exclude the Oreo oem.sin to allow using Pie oem.sin
- exclude the following Oreo firmware files as well: see content of the folder "01b not used Oreo files" (for the list see attachement file G8141_Vodafone_CZ_mod_FoldersContent.TXT)
- do not exclude userdata.sin when downgrading or else You get the bootloop (tested by myself )
- copy inside the folder the Pie's oem*.sin (oem_X-FLASH-CUST-42E5.sin)
- copy inside the folder the newflasher.exe file (to ease the process)
- extract ADB files into its folder, c:\platform-tools\ in my case
- copy content of the "02 adb push files" folder into c:\platform-tools\, extract it from the attached G8141_Vodafone_CZ_Modded_Pie_OEM_folder.ZIP
- copy bindershell file from j4nn for Oreo temp root into c:\platform-tools\
- Prepare the XZ Premium single SIM G8141 last Pie firmware into folder "03 Pie flash without OEM"
- exclude the Pie oem.sin
- exclude the following Pie firmware files as well: see content of the folder "03b_not_used_Pie_files" (for the list see attachement file G8141_Vodafone_CZ_mod_FoldersContent.TXT)
- copy inside the folder the newflasher.exe file too
- check both firmware folders to have their boot_delivery.xml file in boot folder and partition_delivery.xml file in partition folder for the flash to end correctly
- check the G8141_Vodafone_CZ_mod_FoldersContent.TXT and compare the folders' content to match
THE STEPS (Windows PC)
#01 - have Your phone charged, all data and settings backed up (including trim areas) and all phone drivers installed, this is a good way to start
#02 - go to "01 not full Oreo downgrade with Pie OEM" folder and run newflasher.exe inside, it will open a command line window, stay in this window
#03 - switch off the phone, hold volume down key and connect it to PC, wait for green LED ilumination and release volume down button
#04 - type 'n' + ENTER to skip install of GordonGate flash driver (You have them already installed, see step #01)
#05 - type 'p' + ENTER for poweroff after flash
#06 - type 'n' + ENTER to skip of dump trim area backup and the Oreo with Pie oem.sin flash will start, wait several minutes for process to finish
#07 - when flash finished, disconnect phone, close command line window
#08 - switch ON the phone and start Oreo system fully, disable any automatic updates ASAP, to stay on temp root supported firmware version of the Oreo
#09 - become a Developer and in Developer menu switch USB debugging ON
#10 - connect the phone to PC and allow connection
#11 - go to c:\platform-tools\ in Explorer and using SHIFT+right click open e.g. first PowerShell window from this folder
#12 - in PowerShell window type 'adb push bindershell /data/local/tmp' and press ENTER to copy bindershell file to the phone
#13 - if You do not have ADB fully installed and You just have drivers copied into the c:\platform-tools\ folder, type the command like this './adb push bindershell /data/local/tmp', add the './' before ADB commands in future, if this error repeats
#14 - in PowerShell window type 'adb shell' (or add ./ in the front of the command again) and press ENTER to run shell in the phone, the command prompt will change from PC:/platform-tools> to the name of Your phone, e.g. G8141:/ $
#15 - get a simple temp root shell according j4nn HOWTO
G8141:/ $ cd /data/local/tmp
G8141:/data/local/tmp $ chmod 755 ./bindershell
G8141:/data/local/tmp $ ./bindershell
#16 - You will know to have a temp root, when the prompt character changes from $ to # (like G8441:/data/local/tmp #), keep this first PowerShell window open
#17 - open a second PowerShell window from the same folder as the first one (c:\platform-tools\) using SHIFT+right click
#18 - in the second PowerShell window type 'adb push OEM /data/local/tmp' and ENTER to copy your modified files from c:\platform-tools\OEM folder on the PC to /data/local/tmp/OEM folder in the phone (in case of error add the './' before the command), after finishing, You can close this second PowerShell window
#19 - activate the first PowerShell window with the temp root still active and type following commands (these are the Robin Banks commands he wrote in the post #13 modified for my XZ Premium single SIM Vodafone CZ version)
mount -o rw,remount /oem
chown root.root /data/local/tmp/OEM
cd /data/local/tmp/OEM
cp -R * /oem
chmod 755 /oem/modem-config
chmod 644 /oem/modem-config/modem.conf
chmod 755 /oem/overlay
chmod 644 /oem/overlay/android-res-305.apk
chmod 644 /oem/overlay/com.android.carrierconfig-res-305.apk
chmod 644 /oem/overlay/com.android.settings-res-305.apk
chmod 644 /oem/overlay/com.android.systemui-res-305.apk
chmod 755 /oem/system-properties/
chmod 644 /oem/system-properties/config.prop
#20 - for You own setup, remember to set rights 755 for any folder name and rights 644 for any file name copied from /data/local/tmp/OEM to /oem folder inside the phone
#21 - Done. Reboot the phone into the Oreo with now modified Pie /oem folder. Close PowerShell window.
#22 - You can repeat temp root now to check, If Your files are really present inside the phone /oem folder and You proceeded well.
#23 - do not panic, if You check the Service info/Software info menu item now by dialing *#*#7378423#*#* and there is still recent modem *.mbn file selected, do not care about it as it is prepared for Pie and You are still on Oreo firmware now
#24 - go to "03_Pie_flash_without_OEM" folder and run newflasher.exe inside, it will open a command line window, stay in this window
#25 - switch off the phone, hold volume down key and connect it to PC, wait for green LED ilumination and release volume down button
#26 - type 'n' + ENTER to skip install of GordonGate flash driver
#27 - type 'p' + ENTER for poweroff after flash
#28 - type 'n' + ENTER to skip of dump trim area backup and Pie without oem.sin flash will start, wait several minutes for process to finish
#29 - when flash finished, disconnect phone, close command line window, now there is complete Pie system with VoLTE and VoWiFi modified /oem folder installed on Your device and all should work from now on
#30 - switch ON the phone and start Pie system, disable any automatic updates ASAP to keep Your modification in tact and not overwritten by future possible updates, if You want, regularly check for the firmware updates manualy and if there is a newer firmware You want to run, be prepared to proceed the whole this procedure again with newer firmware and test if it works for it as well
THE CREDITS
- j4nn for the XZp temp root alternative
- Robin Banks for the original How To
- chris_j26 for information in his [GUIDE] Enable VoLTE for your non operator handset thread (this needs Unlocked BL)
- pbarrette for the info to flash the cust-reset.ta file to clear the device current carrier customization information
- and credits for the SW creators (UnSin 1.13 - IgorEisberg, newflasher v52 - munjeni, Ext2Explore - rcrajesh & regmi_manish)
- and all the others forgotten...
THE DOWNLOAD
Here You can find
files list with the folders structure for all steps described above and compressed modified OEM folder to push to G8141 XZp single SIM Vodafone CZ
- all files used by me listed with their folder structure in TXT file
- a zip file with XZ Premium single SIM OEM folder modified for Vodafone CZ VoLTE & VoWiFi
- pictures
01 original ZA customization info
02 target CE1 customization info before MOD
03 final CE1 modded to CZ customization info after MOD
04 *#*#4636#*#* telephone info after MOD
05 WiFi calling menu item after MOD