# Poor signal in Android 4.2 on LTE GNex?



## tiny4579 (Oct 21, 2011)

I've noticed some users have reported inferior signal on Android 4.2 on the LTE Gnex. This is actually not true. In fact below is the related function that changed from 4.1.2 to 4.2.

Jellybean 4.1.2:

https://github.com/android/platform_frameworks_base/blob/jb-mr0-release/telephony/java/android/telephony/SignalStrength.java


```
<br />
        if (mLteRsrp == -1) levelLteRsrp = 0;<br />
	    else if (mLteRsrp >= -95) levelLteRsrp = SIGNAL_STRENGTH_GREAT;<br />
	    else if (mLteRsrp >= -105) levelLteRsrp = SIGNAL_STRENGTH_GOOD;<br />
	    else if (mLteRsrp >= -115) levelLteRsrp = SIGNAL_STRENGTH_MODERATE;<br />
	    else levelLteRsrp = SIGNAL_STRENGTH_POOR;<br />
	    if (mLteRssnr == INVALID_SNR) levelLteRssnr = 0;<br />
	    else if (mLteRssnr >= 45) levelLteRssnr = SIGNAL_STRENGTH_GREAT;<br />
	    else if (mLteRssnr >= 10) levelLteRssnr = SIGNAL_STRENGTH_GOOD;<br />
	    else if (mLteRssnr >= -30) levelLteRssnr = SIGNAL_STRENGTH_MODERATE;<br />
	    else levelLteRssnr = SIGNAL_STRENGTH_POOR;<br />
	    int level;<br />
	    if (mLteRsrp == -1)<br />
		    level = levelLteRssnr;<br />
	    else if (mLteRssnr == INVALID_SNR)<br />
		    level = levelLteRsrp;<br />
	    else<br />
		    level = (levelLteRssnr < levelLteRsrp) ? levelLteRssnr : levelLteRsrp;<br />
	    if (DBG) log("Lte rsrp level: "+levelLteRsrp<br />
			    + " snr level: " + levelLteRssnr + " level: " + level);<br />
	    return level;<br />
    }<br />
```
JB 4.2:

https://github.com/android/platform_frameworks_base/blob/jb-mr1-release/telephony/java/android/telephony/SignalStrength.java


```
<br />
        if (mLteRsrp > -44) rsrpIconLevel = -1;<br />
	    else if (mLteRsrp >= -85) rsrpIconLevel = SIGNAL_STRENGTH_GREAT;<br />
	    else if (mLteRsrp >= -95) rsrpIconLevel = SIGNAL_STRENGTH_GOOD;<br />
	    else if (mLteRsrp >= -105) rsrpIconLevel = SIGNAL_STRENGTH_MODERATE;<br />
	    else if (mLteRsrp >= -115) rsrpIconLevel = SIGNAL_STRENGTH_POOR;<br />
	    else if (mLteRsrp >= -140) rsrpIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;<br />
	    /*<br />
		 * Values are -200 dB to +300 (SNR*10dB) RS_SNR >= 13.0 dB =>4 bars 4.5<br />
		 * dB <= RS_SNR < 13.0 dB => 3 bars 1.0 dB <= RS_SNR < 4.5 dB => 2 bars<br />
		 * -3.0 dB <= RS_SNR < 1.0 dB 1 bar RS_SNR < -3.0 dB/No Service Antenna<br />
		 * Icon Only<br />
		 */<br />
	    if (mLteRssnr > 300) snrIconLevel = -1;<br />
	    else if (mLteRssnr >= 130) snrIconLevel = SIGNAL_STRENGTH_GREAT;<br />
	    else if (mLteRssnr >= 45) snrIconLevel = SIGNAL_STRENGTH_GOOD;<br />
	    else if (mLteRssnr >= 10) snrIconLevel = SIGNAL_STRENGTH_MODERATE;<br />
	    else if (mLteRssnr >= -30) snrIconLevel = SIGNAL_STRENGTH_POOR;<br />
	    else if (mLteRssnr >= -200)<br />
		    snrIconLevel = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;<br />
```
As far as I can tell looking at the code (this is responsible for the number of bars displayed), that it's only LTE that changed from mr0 to mr1.


----------



## yarly (Jun 22, 2011)

Yeah, they did this before going from 4.0.2 to 4.0.4 as well


----------



## tiny4579 (Oct 21, 2011)

yarly said:


> Yeah, they did this before going from 4.0.2 to 4.0.4 as well


Thanks for the original thread. That's how I was able to look it up easily. This is mainly for people saying signal got worse in 4.2.


----------



## yarly (Jun 22, 2011)

tiny4579 said:


> Thanks for the original thread. That's how I was able to look it up easily. This is mainly for people saying signal got worse in 4.2.


Yeah, good call for pointing it out 

Here's the messy commit to show all the details: https://github.com/android/platform_frameworks_base/commit/a44b137648c44cc29a8ce43f44a7934ff8045135#telephony/java/android/telephony/SignalStrength.java


----------



## Mustang302LX (Jun 28, 2011)

How dare Google make the bars display more accurately?


----------



## yarly (Jun 22, 2011)

Mustang302LX said:


> How dare Google make the bars display more accurately?


yeah seriously. I want to live in ignorant bliss that my signal is not always so great


----------



## thesoldier (Jan 25, 2012)

I used to have 4 bars in my house, now I only have 2. Think I should sue??









Sent from my Galaxy Nexus using Tapatalk 2


----------



## Mustang302LX (Jun 28, 2011)

thesoldier said:


> I used to have 4 bars in my house, now I only have 2. Think I should sue??
> 
> 
> 
> ...


Yeah but make sure to make it a class action suit so we all benefit.


----------



## thesoldier (Jan 25, 2012)

Mustang302LX said:


> Yeah but make sure to make it a class action suit so we all benefit.


Deal! We shall make millions off of Google's honesty. 

Sent from my Galaxy Nexus using Tapatalk 2


----------



## klobkelosh (Feb 2, 2012)

Thanks for this tiny!


----------



## BootAnimator (Jun 10, 2011)

I was among the few reporting the weaker signal. 
I'm no Dev by any means. 
So what you're stating in the OP is that now the "bars" are reporting a more accurate display of signal level?
If that's true, I can certainly agree with that statement. 
But that begs the question I've been wondering: why have my data speeds dropped as well?
With no exaggeration, I literally flashed back and forth from 4.1.2 to 4.2 over 6 times within an hour. And each time I was on 4.2 my speeds dropped significantly. Not just a 'bit' that could be in a margin of error or possibly a fluke. Consistent drops in data speed. Back to 4.1.2 and speeds were back up again. Is it possible the speed test app was reading differently too with the newer/more accurate signal?
I'm not doubting your knowledge on why/how this is different.
I just find it extremely difficult to grasp with so many flashes back and forth, that they were all flukes. 
My intentions are not to argue or offend. I just need a better understanding of this I guess. 
Reporting and displaying more accurate signal strength is one thing. But when I have data drops on 4.2 (I know it dropped because streaming radio buffered) and no drops on 4.1.2 ....something is definitely not the same. 
I'm eager to hear more on this.


----------



## johnhimm (Sep 6, 2011)

Good information.


----------



## tiny4579 (Oct 21, 2011)

I wish I knew the answer about data dropping. From a ROM perspective, signal is not affected as the related changes were to the signal bars only and their calculations. From viewing the actual SNR and dbm values, 4.2 is about the same.


----------



## yarly (Jun 22, 2011)

Only thing I could say would be an issue with data drops (if one ignores your own location, device, phone setup, etc) would be incompatibilities with the ROM build you are using, the proprietary drivers and/or the verizon radio software. However, since it does not seem to be affecting everyone (as far as I know) it's most likely not an issue that needs fixed on Google or Verizon's end if there is an issue at all in the software code.

As far as reduced speeds, how are you measuring those speeds? Apps that claim to measure current bandwidth are very flakey and may not be reporting things correctly. Carrier network speeds can also be very temperamental and subject to change. Best way to measure is to find a large file with a known size from somewhere like nearby server hosting location (many server hosts provide test files to download from their facilities) and then time how long it takes to download and divide the total size by that time to get your average bandwidth over the course of the download.


----------



## tiny4579 (Oct 21, 2011)

On 4.2 I still can get over 30mbps which really is normal for LTE and actually pretty good for me.


----------



## mzrdisi (Sep 18, 2011)

I'm with that guy above, that what he's seeing goes against what is being said.

I feel like my data was dropping to 3G way more often than should and data would frequently drop out. (even though it would appear I still had a data connection.)


----------



## sfreemanoh (Jul 9, 2011)

tiny4579 said:


> On 4.2 I still can get over 30mbps which really is normal for LTE and actually pretty good for me.


I must be in a really over saturated area or something (Cleveland suburbs)...I keep seeing people post about their 20+ Mb connections, but mine is usually around 5-6Mb's.


----------



## binglejellsx2 (Jun 22, 2011)

sfreemanoh said:


> I must be in a really over saturated area or something (Cleveland suburbs)...I keep seeing people post about their 20+ Mb connections, but mine is usually around 5-6Mb's.


That's probably normal speeds. I used to get ~20mbps back when LTE first started. These days I'm getting 3-5mbps. It's a bit sad but still better than EVDO speeds.


----------



## CC16177 (Dec 29, 2011)

sfreemanoh said:


> I must be in a really over saturated area or something (Cleveland suburbs)...I keep seeing people post about their 20+ Mb connections, but mine is usually around 5-6Mb's.


Yeah I used to get 20+ in my area last year but it's dropped down to about 8-15 tops at this point. I was in NYC a few times recently and even with full bars I never got past 5.


----------



## Kickasz23 (Jun 21, 2011)

From just outside of Philly inside a house 
Running 4.2
Sent from my Galaxy Nexus using RootzWiki


----------

