Why google nexus 6 – tmobile – verizon – sprint – signal strength is very low ?

Question: Why google nexus 6 – tmobile – verizon – sprint – signal strength is very low ?


First, just to be clear. If you have issues like dropped signal, static during calls, dropped calls or lots of time without a signal, this is not in reference to that. If you have those problems, your device is defective and I would seek out filing a warranty claim with Verizon for it. You unfortunately got the “luck of the draw” and pulled a lemon. People have reported those issues and swapping out for a new Nexus has helped them.

However…if that is not the case (or you just would like to read for the sake of information), read on :)

ALL other LTE phones (excluding the Nexus) are reporting the RSSI of the cdma 1x signal in android 2.3, NOT the LTE signal. Android 2.3 was not capable of properly reporting the LTE signal and support was added for it in ICS. The Nexus also uses RSRP to determine your signal. RSRP has a huge difference to RSSI (for example):

RSSI = -79 dBm, RSRP = -93 dBm

This is why a Razr or Rezound will show -79 dBm in the same spot a GNex will display -93 dBm. Go find someone with an ICS leak of one of those and check their signal next to a Nexus. Unless the OEMs kept doing what they were doing before (which sadly they might), they should show the signal to be nearly the same.

Also, the higher your ASU under settings the better. ASU or “Arbitrary Strength Unit” is an integer value proportional to the Reference Signal Received Power (RSRP) measured by the mobile phone. Basically the higher the number for ASU, the less interference you have between you and the towers. It varies by your current type of connection, but ASU a number in the range of 0 to 99 (99 means you basically have no signal [unknown] and closer to 0 means it’s also bad).

Your ASU on LTE is basically your current signal + 140. So if you have a signal of -93, then your LTE based ASU is (-93 + 140 = 47). See picture below for example:

Posted Image

Technically, it’ll never be 98 as it hits a ceiling of 97 if you were somehow able to get a signal of -43db (-43 + 140 = 97). If your signal is somehow worse than -140, then it will report zero, but that should also not be possible.

It’s a little more complicated for CDMA ASU. On CDMA, it’s some power of 2 up to 16 (1, 2, 4, 8, 16) with 16 being the best or 99 if it’s unknown. It’s also measured by not only your signal in db, but also by your your signal to noise ratio which is not shown to you.

↑↑↑ Source for that was SignalStrength.java under getLteAsuLevel() ↑↑↑

So, unless your data connection is dropping out constantly, it’s just fine and not as bad as you think.

If you’re wondering how the signal bars for the Nexus are computed here’s some info on that. The bars are already just a relative measurement based on what we think is good or bad as we already knew. However, Google did adjust them to make them to look like you have a “better” signal in 4.0.4 though for LTE. If you mean adjust them back to 4.0.3 and before levels, that’s also possible by undoing what they changed SignalStrength.java. Would be a small change that could be done by compiling the source or by a smali edit in framework.jar.


Shows how they were before/after 4.0.4. Mostly increased everyone’s LTE bars in most cases by 1 bar.

They also use the signal to noise ratio to determine which one gets priority for showing the bars now. They take the one that looks better and use that for mapping to the bars as shown here: https://github.com/a…5a9b6889851d887

Signal To Noise ratio is just a computed number based on how much interference is in your connection. It’s not exactly the best measure for data as it’s just measuring interference.

Before you start comparing your signal to other phones not on ICS, at least read this and look at this link to the Android source for ICS:


Use LTE SNR and RSRP to set signal level bar.
The LTE signal strength level is the smaller one
between lte rsrp level and lte snr level if both
rsrp and snr are valid.

↑↑↑ Android ICS source even says it uses the RSRP for LTE. ↑↑↑

↓↓↓ THEN….if you look down at some of the code you see things like ↓↓↓:

	 * Get the CDMA RSSI value in dBm
	public int getCdmaDbm() {
		return this.mCdmaDbm;
	 * Get the EVDO RSSI value in dBm
	public int getEvdoDbm() {
		return this.mEvdoDbm;

↑↑ Which is what CDMA phones were using before ICS. ↑↑

If one is still in disbelief, then you can go back and look at the Android source for SignalStrength.java back in say like 2009/2010 and note that there is no mention of RSRP anywhere because it was not used yet (only mentions of RSSI are there).

Still don’t believe me? Well go compile the source and change the following method in SignalStrength.java to return the cdma signal strength instead:

* Get LTE as dBm
* @hide
public int getLteDbm()
// return cdma signal being used instead (i.e. if evdo is -120db it's not being used, so look for which is closer to zero)
	 return this.mCdmaDbm > this.mEvdoDbm ? this.mCdmaDbm : this.mEvdoDbm;
// commented out below
// return mLteRsrp;

And then watch your signal get “better.”

‘Rythmyc’, on 19 May 2012 – 01:21 AM, said:

It is upsetting my wife’s Charge gets a much better signal than my Nexus sitting right next to it knowing it has the same radios.

↑ It’s not really “better.” It’s (the Charge) just measuring something different (the RSSI of the 3g connection) to obtain the signal which isn’t even related to LTE. If you changed the above, the signal would probably be nearly the same. From my testing, my RSSI is nearly the same as what I got at my current location on my Thunderbolt (which everyone claims has amazingly better radios and Qualcomm chipset).



Reference signal received power (RSRP), is defined as the linear average over the power contributions in Watts of the resource elements that carry cell-specific reference signals within the considered measurement frequency bandwidth. Used to measure the signal of your LTE (GSM/4g) connection. In short, it’s what’s used to determine the best cell tower your LTE device can connect to at the given time. Anything below say -80db is considered pretty good and you’re pretty close to a tower. -80db to -90db is average what you should expect most of the time. -90db or above and you’re probably in an “extended network” area for LTE and getting close to a likely handoff. -105db and above you would be likely to see a handoff to 3G if your signal does not get better.

Throughput for your connection measured with LTE is estimated to decline between 30-50% if your signal goes from -75db to -90db for RSRP. Above -95db and your throughput dramatically drops. At around -108db and worse, your throughput for download drops to nearly 3G rates or worse. Note that this doesn’t exactly represent how strong your signal is, just the potential of how efficiently it will send that data.


“But why can I have a super awesome RSRP signal and still my download/upload speeds are not that good (or why is it still sometimes good when RSRP is low)?”

Because it’s only measuring the efficiency between you and the tower, not the rest of the network or the end source (the website). There are many network hops along the way to the destination and some may also handle connections inefficiently. The more hops, the slower the connection generally is.

However, it does also represent the greater likelihood that your connection will drop more packets of data that need to be retransmitted and thus not only slowing your connection but also causing it to have to work harder and draining more battery when it’s actively downloading/uploading. That’s why having it hand off is for the best than fighting it to stay on LTE. This is most likely why people always complained about the Thunderbolt having such poor battery life as no one ever saw what their RSRP was on it, only their RSSI like all other Gingerbread devices.

You can also consider RSRP the “absolute strength” of your current connection.


Received Signal Strength Indicator (RSSI), is the linear average of the total received power in Watts. This is used to measure the db signal for CDMA (3g/2g [2g being your 1x and voice]) signals and used in determining the “signal to noise ratio”. It was what was shown on all devices as the “signal” under the Android settings before Android 4.0. Basically this is how much noise/interference is in your connection. Not so good for measuring the overall power of it. It should be in the range of like -58db and greater (like -32db). In other words, the closer it is to being positive, the better. If it’s in the high 80s or 90s, your signal is probably starting to cause some slight battery drain when idle. RSSI has less to do with how great your network speeds are and more to do with how good your potential battery life will be.

SNR (Signal to Noise Ratio):

The higher your SNR, the more throughput (better download/upload speed) your connection will have. The lower the number, the worse it will be. The Nexus tends to have a lower SNR on average than phones with Qualcomm chipsets, such as the Galaxy S3. What does that mean? It means you are more prone to have interference on your connection to the towers when your signal is obstructed by scenery or the building you are currently located in. That means slower speeds and higher potential for unstable connections.

CQI (Channel Quality Indicator):

CQI is measured 0 to 15, with higher being better. It’s a measure of how good the quality is for the current channel the cell tower has you on. CQI is derived from the SNR (signal to noise ratio) and the SINR (Signal Interferance Noise Ratio).

RSRQ (the overall quality of your signal in general) and SINR “Signal Interference Noise Ratio on LTE”:

This is the great your connection is overall (the stability of it and how close it is to handing off to 3G). RSRQ ranges from -3db to -19.5db with a number closer to -3db being better. SINR is similar to RSRQ, but the measure may differ. I still need to verify which variable relates to SINR in the source (the RSRQ weirdly shows as positive in the Nexus SDK, which shouldn’t be possible, but SINR can be positive so I’m not sure if they have it linked wrongly or what just yet). It takes in account of both your overall signal strength (RSRP) and the noise/interference in the connection (RSSI). Your phone is using this to determine when to hand off to 3G or go back to LTE. Reference Signal Received Quality (RSRQ) is defined for Verizon as17db + (RSRP signal + | RSSI signal |) | | being absolute value. The graph below shows how RSRQ helps to determine when you it should hand off versus just RSRP alone:

Posted Image

From Verizon themselves :


The LTE SINR should be greater than 12.5db. The connection may drop to a 3G network with an SINR value of -6, resulting in slow speeds.


“Why does my Nexus not hand off exactly the same as <insert proprietary android os based phone here>?”

Because it goes back to what I already mentioned in that other OEMs don’t measure the LTE signal with the same metrics as they do on the Nexus (it was only added to the Android source with ICS and before then each carrier just “rolled their own” thing probably using the RSSI of the LTE signal to handle when to hand off) so the phone thinks the LTE signal is also better than it actually is and so it’s staying on what is really a *worse* LTE signalwhen it should be handing off to a better CDMA/3g signal. Also see the part about RSRQ above and the graph. It’ll be far easier to tell what they’re doing when they update to ICS though as we’ll have access to more information.

RSSI is an okay metric to handle 3g/cdma, but it’s not nearly as good for LTE as RSRP is or RSRQ. OEMs are still using it other than for the Nexusand it’s those other phones hold LTE longer than they should in many cases as that was the metric they had to go on with Gingerbread and before RSRP became the standard measure of LTE signal for Android.

*You’re welcome to question anything I stated above in the discussion as long as you do it in a constructive way that’s not flaming. BUT if you do, please provide FACTUAL information from credible sources. That means things like “Well, I compared the Nexus to X phone and it didn’t look as good” do not count as factual. Non factual posts will most likely be considered trolling or flamebait that’s trying to derail this into another one of the typical “signal quality” discussions we have all seen before and be subject to removal (nothing personal, it’s just you have to spend time on something if you want to disagree with it in public).

From a few tests of pulling the signal info out of my phone directly using the ICS source (I was in a crap signal area when I took them):

cdma db = -100
cdma ecio = -150
evdo db = -105
evdo ecio = -150
evdo snr = 1
lte sig strength = 10
lte rsrp = -109
lte rsrq = -8
lte snr = 10
lte cqi (channel quality indicator) = 7 (measured 0 to 15, higher being better)

cdma db = -100
cdma ecio = -150
evdo db = -105
evdo ecio = -150
evdo snr = 1
lte sig strength = 10
lte rsrp = -108
lte rsrq = -8
lte snr = -30
lte cqi = 7

You can caculate my RSSI from knowing the RSRP and the RSRQ:

rsrq = 17 + (rsrp + X)
-8 = 17 + (-108 + X)
x = -83db → my LTE RSSI

Conclusions thus far

It’s actually a good thing it’s handing it off and staying on 3g for most use cases. If it were me, I’d be more upset with it staying on it when it’s eating battery or handing off and switching back constantly instead of staying on one or the other as that also drains battery. If you want to force it to stay on LTE, dial *#*#4636#*#* and tell it to stay on it. It may interfere with calls though and drain more battery, so just as a fair warning.

Additional Info/Further Reading:

http://www.scribd.co…353976/12/RSRQ? (probably the best reference on what RSRQ is and RSRP)



But…if one wants to believe whatever voodoo makes one signal “worse” than another then I guess that’s everyone’s right. I give up trying to convince-_-

NEXT UPDATE: add logging to the app and give stats on the signal logs taken (mean, median, standard deviation, variance, etc). Maybe a built in “speedtest” for your connection as well.

UPDATE (2012-11-12): Now added to the Android Market. Link is pending to when it gets added officially (day or two). The app on the market has ads to support my continued development, but the version below (scroll down) does not have them. Otherwise, they are the same.

UPDATE (2012-05-29): Created an app to test your signal. If you give out the link to the app, please link directly to the topic and not the apk/app itself so that people can read the topic before getting it. App signal readings update everytime the phone notifies of a signal change. So in other words, it updates as often as the signal does under settings → status. RSRP is the same signal you see under there if you wanted to match it up. Also added more to the definitions for the terms shown in the app in my post above so you can see how they equate to your signal quality. App should work on Android 2.2 and above and on any sort of carrier (including GSM), but it may not show everything for non-ics devices.

If anyone has any suggestions for things to add to it, feel free to let me know.

Posted Image

Market version with ads is located here. It’s the same as the other version, but you’ll get updates through the market + very small support for me to try to add more features in my free time.

Ad free version is available here

Changelog is available here.

Basic App Source (to prove data is legit): https://github.com/yareally/SignalInfo

Screen shot:

Posted Image
UPDATE (2012-05-18): Added in more explanation, another good reference and some clarification. Fixed a typo in RSRQ formula.

ref: http://rootzwiki.com/topic/25921-this-is-why-your-verizon-nexus-signal-sucks/

About Firat Karakusoglu

IIT Tech.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: