This will permanently enable LTE on the Nexus 4 running any Android 5.0 ROM. As long the hybrid radio is present, and a factory reset is not performed, LTE should remain enabled after reboots and ROM flashes.
Note: This mod also used to modify iptables to allow tethering over LTE on Canadian carriers, Bell, Rogers and Telus; however, these modifications are no longer necessary on Android 5.0. Nevertheless, please post if you have any problems tethering over LTE.
What it does
Flashes .33/1.04 hybrid radio
Modifies settings.db to permanently enable LTE
Requirements
Custom recovery (permanent or temporary)
Any Android 5.0+ ROM
LTE Band 4 (1700 MHz) AWS-enabled SIM and service provider
Installation
Download the installation ZIP found below to your device, flash from recovery, and reboot.
After flashing, enable your correct LTE APN.
Uninstallation
To help with restoring your device back to stock for OTAs, I have created an uninstaller. To uninstall, download the uninstaller ZIP below to your device, flash from recovery, and reboot.
FAQ
Will this work in my country, region, or territory, provider, etc?
The Nexus 4 is only compatible with LTE Band 4 1700 MHz. Please see the List of LTE networks to see if your provider operates LTE on Band 4 1700 MHz. If your provider does not operate LTE on Band 4 1700 MHz, this fix will not work for you.
How do I install this on my Nexus 4 running stock Android 5.0+?
Detailed instructions on on how to flash this on stock Nexus 4 running Android 5.0 can be found here.
I am running CM12 or CM12-based ROM; how do I get LTE to persist following reboots?
Currently, this fix does not allow LTE to persist on CM12 or CM12-based ROMs because, we speculate, how the ROMs are compiled and this is overriding the values in settings.db. After rebooting, enable LTE by dialing *#*#INFO#*#*, select Phone information, scroll down and select LTE/GSM/CDMA auto (PRL) from the drop-down.
Download & changelog
Before flashing, please remember to make a Nandroid backup. Also, please double check the MD5 hash of the ZIP. Additionally, you can download the .md5 file and have TWRP check it for you.
INSTALLER 2014/01/07 v2.11 - Downloadhttps://github.com/marcandrews/mako-lte-and-lte-hotspot-fix/releases/tag/2.11
Update updater-script to accept 5.0.1 and 5.0.2 ROMs
UNINSTALLER 2014/01/07 v2.11u - Downloadhttps://github.com/marcandrews/mako-lte-and-lte-hotspot-fix/releases/tag/2.11u
Update updater-script to accept 5.0.1 and 5.0.2 ROMs
All versions are also available on GitHub.
Special thanks
XanSama
#netfilter guys at freenode
morrislee
cg87
partylikeaninjastar
beerbaronstatic
ramjet73
Joshua Mr PC Repair
More about the enabling LTE via settings.db
As I alluded to back in July, the build.prop edits were never required to enabled LTE.
Code:
ro.telephony.default_network=9
ro.ril.def.preferred.network=9
These lines tell the phone which network mode to try after a factory reset. This is why some LTE-enabling methods asked you to factory reset to enabled LTE but who wants to factory reset just to enabled LTE. So if you're not resetting, these lines have no effect.
Code:
telephony.lteOnGsmDevice=1
This line was to allow the selection of LTE under Network Mode, but this menu is no longer available >4.3, so this line has no effect. It was only indirectly required because that selection menu allowed you to change the preferred_network_mode value in settings.db, and this is what enables LTE and allows it to stay enabled permanently following a reboot.
So if you can change the preferred_network_mode value directly, you do not need any build.prop edits, nor do you need the Network Mode selection menu. All you need is preferred_network_mode=9 and an LTE-enabled modem/radio. This is what my LTE-enabler accomplishes.
As for the discussion about LTE sticking after ROM flashes, settings.db is located on the data partition. ROM flashable zips rarely touch the data partition, and they also rarely flash a new modem, so as long as these two remain, and you have not wiped (because wiping clears the data partition, which in turn will clear the preferred_network_mode value), LTE will stick after a ROM flash. So basically, you only need to flash my LTE-enabler after wiping.
This mod also used to modify iptables to allow tethering over LTE on Canadian carriers, Bell, Rogers and Telus; however, these modifications are no longer necessary on Android 5.0. I will leave information on those modifications here:
More about the LTE tethering fix
Since the Nexus 4 LTE hack was discovered, people on networks other then T-Mobile have been struggling to enable tethering over LTE. Pre-4.3, the solution was an iptables script to allow LTE tethering through the firewall. This solution no longer works for 4.3+. I have updated the script to allow LTE tethering through the firewall in 4.3+. My LTE fix applies the following changes:
Code:
iptables -D natctrl_FORWARD -j DROP
iptables -t nat -A natctrl_nat_POSTROUTING -o rmnet_usb0 -j MASQUERADE
The other issue is that this script had to be run each and every boot. Placing the commands within an init.d script does not work because at the time init.d scripts are run in the boot, the natctrl_nat_POSTROUTING rule does not exist, so you cannot append to it. Even if you do create the rule and append to it, the changes will be overwritten when the rules are set later in the boot. The solution is to run the commands within a delayed subshell that alters the firewall after the rules are set. This is what my LTE fix does:
Code:
(
sleep 15
iptables -D natctrl_FORWARD -j DROP
iptables -t nat -A natctrl_nat_POSTROUTING -o rmnet_usb0 -j MASQUERADE
)
More information on GitHub.
It's weird. I have 4g lte after flashing this over Paranoid android latest rom. I changed APN to fast.t-mobile.com. But:
1. My speedtest.net app only shows server 50km and further away. Not location Bay Area where I live.
2. There is no option to change Network mode.
sieudaochich said:
It's weird. I have 4g lte after flashing this over Paranoid android latest rom. I changed APN to fast.t-mobile.com. But:
1. My speedtest.net app only shows server 50km and further away. Not location Bay Area where I live.
2. There is no option to change Network mode.
Click to expand...
Click to collapse
Interesting.
1. I have no issues with GPS. Is GPS working in other apps?
2. Can you post your build.prop? Apparently Network mode is missing from the latest PA. To get around this, dial *#*#INFO#*#*, select Phone information, scroll down and select LTE/GSM/CDMA auto (PRL) from the drop-down.
I hope this helps.
LTE tethering has always worked for me on tmobile, no matter what app I use....not sure why this would be needed?
hp420 said:
LTE tethering has always worked for me on tmobile, no matter what app I use....not sure why this would be needed?
Click to expand...
Click to collapse
Not everyone is on T-Mobile, and the fact is that people have been struggling with tethering over LTE with the Nexus 4 long before T-Mobile even had their LTE network.
Thanks for your work *child. I'm on Rogers and tethering over LTE does not work for me using the 33_84hybridLTE_enablerV2.zip file. I'll let you know how I fare....
Update: Your tethering fix does appear to work. Thanks! All settings are retained after reboot and power down scenarios. Wi-Fi and BT tethering both work, but the BT tethering is extremely slow. I'm not sure why this is but it works. Regardless, your fix was definitely the ticket!
I am running a N4 with CM 10.2 August 21st nightly and Franco 176 JSS kernel. I am on Rogers LTE in Canada.
Tethering tested on N7 32GB v1 running stock JB 4.3
Glad it worked out for you!
Perfect!
This finally fixed all my tehtering problems on rogers. Thanks a lot!!
I'm working on an update. Just waiting for the next CM Nightly to test, and then I'll upload it.
*child said:
I'm working on an update. Just waiting for the next CM Nightly to test, and then I'll upload it.
Click to expand...
Click to collapse
What's planned in your update?
WK446 said:
What's planned in your update?
Click to expand...
Click to collapse
Fix permissions on the init.d script, set ro.telephony.default_network and ro.ril.def.preferred.network to 10 (instead of 9), conditional build.prop edits to prevent duplicate entries, and an uninstaller.
Sounds great *child!
doesn't work for me on t-mobile sadly, i'm on the latest PA...sends me straight to the t-mobile tether block page
You Sir are my hero! Been myself trying to fix this. I applied your fox differently though. I used the process here: http://hippowise.com/how-to-fix-lte-wifi-tethering-for-the-nexus-4/ then just replaced the script worth your two lines and presto, LTE tether works now on Fido. I'm on a Stock ROM BTW.
Thanks again.
*child said:
About the LTE tethering fix
Since the Nexus 4 LTE hack was discovered, people on networks other then T-Mobile have been struggling to enable tethering over LTE. Pre-4.3, the solution was an iptables script to allow LTE tethering through the firewall. This solution no longer works for 4.3. I have updated the script to allow LTE tethering through the firewall in 4.3. My LTE fix applies the following changes:
Code:
iptables -D natctrl_FORWARD -j DROP
iptables -t nat -A natctrl_nat_POSTROUTING -o rmnet_usb0 -j MASQUERADE
The other issue is that this script had to be run each and every boot. Placing the commands within an init.d script does not work because at the time init.d scripts are run in the boot, the natctrl_nat_POSTROUTING rule does not exist, so you cannot append to it. Even if you do create the rule and append to it, the changes will be overwritten when the rules are set later in the boot. The solution is to run the commands within a delayed subshell that alters the firewall after the rules are set. This is what my LTE fix does:
Code:
(
sleep 15
iptables -D natctrl_FORWARD -j DROP
iptables -t nat -A natctrl_nat_POSTROUTING -o rmnet_usb0 -j MASQUERADE
)
Now why tethering works over some networks, mainly T-Mobile, and not others is beyond me.
Click to expand...
Click to collapse
caaznkid said:
doesn't work for me on t-mobile sadly, i'm on the latest PA...sends me straight to the t-mobile tether block page
Click to expand...
Click to collapse
Since the website actually loads, sounds like tethering is working perfectly. It's just that T-Mobile has blocked tethering. T-Mobile may be blocking non-mobile browsers. You need to use a proxy or change your user agent. Google is your friend.
djsherif said:
You Sir are my hero! Been myself trying to fix this. I applied your fox differently though. I used the process here: http://hippowise.com/how-to-fix-lte-wifi-tethering-for-the-nexus-4/ then just replaced the script worth your two lines and presto, LTE tether works now on Fido. I'm on a Stock ROM BTW.
Click to expand...
Click to collapse
Yes, if you're on a rooted stock with no init.d support, your only option is to either manually apply the tethering fix via Terminal Emulator after each boot, or use Script Manager to automatically do it for you at boot. Anyway, I'm happy that it has worked for you.
Hi what network is number 10? , because i think lte is 24..
*child said:
Fix permissions on the init.d script, set ro.telephony.default_network and ro.ril.def.preferred.network to 10 (instead of 9), conditional build.prop edits to prevent duplicate entries, and an uninstaller.
Click to expand...
Click to collapse
Question from a noob
Hi All, what exactly is a "LTE tethering"? I know about the "Portable Wi-Fi hotspot" feature in Nexus 4 but I think that feature doesn't care if our phone gets the Internet access through LTE or H+ or H.
Thanks a lot for this, fixed my tethering issues on 4.3. LTE and 3G/H+ WiFi tethering works great. (Rogers Canada).
portis said:
Hi what network is number 10? , because i think lte is 24..
Click to expand...
Click to collapse
If you dial *#*#INFO#*#*, select Phone information, and expand the drop-down, you will see that the first item in the list is WCDMA preferred (=0), the last item is Unknown (=12), and the third-to-last item is LTE/GSM/CDMA auto (PRL) (=10). There is no 24th value in the list. It does not really matter anyway as these to build.prop edits only come into effect after a factory reset, which is necessary. Only the Network mode setting matters.
dxxvi said:
Hi All, what exactly is a "LTE tethering"? I know about the "Portable Wi-Fi hotspot" feature in Nexus 4 but I think that feature doesn't care if our phone gets the Internet access through LTE or H+ or H.
Click to expand...
Click to collapse
Yes, LTE tethering is the same as Portable Wi-Fi hotspot. I am not exactly sure, but I think that because the Nexus 4 was never meant to have LTE, the firewall rules for tethering through LTE were never added, therefore blocking the transfer of data between the LTE and Wi-Fi radios. I really have no idea why LTE tethering still works without these firewall edits on T-Mobile, and not on others like Rogers.
I hope this sheds some light on the situation.
Hi. When I changed in settings network mode to 2G only, signal icon started to flicker. After reboot I have no signal at all (it is impossible to call, send/receive SMS, use data connection etc.). In info (*#*#4636#*#*) preferred mode is set to "WCDMA preferred" and I cannot change it - I can chose another value from list but changes are not saved.
In settings phone says that none of SIM cards are inserted - but I can now access SIM 1 settings. However, everything is blocked and beneath the network type there is a description: "Invalid Network Mode (-1). Ignore.".
It happend when I was on latest official CM 13.0 nightly but this is probably not ROM's fault. Problem didn't disappear after clean flash, after restore or even after flashing whole set of images with official MiFlash tool.
After some research I found that setting ro.telephony.default_network from 22,22 to 10,10 should work, as 10 is for "LTE/GSM auto" when 22 is incorrect value. Separated by comma for two SIM slots. Ok, so I tried to edit build.prop with some apps without luck - access denied (rooted). I tried to mount system rw from Root explorer - nothing happens, still ro. From ADB - no, "dev/block/bootdevice/by-name/system is read-only". I even tried to change SELinux to permissive but still nothing
Every idea is welcome, I just need to get my phone to work as a phone again
I have same problem than other User with all ROMa. Lossing data connection and I have to restart phone. Some days, two or three times in a day.
User @EnzaX describes it here:
https://forum.xda-developers.com/me...t/rom-resurrection-remix-5-8-5-build-t3739715
Anybody have solved it?
Best Regards.
Check network first. If it is not problem use airplane mode to refresh network.I am also using this rom past it released here. No network related issues yet.
Only works again restarting phone. Exist any mode to log what's happen?
Alkro said:
Only works again restarting phone. Exist any mode to log what's happen?
Click to expand...
Click to collapse
Enable root in settings. Install xposed framework or any logcat apps(from playstore).Check log then.
I have installed Catlog. Error occurs again this morning. I have activate log, i have putted airplane mode and the problem persist. There is a lot of logs but i don't know how to export all log or search what line is interesting for this problem.
There is log labels like:
Activity-Manager, mali_winsys, PhoneStatusBar, NativeCrypto, ProviderInstaller,etc...
Is there any logcat in Xposed Framework or Play store to filter log for only catch errors with data connection. With my actual ROM, is possible that error don't sucedde every day
Hello Good time
Can any one help me, any solution for VOLTE feature even it is enabled in the settings then also its doesn't work. The same sim's working with another device kt showing volte feature working, i'm unable to use the same
raajroop said:
Hello Good time
Can any one help me, any solution for VOLTE feature even it is enabled in the settings then also its doesn't work. The same sim's working with another device kt showing volte feature working, i'm unable to use the same
Click to expand...
Click to collapse
Hello , to enable VOLTE & VOWIFI , install logkit app here https://www.apkmirror.com/apk/onepl...ase/onepluslogkit-1-0-2-android-apk-download/ and dial *#800# > function switch > Volte, enable > Vowifi , Enable. Then reboot device . It will enable toggle in settings > network > volte , vowifi
Finally , you can uninstall logkit installed version in setting to restore to default version.
Anticolick said:
Hello , to enable VOLTE & VOWIFI , install logkit app here https://www.apkmirror.com/apk/onepl...ase/onepluslogkit-1-0-2-android-apk-download/ and dial *#800# > function switch > Volte, enable > Vowifi , Enable. Then reboot device . It will enable toggle in settings > network > volte , vowifi
Finally , you can uninstall logkit installed version in setting to restore to default version.
Click to expand...
Click to collapse
I was worried about the same thing, but when I tried this procedure, it seems that SIM ON / OFF was repeated immediately after restarting and it failed, but after about 5 minutes the VoLTE icon is displayed and communication and calls are possible. became.
Thank you!
Model:OnePlus Nord CE 5G Oxygen OS 11.0.1.1.EB13AA
SIM:KDDI(japan) LTE-FDD: B1/3/11/18/
afterwards...
When I put two SIM cards in and operated it, the "system" storage became full in one day, and I couldn't catch the radio waves, let alone normal operation.
When I checked from the settings, it was "system", so I couldn't delete the file, so I had no choice but to reset the terminal.
I couldn't find the ROM for "11.0.1.1.EB13AA", so I tried to activate VOLTE by flashing "11.0.3.3" or "11.0.9.9", but it doesn't work by any method. I could not do it.
The method I tried is the one above, or one that uses "magisk" or "PDC.exe".
JamboFE said:
The method I tried is the one above, or one that uses "magisk" or "PDC.exe".
Click to expand...
Click to collapse
so you propose no to use this logkit method? it causes system storage full?
Suncatcher16 said:
so you propose no to use this logkit method? it causes system storage full?
Click to expand...
Click to collapse
The only condition for VOLTE to be enabled with this logkit was that the OS version must be "Oxygen OS 11.0.1.1.EB13AA".
If the ROM version is 11.0.1.1, it may be enabled with this logkit.