[Nexus 4 General] TheManii:
Protip: telephony.lteongsmdevice does not exist:

android/platform/frameworks/base/android-4.2.2_r1.2/./telephony/java/com/android/internal/telephony/TelephonyProperties.java

telephony.lteoncdmadevice does exist, and if enabled it gives us an extra menu that is only really relevent to lte on cdma devices (shocking!)

It doesnt expose the entire list:

Mode 8 is not relevent to us as we are a GSM device.

Mode 9 and Mode 11 are not exposed

Mode 10 is not exposed, it might be close enough for our purposes, but it's not exposed (though mode 9 would likely be the preferred one for LTE+GSM)

/* NETWORK_MODE_* See ril.h RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE */
int NETWORK_MODE_WCDMA_PREF = 0; /* GSM/WCDMA (WCDMA preferred) */
int NETWORK_MODE_GSM_ONLY = 1; /* GSM only */
int NETWORK_MODE_WCDMA_ONLY = 2; /* WCDMA only */
int NETWORK_MODE_GSM_UMTS = 3; /* GSM/WCDMA (auto mode, according to PRL)
AVAILABLE Application Settings menu*/
int NETWORK_MODE_CDMA = 4; /* CDMA and EvDo (auto mode, according to PRL)
AVAILABLE Application Settings menu*/
int NETWORK_MODE_CDMA_NO_EVDO = 5; /* CDMA only */
int NETWORK_MODE_EVDO_NO_CDMA = 6; /* EvDo only */
int NETWORK_MODE_GLOBAL = 7; /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)
AVAILABLE Application Settings menu*/
int NETWORK_MODE_LTE_CDMA_EVDO = 8; /* LTE, CDMA and EvDo */
int NETWORK_MODE_LTE_GSM_WCDMA = 9; /* LTE, GSM/WCDMA */
int NETWORK_MODE_LTE_CMDA_EVDO_GSM_WCDMA = 10; /* LTE, CDMA, EvDo, GSM/WCDMA */
int NETWORK_MODE_LTE_ONLY = 11; /* LTE Only mode. */

telephony.lteongsmdevice MIGHT exist in custom roms though, if they added code to detect it and do something, but that really depends on the rom.

Stock roms and AOSP roms without it patched do not have it by default though.

----------------------------------------------------------------------------------

Indications suggest that ro.telephony.default_network and ro.ril.def.preferred.network either dont exist, or are pretty much irrelevent to most users.

I cannot find any indications that either entry exists in AOSP, but I cannot rule these out 100%. (telephony.lteongsmdevice I can rule out 100% in AOSP)

They definitely do not have default values in stock roms.

If they did exist, their default values would both be =0

Adding both lines with values =9 does not at least assist in having LTE enabled survive by default, it gets reset to gsm and/or wcdma after a reboot.

----------------------------------------------------------------------------------

/system/etc/snd_soc_msm/snd_soc_msm_2x_Fusion3

The only differences in this file from JOP40D to JDQ39E is the addition of:

SectionDevice
Name "Voice Earpiece TMUS"
Comment "Handset Rx device"

EnableSequence
'SLIM_0_RX Channels':0:eek:ne
'RX1 MIX1 INP1':0:RX1
'RX1 MIX1 INP2':0:RX6
'RX1 Digital Volume':1:68
'EAR PA Gain':0:POS_6_DB
'DAC1 Switch':1:1
'SLIM TX3 MUX':0:RMIX1
EndSequence

DisableSequence
'RX1 MIX1 INP1':0:ZERO
'RX1 MIX1 INP2':0:ZERO
'RX1 Digital Volume':1:68
'DAC1 Switch':1:0
'SLIM TX3 MUX':0:ZERO
EndSequence

ACDBID	81:1

EndSection

and

SectionDevice
Name "DMIC Endfire TMUS"
Comment "Dual MIC Endfire Tx device"

EnableSequence
'SLIM TX7 MUX':0:DEC7
'DEC7 MUX':0:ADC1
'SLIM TX8 MUX':0:DEC9
'DEC9 MUX':0:ADC3
'DEC7 Volume':1:66
'ADC1 Volume':1:100
'DEC9 Volume':1:66
'ADC3 Volume':1:100
'SLIM_0_TX Channels':0:Two
'MICBIAS1 CAPLESS Switch':1:0
'RX1 MIX2 INP1':0:IIR1
'RX2 MIX2 INP1':0:IIR1
'IIR1 INP1 Volume':1:51
'IIR1 INP1 MUX':0:DEC7
EndSequence

DisableSequence
'DEC7 Volume':1:60
'DEC9 Volume':1:60
'SLIM TX7 MUX':0:ZERO
'DEC7 MUX':0:ZERO
'SLIM TX8 MUX':0:ZERO
'DEC9 MUX':0:ZERO
'MICBIAS1 CAPLESS Switch':1:1
'RX1 MIX2 INP1':0:ZERO
'RX2 MIX2 INP1':0:ZERO
'IIR1 INP1 Volume':1:0
'IIR1 INP1 MUX':0:ZERO
EndSequence

ACDBID	91:2
EffectsMixerCTL "SRS TruMedia"

EndSection

What it means is that tmoUSA sim cards have an extra entry that does something different with voice calls.

I have not had the opportunity to test voice calls with .33 on JDQ39E without the modification changes, but with the changes they work properly.

The rationale for the modifications to the ACDBID entry is that they simply do not have endpoints on .33 or lower.

The assumption is that Goog apparently added tmo specific code to the radios in .48 and higher.

If you are not on a tmo sim, the new code does not affect you at all, thusly it is tmo specific.

----------------------------------------------------------------------------------

TL;DR: If you are using LTE on a non tmoUSA carrier: you do not have to modify anything at all.

If you are on tmoUSA, you will need to modify

/system/etc/snd_soc_msm/snd_soc_msm_2x_Fusion3

and your APNs to use fast.t-mobile.com when on LTE (as per tmoUSA's own official documentation)