[Guide] Enabling VoLTE/VoWiFi OOS11 - OnePlus 7T Guides, News, & Discussion

Hi!
This guide will help you enable VOLTE and VOWIFI on your Op7t and other One Plus OOS11 device.
Step 1 - Install oneplus Logkit and engineeringmode working apks.
Oneplus Logkit - https://drive.google.com/file/d/13YugwyZ-dMH2474h-DjLVzPNsrs7EJ0k/view?usp=sharing
Oneplus Engineeringmode - https://drive.google.com/file/d/13QPmtbVL4hCJbXYOVHtq36GzRhtKSlOe/view?usp=sharing
Step 2 - Enable VoLTE and VoWIFI
NON ROOT method
In Phone app dial *#800# - this will open the OnePlusLogKit app
In OnePlusLogKit app go to Function Switch menu and enable VoLTE switch, VoWifi switch and VT switch
Root Method
In Magisk manager install voenable-v1.8.zip - https://drive.google.com/file/d/13gYwvkmeMrizmROxs8HXPy1WQx2_uBFC/view?usp=sharing
Step 3- Download - Efstools
https://drive.google.com/file/d/1Xnl245es8SEaahrAKn8pOw5vPkj1cUQo/view?usp=sharing
Step 4 - enable engineer mode and test connection
In Phone app dial *#801# this will open EngineerMode
In EngineerMode app enable engineer Mode toggle and connect phone to PC
test connection - run this in the cmd window: EfsTools.exe efsInfo
This should report back some info if everything is working
Step 5 - disabling mcfg
Extract EfsTools, and make sure the mcfg_autoselect_by_uim file is there. Now simply run this in the cmd window, one line at a time:
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim -s 1
If everything worked you should see no error messages.
Step 6 - writing mbn
First you need to find an working MBN file for your carrier, this is done by going in firmware_mnt and looking for the mbn files with and root explorer
For my carrier i'm using the india vodafone mbn file wich is already present in the efstools zip i provided, if this is not working for you upload the firmware_mnt folder and i will upload and update this guide with all the mbn files. I am not rooted and can't do that.
Also the india vodafone mbn file is from OOS11 oneplus 7T 11.0.0.0 and it works on 11.0.0.2 also.
For sim 1 use this command: EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -v
For sim 2 use this command: EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -s 1
If it has worked you should see a bunch of output, but no errors. Try rebooting now, and hopefully after it has booted you will have fully functional VoLTE and VoWiFi.
Source and credits
[Guide] Enabling VoLTE/VoWiFi v2
Preface With this guide I can officially deprecate the other guide I wrote, as we will no longer have to hack together a solution by loading profiles for other carriers. Meaning, that this should just work provided an mbn exists for your carrier...
forum.xda-developers.com

Makerrr said:
Hi!
This guide will help you enable VOLTE and VOWIFI on your Op7t and other One Plus OOS11 device.
Step 1 - Install oneplus Logkit and engineeringmode working apks.
Oneplus Logkit - https://drive.google.com/file/d/13YugwyZ-dMH2474h-DjLVzPNsrs7EJ0k/view?usp=sharing
Oneplus Engineeringmode - https://drive.google.com/file/d/13QPmtbVL4hCJbXYOVHtq36GzRhtKSlOe/view?usp=sharing
Step 2 - Enable VoLTE and VoWIFI
NON ROOT method
In Phone app dial *#800# - this will open the OnePlusLogKit app
In OnePlusLogKit app go to Function Switch menu and enable VoLTE switch, VoWifi switch and VT switch
Root Method
In Magisk manager install voenable-v1.8.zip - https://drive.google.com/file/d/13gYwvkmeMrizmROxs8HXPy1WQx2_uBFC/view?usp=sharing
Step 3- Download - Efstools
https://drive.google.com/file/d/1Xnl245es8SEaahrAKn8pOw5vPkj1cUQo/view?usp=sharing
Step 4 - enable engineer mode and test connection
In Phone app dial *#801# this will open EngineerMode
In EngineerMode app enable engineer Mode toggle and connect phone to PC
test connection - run this in the cmd window: EfsTools.exe efsInfo
This should report back some info if everything is working
Step 5 - disabling mcfg
Extract EfsTools, and make sure the mcfg_autoselect_by_uim file is there. Now simply run this in the cmd window, one line at a time:
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim -s 1
If everything worked you should see no error messages.
Step 6 - writing mbn
First you need to find an working MBN file for your carrier, this is done by going in firmware_mnt and looking for the mbn files with and root explorer
For my carrier i'm using the india vodafone mbn file wich is already present in the efstools zip i provided, if this is not working for you upload the firmware_mnt folder and i will upload and update this guide with all the mbn files. I am not rooted and can't do that.
Also the india vodafone mbn file is from OOS11 oneplus 7T 11.0.0.0 and it works on 11.0.0.2 also.
For sim 1 use this command: EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -v
For sim 2 use this command: EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -s 1
If it has worked you should see a bunch of output, but no errors. Try rebooting now, and hopefully after it has booted you will have fully functional VoLTE and VoWiFi.
Source and credits
[Guide] Enabling VoLTE/VoWiFi v2
Preface With this guide I can officially deprecate the other guide I wrote, as we will no longer have to hack together a solution by loading profiles for other carriers. Meaning, that this should just work provided an mbn exists for your carrier...
forum.xda-developers.com
Click to expand...
Click to collapse
do i have to be rooted?
i get sim was unexpected at this time when i try to run EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -v
Edit:
I succeeded to activate my VO-WIFI this method, thanks for the link here!

Tricepz said:
do i have to be rooted?
i get sim was unexpected at this time when i try to run EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -v
Edit:
I succeeded to activate my VO-WIFI this method, thanks for the link here!
Click to expand...
Click to collapse
witch carrer work for Proximus Belgium for vowifi oneplus 7t?
thanks!

In step 4, I keep getting "Critical error. The operation has timed out."

I have OP7T Android 11.0.3.1, I did the manual and the VOLTE works. The WIFICALL does not work.
I am in Israel and the operator is Cellcom.
What can I do?

Does this work with Android 13 Roms in Dec 2022?

Thank you! Worked like a charm. VoLTE and VoWIFI working on Vodafone in AU.
Only problem was I had to install drivers from windows update manually, device was showing as SM8150-MTP in device manager before I installed the drivers, worked perfectly after that.

Enabling VoLTE/VoWifi is successful in OOS11 using this method , When i upgraded to OOS12.1 this method didn't work , If i switch to custom roms will Volte/Vowifi be enabled automatically?

karthik0741 said:
Enabling VoLTE/VoWifi is successful in OOS11 using this method , When i upgraded to OOS12.1 this method didn't work , If i switch to custom roms will Volte/Vowifi be enabled automatically?
Click to expand...
Click to collapse
Same question here. Anyone have an answer for this?

Admiral Nelson said:
Same question here. Anyone have an answer for this?
Click to expand...
Click to collapse
I have switched to Custom rom's and Volte and VoWifi works with them.

karthik0741 said:
I have switched to Custom rom's and Volte and VoWifi works with them.
Click to expand...
Click to collapse
May I know is it A13 custom rom?

warlord2045 said:
May I know is it A13 custom rom?
Click to expand...
Click to collapse
I'm using Paranoid Android

Related

[GUIDE] Unlock LS980 ZVD (KK 4.4.2) [UPDATED 8/10/14]

Ok I successfully unlocked ZVD (KitKat 4.4.2) and thought I should share my steps in case anyone else was having the same issues as me which was mostly the systemui and home processes crashing on a loop.
First insert the SIM card you would like to use in the LS980. Then download and flash the stock firmware LS980ZVC_12.zip with the LG Tool -> http://downloads.codefi.re/autoprime/LG/LG_G2/LS980/Stock_Firmware
Download the ZVD update - > http://www.mediafire.com/download/s5dqwo1cbe68ckb/LS980ZVC_12-LS980ZVD_19_update.zip (Do not flash this OTA update from a rooted rom or custom recovery!)
After flashing ZVC, set the phone to charge only and enable USB debugging by becoming a developer. Go to About Phone->Software Information and keep clicking "Build number" until it says you are a developer. Then go back to the main settings and you will now see "Developer options" and can enable USB debugging in there.
After enabling USB debugging choose charge only and when the RSA Key fingerprint window pops up make sure you check "Always allow from this computer" and then click OK.
Next using the ADB tools, reboot into recovery mode to apply the ZVD update.
Code:
adb reboot recovery
Select "apply update from ADB" with the volume buttons then press the power button. Wait 5 seconds then enter the following command.
Code:
adb sideload path_to_file/LS980ZVC_12-LS980ZVD_19_update.zip
After the update finishes select "reboot system now".
Next turn on airplane mode and root the phone using IO Root -> http://forum.xda-developers.com/showpost.php?p=48709232&postcount=869
Next install SuperSU and BusyBox. Make sure you open SuperSu to update the SU binary and open BusyBox and install the busybox files.
*OPTIONAL INSTALL TWRP*
Next use ADB to install AutoRec -> http://forum.xda-developers.com/showthread.php?t=2715496.
Code:
adb install path_to_file\LS980_AutoRec.apk
Open AutoRec and flash the new patched kernel and recovery and then reboot. If you get white lines after rebooting, read the warning the OP has posted for the fix. I suggest here you take the time to make a backup and copy the EFS to your computer just in case.
*knock code feature will no longer work
*flash this kernel to enable knock code again and much more - > http://forum.xda-developers.com/showthread.php?t=2725023
*OPTIONAL END*
Now using ADB again, enter the following commands.
Code:
adb pull /system/build.prop
adb shell
su
After entering "su" check your phone to grant SuperUser permission to ADB. Aftering granting su to ADB, exit adb shell.
Code:
exit
exit
Next using Total Commander and the files from here -> http://forum.xda-developers.com/showthread.php?t=2655133 copy all the contents of the "carrier" folder to your phones "/carrier/" directory and choose "overwrite all". I like to delete the "legal.db" first this way I know the copy was successful when I see the new file listed. Do not delete any other files before copying the files over since we want to keep the file and folder permissions and owners of the originals. If Total Commander fails to copy the files over to the phone then you can use a root explorer app to do so.
Now edit the build.prop that you pulled from the phone with a program like Notepad++ since it will save the file for use with linux and not windows. Do not edit the build.prop or copy it back to the phone with any apps on the phone, this is what was causing the crashes for me.
Change the following lines
Code:
ro.carrier=unknown
ro.build.target_operator=SPR
persist.service.crash.enable=0
ro.telephony.default_network=10
telephony.lteOnCdmaDevice=1
to
Code:
ro.carrier=spr
ro.build.target_operator=spr
persist.service.crash.enable=1
ro.telephony.default_network=0
telephony.lteOnCdmaDevice=0
*ro.carrier and ro.build.target_operator can bet set to "TMO", "ATT", or "spr".
*"TMO" and "ATT" do not correctly display the signal strength in the status bar.
Save the build.prop and use ADB to push it to the sdcard.
Code:
adb push build.prop /sdcard/
Now here is where we have to manually mount the system partition as RW and copy the build.prop over since all the root explorer apps seem to also cause the crashing issue.
Code:
adb shell
su
mount -o remount,rw /system
cp /sdcard/build.prop /system/
mount -o remount,ro /system
reboot
After the phone reboots it should be unlocked. Verify with Radio Switcher that your preferred network type is "WCDMA preferred", if not then change it to "WCDMA preferred". Now add your APN using Tweakker APN INTERNET MMS. If your APN doesn't stick, delete /data/data/com.android.providers.telephony/databases/telephony.db and reboot then add your APN again.
*To remove Bloatware add ".bak" to the following system applications names located in /system/app/ and /system/priv-app/ folders.
Activation.apk
OmaDmclient.apk
SPR_Skyfire_Observer.apk
SPR_Skyfire_Toolbar.apk
SprintExtensionProvider.apk
SprintID.apk
SprintTouch.apk
Vtt-Sprint.apk
xtra_t_app.apk
Zone-Sprint.apk
WIFIOffloader.apk
Click to expand...
Click to collapse
*To fix the issue of the com.android.phone process crashing when you don't dial a 1 in front of the number edit the /data/data/com.android.providers.settings/databases/settings.db file with a SQLlite editor and change in the "system" table "assist_dial" and "assist_dial_init_db_check" to "0". If you don't see those 2 rows then you can add them instead.
Code:
adb shell
su
cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/settings.db
exit
exit
adb pull /sdcard/settings.db
sqlite3 settings.db
UPDATE system SET value='0' WHERE name='assist_dial';
UPDATE system SET value='0' WHERE name='assist_dial_init_db_check';
.exit
adb push settings.db /sdcard/
adb shell
su
cp /sdcard/settings.db /data/data/com.android.providers.settings/databases/settings.db
chown system:system /data/data/com.android.providers.settings/databases/settings.db
reboot
*To disable OTA updates and notifications rename the following files
/etc/security/otacerts.zip
/system/app/LGFOTA.apk
Click to expand...
Click to collapse
to
/etc/security/otacerts.zip.bak
/system/app/LGFOTA.apk.bak
Click to expand...
Click to collapse
*To replace the Sprint boot/shutdown animations and sounds with the LG default ones download these files -> https://www.mediafire.com/folder/cmb6jn7z7osmf/LG_G2_Boot_Animation
copy and overwrite the following files to /system/media/
bootanimation_sprint.zip
shutdownanimation_sprint.zip
Click to expand...
Click to collapse
copy and overwrite the following files to /system/media/audio/ui/
PowerOff_Sprint.ogg
PowerOn_Sprint.ogg
Click to expand...
Click to collapse
*LG G3 Theme for G2 -> https://play.google.com/store/apps/details?id=com.lge.launcher2.theme.rocketg3&hl=en
Thanks to all those people who contributed to this. :victory:
Thanks for the guide, working find for me and LS980, mms msg not working, propably i have error on APN settings, and signal bar min or max signal is 1 bar only....
MakisPgr said:
Thanks for the guide, working find for me and LS980, mms msg not working, propably i have error on APN settings, and signal bar min or max signal is 1 bar only....
Click to expand...
Click to collapse
Info and fix about the 1 signal bar bug is located in the guide above. Your mms issue is most likely a APN mistake. Make sure your data is working.
Sent from my LG-LS980 using XDA Premium 4 mobile app
This method worked on my ATT sim card I dont need to dial a 1 in front of #. but didnt work on my Lycamobile simcard and pageplus. still need to dial 1 infront of nuber.
thanks.
来自我的 LG-LS980 上的 Tapatalk
Can you attach a logcat of it crashing when you dial please
Sent from my LG-LS980 using XDA Premium 4 mobile app
jsergio123 said:
Info and fix about the 1 signal bar bug is located in the guide above. Your mms issue is most likely a APN mistake. Make sure your data is working.
Sent from my LG-LS980 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Yes you are right about 1 bar signal, didn't notice, and i fix my mistake settings on APN and mms now works perfectly ... Thank you very much
jsergio123 said:
Can you attach a logcat of it crashing when you dial please
Sent from my LG-LS980 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
sorry, I dont know where is it.
ahqiu said:
sorry, I dont know where is it.
Click to expand...
Click to collapse
adb logcat > logcat.txt
Sent from my LG-LS980 using XDA Premium 4 mobile app
Updated the OP for latest ZVD update from Sprint.
Added SQLite instructions.
Also confirmed working myself.
Updated the OP to include the files and instructions to replace the sprint boot/shutdown animations and sounds
Do you know if I would be able to install a custom rom after this? Also, I had the issue before with cloudys rom that would cause app force closing and restarts, should I expect the same this way?
Thanks a bunch
If you want to use a custom asop rom don't follow my guide instead just follow this guide after flashing your rom of choice.
http://forum.xda-developers.com/showthread.php?t=2827043
@jergio123
Do you think this would work to unlock additional bands on the Sprint LGG2 LS980 for T-Mobile USA?
http://forum.xda-developers.com/cro...ad-progress-please-leave-im-updating-t2871269
I guess the only way to find out would be to attempt it. I only quickly looked through the thread but good find.
Is there suppose to be a custom folder inside the carrier folder I copied over to root directory? After rebooting my device I've notice this custom folder that's not inside the original carrier folder I extracted ?
There should be a "cust" folder, I'm not sure if that is the folder you're referring to.
Will cloudys g3 ROM work with this unlock method?
I'm pretty sure cloudys rom is already unlocked and only requires you to change the radio with radio switcher and add your APN
Don't work
Hello, i can't unlock with this method. In the end, when i turn on the phone unlocked, the phone give me an error and always appear "com.android.phone".
I don't understand this part:
"Now edit the build.prop that you pulled from the phone with a program like Notepad++ since it will save the file for use with linux and not windows. Do not edit the build.prop or copy it back to the phone with any apps on the phone, this is what was causing the crashes for me."
I need edit "built.prop" or not? How?
I'm using the phone in Portugal (gsm carrier), i need to do this part?
Sorry but i really confused.
Thank you
Follow the guide step by step, I don't know how much clearer I can make it.
If you're getting process crashes then you must either restore the system partition from backup or start fresh by re-flashing with the LG tool.

[FIX] Run Viper4Android in SELinux enforced mode

Dear friends and OGPro users,
I got annoyed by running SELinux permissive for only one app - Viper4Android - so I've started searching for a way to allow it to run under Enforced mode. So far, I have found two ways:
1) changing ROM's sepolicy before building to allow exec permission for mediaserver (which looks like a bad idea),
2) adding live SELinux rule via init.d script
Second way looks a bit better for me, and someone at forums already made a fix, but it's working only if you have SuperSU installed because it needs SuperSU's supolicy binary.
Since lots of us don't use SuperSU, but instead use implemented superuser option, and since supolicy is closed source and only available in SuperSU package, I took some liberty and some of my free time to spend on lots of Google searches to find a way to implement this fix.
Requirements for this are:
- Lollipop ROM and kernel with init.d support
- working init.d
- good will to try it
Basically, this script flashes setools-android with sepolicy-inject binary and simple init.d script which is run at every boot and sets needed rules for mediaserver, allowing V4A to run under SELinux Enforced.
Flashable zip is available in the attachment. Tested and working on my device, running PAC 5.1.
setools-android and sepolicy-inject are open-source software, and credit for those projects goes to:
- xmikos @ github, for creating this tool bundle,
- pasis @ github, for originally porting setools,
- Joshua Brindle @ bitbucket, for creating sepolicy-inject
Thanks! Great work!
Hi There, just wanted to say thanks for your great work, I had to edit the install script to allow it to install on my device (Samsung Galaxy Express GT-I8730 - Running CM-12.1). But it works perfectly! You should share this with the V4A Thread!
Thanks again!
onvsop said:
Hi There, just wanted to say thanks for your great work, I had to edit the install script to allow it to install on my device (Samsung Galaxy Express GT-I8730 - Running CM-12.1). But it works perfectly! You should share this with the V4A Thread!
Thanks again!
Click to expand...
Click to collapse
You're welcome I haven't tested it on other devices so I had to play safe. If it's working for you as it should, I'll fix installer script in few days
hi
will this work on cm12.1
jeevan_500 said:
will this work on cm12.1
Click to expand...
Click to collapse
It should work on any ROM/kernel combination with functional init.d or init.d simulation, like in Kernel Adiutor (just edit the updater-script and remove e980 lines if you're on different device)
For changing SELinux to Permissive mode permanently, run the following commands through Terminal Emulator:
su
mount -o remount,rw /system
mkdir /system/su.d
echo "#!/system/bin/sh" > /system/su.d/permissive.sh
echo "setenforce 0" > /system/su.d/permissive.sh
echo "0" > /sys/fs/selinux/enforce
chmod 755 /system/su.d/permissive.sh
fmaher said:
For changing SELinux to Permissive mode permanently, run the following commands through Terminal Emulator:
su
mount -o remount,rw /system
mkdir /system/su.d
echo "#!/system/bin/sh" > /system/su.d/permissive.sh
echo "setenforce 0" > /system/su.d/permissive.sh
echo "0" > /sys/fs/selinux/enforce
chmod 755 /system/su.d/permissive.sh
Click to expand...
Click to collapse
Point of this zip is to allow only domains needed for V4A to run as permissive, not whole system. System is still running under enforced, just V4A gets access to tmpfs it needs to work properly.
Hi @ShadySquirrel,
I really like your found solution. I think it's way better than flashing supersu and all the v4a stuff to get it working. However it doesn't seem to work on Android 6. More information is on the screenshot attached. Is it easy to fix this by changing the support range from 15-29 to 15-30 or any other way?
Thanks in advance
pittvandewitt said:
Hi @ShadySquirrel,
I really like your found solution. I think it's way better than flashing supersu and all the v4a stuff to get it working. However it doesn't seem to work on Android 6. More information is on the screenshot attached. Is it easy to fix this by changing the support range from 15-29 to 15-30 or any other way?
Thanks in advance
Click to expand...
Click to collapse
Marshmallow will have to wait until binaries I'm using there are fixed and get support for it, unfortunately... Since I'm not the author of binaries, I can't give you an ETA.
ShadySquirrel said:
Marshmallow will have to wait until binaries I'm using there are fixed and get support for it, unfortunately... Since I'm not the author of binaries, I can't give you an ETA.
Click to expand...
Click to collapse
Yes I understand.. Well, let's wait and see. Thanks for the quick reply.
do i need to reinstall this everytime i update rom?
[email protected] said:
do i need to reinstall this everytime i update rom?
Click to expand...
Click to collapse
Yes.
P.S. This is not necessary for Slim.
Thanks worked great on lollipop.
I hope you will update the thread when you come up with the solution for marshmallow.
Regards.
fmaher said:
For changing SELinux to Permissive mode permanently, run the following commands through Terminal Emulator:
su
mount -o remount,rw /system
mkdir /system/su.d
echo "#!/system/bin/sh" > /system/su.d/permissive.sh
echo "setenforce 0" > /system/su.d/permissive.sh
echo "0" > /sys/fs/selinux/enforce
chmod 755 /system/su.d/permissive.sh
Click to expand...
Click to collapse
Well I'm not sure what I have done wrong here... it revert backs to Enforcing mode everytime after reboot.
I am on CM 13
ShadySquirrel said:
.
Click to expand...
Click to collapse
Can you make it compatible with Nougat?
OsniNO said:
Can you make it compatible with Nougat?
Click to expand...
Click to collapse
No, sorry, I don't have any Nougat running devices to test (I'm still stuck on Lollipop), and I'm not even sure this method will work on N.
ShadySquirrel said:
No, sorry, I don't have any Nougat running devices to test (I'm still stuck on Lollipop), and I'm not even sure this method will work on N.
Click to expand...
Click to collapse
It's maybe just an error in policydb supported version. When I try to run the script manually, i get message "policydb version 30 does not match my version range 15-29". I've attached a screenshot
OsniNO said:
It's maybe just an error in policydb supported version. When I try to run the script manually, i get message "policydb version 30 does not match my version range 15-29". I've attached a screenshot
Click to expand...
Click to collapse
Yeah, 6+ uses newer sepolicy, I'm not sure tools I've used are supporting it yet. I know that SuperSU has it's own policy inject tool, so maybe you can try injecting rules with it and create an init.d script.
Really can't make it work with M/N, I don't have any devices to test

[MOD] WIFI country code fix ( root required )

[Disclaim]
Mod at your own risk and I don't hold any responsibility for any consequence that may have been caused by this mod.
Remember to make a backup first though I have tested on my pixel.
[Background]
My company uses channel 132,136,140,144 to broadcast 5G wifi, however, the wifi region code on my phone is set to 'CN', so my phone could not even detect the wifi. For a complete list of available wifi channel in each region, please refer to this wiki.
I tried to set wifi_country_code via 'settings put global wifi_country code US' or add 'country=US' in /etc/wifi/wpa_supplicant.conf, but without vain. Then I came across this post https://forum.xda-developers.com/showthread.php?t=2368501, and I decide to hack the setCountryCode function in the wifiservice to force the country to be 'US'. According to the wiki, region 'US' has the most available number of channels.
This post will tell you how you could bypass this restriction on your phone. Your phone shall be rooted, of course.
[Step to step guide]
1) Setup tools, which includes
a) adb
b) jdk
c)baksmali https://bitbucket.org/JesusFreke/smali/downloads
2) Connect your phone and pull all the related files ( actually only wifi-service.odex and boot.oat is needed )
adb pull /system/framework framework
3) Decompile the odex file by using the following command
java -Xms1g -jar baksmali-2.2b4.jar x -d framework/arm64 framework/oat/arm64/wifi-service.odex -o wifi-service
The output goes to wifi-service folder
4) Mod wifi-service/com/android/server/wifi/WifiServiceImpl.smali
Search for 'method public setCountryCode', which is around line 5605, basically we just want to force the country code to "US".
a) Change .register 8 to '.register 9'
This is because we are going to use one more register to hold the static content 'US', aka, your desired country code
The original code uses 8 registers, aka, v0 - v4 for local varialbe, v5-v7 for parameter, they are also alised to p0-p2.
After this change, we can use the register named v5, v6-v8 will be aliased to p0-p2.
b) Add a line under const-string/jumbo v2, "WifiService"
const-string/jumbo v5, "US"
Therefore, v5 hold the content 'US', which is the desired country code.
c) Replace all p1 with v5 inside this method
Originally the country code is passed from outside the call, we just force it to 'US', which is stored in variable v5
5) Repack by the following command
java -Xms1g -jar smali-2.2b4.jar a -o classes.dex wifi-service
jar -cvf wifi-service.jar classes.dex
6) Install on the phone
adb push wifi-service.jar /sdcard/
The following commands shall be executed on the phone and with root prividelege
mount -o rw,remount /system
#Make a backup first
cd system
cp -p framework/oat/arm64/wifi-service.odex framework/oat/arm64/wifi-service.odex.bak
cp -p framework/wifi-service.jar framework/wifi-service.jar.bak
#Install the new file
cp /sdcard/wifi-service.jar /system/framework/
chown root.root framework/wifi-service.jar
chmod 644 framework/wifi-service.jar
rm framework/oat/arm64/wifi-service.ode
reboot
A modified wifi-service.jar is also uploaded and I have tested on my pixel. Everything seems fine.
Hi,
Thanks your your tutorial. I just have one question.
5) Repack by the following command
java -Xms1g -jar smali-2.2b4.jar a -o classes.dex wifi-service
jar -cvf wifi-service.jar classes.dex
Click to expand...
Click to collapse
How do I execute this command(s)?
When I try them as 2 commands;
> 'jar' is not recognized as an internal or external command
Just found it, just be sure to set java/bin as Path in system settings. Even if "java -version" just works.
Thanks!
Hi,
Please Help
After I do step 2 (pull framework )
Why i did not get folder framework/arm64 or framework/oat/arm64 ?
In my country, using 2.4Ghz wifi
And I have a problem with the channel. I hope to be able to switch to channel 14. (JP)
Thanks +
oatspunk said:
Hi,
Please Help
After I do step 2 (pull framework )
Why i did not get folder framework/arm64 or framework/oat/arm64 ?
[...]
Click to expand...
Click to collapse
I think it's "dex", not "odex".
Channel 149
Thanks for your description.
Is it also possible to reach channel 149 ?
I tryed it but without success.
I need this channel to connect my android phone with my copter.
Regards
Markus
markus.marus said:
Thanks for your description.
Is it also possible to reach channel 149 ?
I tryed it but without success.
I need this channel to connect my android phone with my copter.
Regards
Markus
Click to expand...
Click to collapse
Set region as "EU", and it should work
Thomasvt said:
Hi,
Thanks your your tutorial. I just have one question.
How do I execute this command(s)?
When I try them as 2 commands;
> 'jar' is not recognized as an internal or external command
Just found it, just be sure to set java/bin as Path in system settings. Even if "java -version" just works.
Thanks!
Click to expand...
Click to collapse
Can anybody help in this thread https://forum.xda-developers.com/zenfone-ar/help/zenfone-ar-verizon-wifi-t3684905#post75254641
...
I just released an Xposed module that does the same thing. Thanks @op for the tip.
https://forum.xda-developers.com/xposed/modules/mod-change-wifi-region-to-enable-5ghz-t3396936/
Thank you so much, it worked
You really are awesome
hello
I have problem with Wi FI connection in TV Box M8S+
as I understand may be
wi fi is corrupted in this android ?
[email protected]@[email protected]

"Enable" camera2api Android 10

# Mi8Lite # Android10 # Camera2api Requirements: –Bootloader Unlocked –TWRP installed, does not work with other recoverys –The recovery must not be encrypted –Not have root ADB COMMAND METHOD IN TWRP * Start in TWRP and connect to PC * On the PC, open a command window inside the adb or platform-tools folder * Type these commands: (after each command hit Enter)
-adb devices adb shell
-setprop persist.camera.HAL3.enabled 1
-setprop persist.camera.eis.enable 1
-setprop persist.vendor.camera.HAL3.enabled 1
-setprop persist.vendor.camera.eis.enable 1
-exit adb reboot
"Adb devices" is not recognized: If after placing the first command, the PC does not recognize your device in Recovery mode; in TWRP go to the MOUNT box and look for the 'Disable MTP' option, press and it should show you 'Enable MTP'; try again with "adb devices" and continue * If camera 2api was not activated, try one more time with these commands: adb devices adb shell
setprop persist.camera.stats.test 5
setprop persist.vendor.camera.stats.test 5
exit adb reboot
–Check with "Manual Camera compatibility test" the status of camera 2api –After this I could try to root and check if camera 2api stays activated –It is possible that activating camera 2api will stop working the front camera of the native camera. –Added commands will be erased with a factory reset.
note: I saw it in a group of Xiaomi Mi 8 Lite and I wanted to share it here to find out if anyone knows the veracity of this
Any other module?
not working. Tested with last xiaomi.eu, with and no root. twrp 3.3.2b
MIUI 12, MIUI EU ROM not working either
CongMinhVN said:
MIUI 12, MIUI EU ROM not working either
Click to expand...
Click to collapse
Here is a solution:
https://yadi.sk/d/K97naZ2Zg5xwUw
kennethstarr said:
Here is a solution:
https://yadi.sk/d/K97naZ2Zg5xwUw
Click to expand...
Click to collapse
Thanks bro
Can someone give me the link of twrp for xiaomi this device (mi 8 lite).
Ubaid2003 said:
Can someone give me the link of twrp for xiaomi this device (mi 8 lite).
Click to expand...
Click to collapse
Only need to search a bit...
https://forum.xda-developers.com/mi-8-Lite/how-to/mi-8-lite-stock-recovery-one-t4168539
Ubaid2003 said:
Can someone give me the link of twrp for xiaomi this device (mi 8 lite).
Click to expand...
Click to collapse
Pls dont ask people before trying to solve it yourself first. Giving you hate from me

PDC without ROOT on android 11

Activation VoLTE without ROOT on android 11:
1. adb reboot ftm
2. adb shell
3. setprop sys.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb
4. Change profile QPST PDC
5. adb reboot
Hi a big thank you to you for this tutorial. It works perfectly without ROOT. wonderful and again a big thank you @zloynavseh
For PDC I used the command in mod FTM
setprop sys.usb.config diag,serial_cdev,rmnet,adb
Appreciate the tutorial here! cheers
galaxys said:
Appreciate the tutorial here! cheers
Click to expand...
Click to collapse
1. adb reboot ftm
2. adb shell
3. setprop sys.usb.config diag,serial_cdev,rmnet,adb
4. Change profile PDC
5. adb reboot
Volte and PDC no root.
when installing the qualcomm drivers, be sure to choose the wwan option.
I can't get past step 1. I get the initial OnePlus splash screen, but nothing more.
How to boot to normal?
after I reboot to ftm and adb reboot I got no connection.
anyone can help me to fix it?
zloynavseh said:
Activation VoLTE without ROOT on android 11:
1. adb reboot ftm
2. adb shell
3. setprop sys.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb
4. Change profile QPST PDC
5. adb reboot
Click to expand...
Click to collapse
hello
i see the phone on the PDC list but when choosing it
qmi connection not ready please use usb driver version 1.00.32 -
i updated my driver - same...
angeloamorato said:
How to boot to normal?
Click to expand...
Click to collapse
adb reboot
i'm failling on step 4 : "/system/bin/sh: Change: inaccessible or not found" (oneplus 7T/Android 11 official). Any idea or just not doable ?
the procedure works on other pc/laptop version.
any method for Android 12?
I use this method and working in realme gt2 pro, the problem is the step es temporary, if you reboot the phone you lost the change... how i can made permanent change?
I am not able to pass adb reboot ftm command. Device is always rebooting in system. Any idea why?
Is it working on Android 13?

Categories

Resources