Annoyed at the lack of network signal information for your Android phone?
Wish you could know more about the statistics your carrier uses to determine many bars your phone has and the tower it connects to?
Want to see what your 3g and 4g signals are at the same time?
Try out this app and see all that information you've been missing!
App works best for phones with either a CMDA or LTE data connection, but may work for GSM only phones as well.
Note: not all information may be available depending on the OEM/OS. Info not displayed will show as "N/A"
Any feedback, suggestions for improvement, etc are welcome
UPDATE (2015-05-01):
-1.5.1 changes -
► Regression fix network shortcut
UPDATE (2015-05-01):
-1.5 changes -
► I can't fix devices not working for the network settings shortcut because Samsung locks down their phones. Rooted Samsung devices generally work. Pick what is more important, network switching or owning a Samsung device
► bugfixes (crashed instead of telling user device was locked down)
► Translations for French & Spanish. Thank you contributors
► Updated Google libs (Lollipop issues)
► App is now written in Scala, yay
UPDATE (2014-01-06):
► Devices with root/super user can now access the "additional settings area" if they were being blocked by Samsung and their carrier (Note 3 / Galaxy S4 / etc). Contact me if you experience issues and have root
► GSM ECIO added for supported devices
► Bug fixes (Huawei and a few older LG)
► Overhaul of the parser that grabs the readings from the system. More flexible with older devices
► Performance enhancements. Using async for tasks
UPDATE (2013-09-03):
Added RSSI signal for GSM/HSPA devices
LTE SNR and CDMA/EVDO ECIO are now listed in decibels instead of the Android default of centibels.
Few bug fixes for devices crashing on startup. If it still crashes for you, you need to contact me for fixes.
UPDATE (2013-06-04):
Fixed a bug for anyone on Android 2.2. Google for some reason in their wise choice decided to leave out Arrays.copyof() in Android 2.2, despite it being a core part of the Java JDK. I decided to use it for something, assuming it was there (because why wouldn't it be, heh). Anyways, if you're on Android 2.2, it should show up in the Android Market later today
UPDATE (2013-06-03):
Bug fix that would cause the app to close when rotating the screen.
Relative percentages were adjusted a bit based on feedback.
UPDATE (2013-06-02):
Lots of improvements (see screenshot below):
- New ways to monitor your signal quality via easy to read percentages %
- Monitor your signal based on 0-100% percentages
- ActionBar + options area for all
- Performance/stability improvements.
Compare your signal quality based on % instead of just decibels. Now, you can instantly see how great each signal reading is for your device based on a scale of 0% (worst) to 100% (best). Percentages are configured to give the best reading for your carrier by default.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
UPDATE (2013-01-13): Performance tweaks through code cleanup and restructuring. If nothing else is needed, next version will have some new information for GSM users and maybe some other things if I have time.
A few users were getting a permission denied error/crash when accessing additional settings (Huawei M865C & Samsung Galaxy Ace). Access problem is with your phone's current OS and the manufacturer so I cannot fix it. However, the crash will no longer happen and you get a friendly message.
UPDATE (2012-12-20): I have no idea what devices a few people have as it just shows as OTHER (probably non-approved devices running Android), but this fix is to keep them from crashing. However, I don't know how much info those devices will see if they aren't totally compliant.
Also a fix for devices that don't support the additional info/settings area that Google adds for devices and some manufacturers remove (like those with the Galaxy Note 1). You still won't see it as it's beyond my control, but it won't crash.
UPDATE (2012-12-11): Array out of bounds error fixes for devices like the Galaxy Y and ZTE Warp. If you never had crashes, then no reason to update as there's nothing else new.
UPDATE (2012-12-07): Fixed for anyone most likely getting a force close due not having full network support. If the app is not working on your phone (mostly seems to be a few GSM ones), please contact me and we can figure out the issue.
Added the app version number at the bottom of the app.
Added a button to reach your additional phone radio/network settings. Please only use this button and change the settings under it if you're sure of what you're doing
UPDATE (2012-11-13): Fixed a crash bug for users on Android 2.3 and before.
UPDATE (2012-11-12): Now added to the Android Market. The app on the market has a small banner ad to support my continued development, but the version below (scroll down) does not have them. Otherwise, they are the same.
New in Update (2012-11-12):
Bug fixes - few fields showed values when they shouldn't for phones that don't supply all the stats (like the Galaxy S3).
Performance enhancements - Much of the code was rewritten to be smaller and more efficient
Android compatiblity - Should now work on any Android phone with Android 2.2 or later, regardless of carrier or network type (GSM, LTE, CDMA).
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 every time 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.
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.
If anyone has any suggestions for things to add to it, feel free to let me know.
--Download Links--
If you like what I do and wish to support further development of this app in my spare time, feel free to get this one instead. It's the same as the version below, just with a small banner ad. I make next to nothing off ads, so it's just peanuts.
Non Play Store Version
This version is the same as the market version, but for those that don't/won't use the play store. You won't be able to update from the market most likely due to market licensing unless you overwrite it with the market version (may also have to uninstall).
It's available here
Basic App Source (to prove data shown is correct): https://github.com/yareally/SignalInfo. App is written in Scala. There's also an older Java version (for Android 2.2+ devices) I no longer support in the same repository. Questions about the Java version will be ignored as I don't support it.
Screen Shot:
--Android Signal Info Statistics Information--
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. Phones on Android 4.0 and above also use RSRP to determine your signal. RSRP has a huge difference to RSSI (for example):
RSSI = -79 dBm, RSRP = -93 dBm
This is why a Motrola Razr or HTC Rezound will show -79 dBm in the same spot a GNex will display -93 dBm if you are comparing it with Android 2.3 to a phone using Android 4.0+.
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. 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 have no signal [unknown] and closer to 0 means it's also bad).
Your ASU on LTE is 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:
Technically, your ASU will never be 98, as it hits a ceiling of 97 and 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 the above was SignalStrength.java under getLteAsuLevel()
If you're wondering how the signal bars for phones using Android 4.0 or above are computed, they mostly follow the following specification. The bars are mostly 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 had a device with Android 4.0.2 or 4.0.1.
The below link is a reference to the above mentioned change:
https://github.com/a...28b7fc2f6ef8bce
The link shows how they were before/after 4.0.4. Mostly increased everyone's LTE bars in most cases by 1 bar, but the change was only visually and not a performance increase.
Google also uses the signal to noise ratio (SNR) to determine whether your normal signal statistic listed under settings gets priority or the SNR 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.
Click to expand...
Click to collapse
In short, Android now uses the RSRP data to measure how many bars you see and also is what is shown under settings when you're on LTE 4G.
Definitions:
RSRP:
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)?"
Click to expand...
Click to collapse
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.
RSSI:
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 as 17db + (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:
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.
Click to expand...
Click to collapse
Randomly Asked Questions
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.
Click to expand...
Click to collapse
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). This is true for all phones running Android 2.3 or before with LTE 4G connections.
"Why does my Nexus not hand off exactly the same as <insert proprietary android os based phone here>?"
Click to expand...
Click to collapse
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 signal when 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 Nexus and 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.
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
Additional Info/Further Reading:
http://www.scribd.co...353976/12/RSRQ? (probably the best reference on what RSRQ is and RSRP)
http://docs.google.c...28qjNF66uPBYmfA
https://docs.google....fUvgTfFjRQ-4Mhw
Updated to version 1.1 with a small bug fix and a few other changes listed in the OP.
The "Ad free version" link isn't working matey
Listy2021 said:
The "Ad free version" link isn't working matey
Click to expand...
Click to collapse
Heh, I forgot I was in the middle of updating my webserver software last night and forgot to restart my screen session on my server so I didn't realize it was still shut down. Fixed things now though and the link should work
yareally said:
Heh, I forgot I was in the middle of updating my webserver software last night and forgot to restart my screen session on my server so I didn't realize it was still shut down. Fixed things now though and the link should work
Click to expand...
Click to collapse
No it doesn't
Updated to 1.1.1. Array out of bounds error fixes for devices like the Galaxy Y and ZTE Warp. If you never had crashes, then no reason to update as there's nothing else new.
Thank you for the app, latest release seems to work just fine :good:
Not sure why it does not work for you offhand (it really does download I can assure you). This is my personal server so I do block a lot of subnet blocks when they're known for spam/malware and some innocents might get blocked in that as well. I may have your current subnet block "blocked." If you PM me your current IP (http://whatismyip.com or google "my ip"), I will whitelist it in iptables. I don't want to unblock everything (especially not for a free app), but I can help out any user that is willing to help me to help them.
Hopefully fixed a crash issue with the Galaxy Note when it pressed the additional info/settings button and also fixes for random devices that are running Android and not totally compliant (can't describe much better as they show as OTHER on the market).
Very useful app
Sent from my TECNO N3 using Tapatalk 2
Anyone that would like this translated to their native language and is willing to work with me to do so, please contact me here or at my email listed in the Android Market. For what it's worth, you'll also get credit for the translation
UPDATE (2013-01-13): Performance tweaks through code cleanup and restructuring. If nothing else is needed, next version will have some new information for GSM users and maybe some other things if I have time.
A few users were getting a permission denied error/crash when accessing additional settings (Huawei M865C & Samsung Galaxy Ace). Access problem is with your phone's current OS and the manufacturer so I cannot fix it. However, the crash will no longer happen and you get a friendly message.
I need some help from anyone currently using my app. The RSSI in my app has to be manually calculated due to limitations of information in the Android OS. Many carriers are not using the same channels/frequency for LTE and it operates on many different ones, which causes the RSSI to be different. In order to make it easy on all you guys, I would like to try to calculate what your RSSI is for you so you don't have to select it as an option (though I will still add that as well for any that are not covered by automation).
Finding the channel bandwidth offline is not hard (as many sites show what carriers use). However, figuring what carrier you guys are on is a bit tougher if I don't know 100% what the carrier name will appear as (example: Tmobile versus T-Mobile or ATT versus AT&T). I currently have devices for AT&T, Sprint, Verizon and T-Mobile at my disposal, but other carriers I need some help with. I want to have this done before the next update if possible, but I will add more as I get them.
I wish there were a more elegant way to do this, but that's the best there is for now
--What I need from you guys (those not on Verizon, T-Mobile, AT&T or Sprint with LTE)--
Simply paste your carrier name as it is shown in my app under "carrier" (punctuation included) in this thread or PM it to me. That's all I need and I can properly show you your RSSI signal for LTE. Right now it's set to only show properly for 700mhz LTE, but that's mainly due to legacy purposes as only one carrier had LTE at the time of making the app over a year ago.
Thanks!
UPDATE (2013-06-02):
Lots of improvements (see screenshot below):
- New ways to monitor your signal quality via easy to read percentages %
- Monitor your signal based on 0-100% percentages
- ActionBar + options area for all
- Performance/stability improvements.
Compare your signal quality based on % instead of just decibels. Now, you can instantly see how great each signal reading is for your device based on a scale of 0% (worst) to 100% (best). Percentages are configured to give the best reading for your carrier by default.
UPDATE (2013-06-03):
Bug fix that would cause the app to close when rotating the screen.
Relative percentages were adjusted a bit based on feedback.
Assuming no other issues, should be working on adding some more features useful for those on GSM carriers (mostly calculating some additional readings that are possible).
Fixed a bug for anyone on Android 2.2. Google for some reason in their wise choice decided to leave out Arrays.copyof() in Android 2.2, despite it being a core part of the Java JDK. I decided to use it for something, assuming it was there (because why wouldn't it be, heh). Anyways, if you're on Android 2.2, it should show up in the Android Market later today
The adverse version downloads, but won't install for me. Says "App not installed" every time. Play store version of installs fine, though.
Morningstar said:
The adverse version downloads, but won't install for me. Says "App not installed" every time. Play store version of installs fine, though.
Click to expand...
Click to collapse
Hmm, it can happen for a number of reasons.
Switching between the market version and non market version without uninstalling first is the primary reason though. I sign the market one with my key, but I don't sign the one on my server since it could complicate things for me later on doing that.
Some more info about your error though if it's not because of that: http://stackoverflow.com/questions/4226132/application-not-installed-error-on-android
Let me know if you get it worked out though (or don't). I mostly keep the server version up for people that don't have access to the Android market, since some countries don't.
If the app crashes when you open it (I see a few of you guys in error reports every now and then), it's probably something I would need you guys to contact me to fix. The reason why is your phone/tablet most likely deviates way too much from the standard radio interface layer for Android and I need specific information that an error report you send me will not give. If I don't have that information, then I can only guess as to why it's not working and most of the time, a guess is no better than not doing anything at all. I try to account for most of the random possibilities without killing performance, but like a leaky dam, I plug one hole and then another opens up.
Hello- Really hoping this app will begin working for me. I have a CDMA Samsung Epic on Sprint, and once installed, the app always shows EVDO and 1XRTT signal strength exactly the same, all the time. My modem version is EC05 on the Epic, and I'm currently running MIUI 2.3.23 so if you could advise, let me know.
Thanks!
Related
High Level Symptoms:
- I notice battery has drained very quickly in a short time even when I have not been using phone (i.e. idle with display off)
- Phone feels noticeably warm/hot even when I have not been using phone (e.g. like it does while charging)
- Issue only seems to happen when running in 4G LTE mode
- I have gathered detailed usage statistics and do not believe there are any miss-behaving apps or system processes responsible
- I have noticed issue start most often near my office (in midtown NYC)
Note: This is where I use the phone on battery the most, so it may just be sampling bias
- I can temporarily stop the rapid power burn by switching out of 4G LTE mode (i.e. to 3G mode, or disabling radio)
- I have not found a way to stop the issue in 4G LTE mode once it starts except by restarting phone
(things I tried without success: toggling airplane mode, switching to 3G and back to 4G, radio off/on, and moving to different location/tower; rapid burn starts back up again as soon as 4G LTE mode is re-enabled)
Power Burn Rate:
- Data captured using Battery Monitor Widget which I have set to sample/log battery available % and usage every minute (this is a great app!)
- Available % dropping at a rate of about 20% / hour while phone is idle w/ screen off (my normal is about 5% / hour)
- Usage shows a very flat baseline of about 1000 mW / 250 mA (normal baseline is more like 100 mW / 40 mA)
(by baseline I mean many samples are equal to that baseline value with the rest being spikes up to greater values; no observed values are less than the baseline)
Background Info:
- My phone is unrooted and running stock firmware w/ the Verizon OTA upgrade (installed ~2011-05-19)
- I have noticed this issue many times since first getting the phone (~2011-04-12), and this issue is still present even with the newest LTE radio FW in the OTA update
- I am new to Android (~2 months in) but I am diving in deep with all the amazing tools both built-in and via add-on apps; I have collected a range of data/observations from numerous sources that are detailed in this post
My hypothesis is that the LTE radio hardware is responsible for this power burn. Most likely due to a software/firmware bug, but I'm not sure how to confirm that.
I wonder how common this issue is. I remember reading other posts on the forum that sound like the same thing. For example: http://forum.xda-developers.com/showthread.php?t=1008761
Can anyone else confirm they have seen this issue? If this issue is wide spread, I think it may be a contributing factor to the wide spread reports of 4G LTE a lot of battery.
I do not think this is the only factor that causes 4G LTE to use more power than 3G. I have read the reports, and personaly seen, higher 4G LTE power consumption when in low signal areas. However, I belive that to be independant from the burn issue I am describing here. The worst case power consumption I've seen that I think was "low LTE signal" related was only about 500 mW / 130 mA. The burn issue I'm refering too consumes power at about twice that rate and happened when I had strong signal. I had three to four of four possible bars. Also, I grabbed more detailed information:
----------
Phone info
reached using "LTE OnOff" app, "Network" app, or by dialing *#*#4636#*#* -> Phone information
Signal strength: -67 dBm to -80 dBm, 3 to 4 asu
Location: BID = 39b SID = 16 NID = 4
LAT = 7fffffff LONG = 7fffffff
Network Type: CDMA + LTE/EvDo auto
I believe this is good signal (e.g. issue not due to a low signal condition)
==================
Usage Data Capture
I briefly connected to power to reset the statistics after noticing the issue had started and and captured about an hours worth of data. My understanding of the data is that the display was off for almost all the time, and no apps or system processes are listed as using any significant amount of CPU/sensors in comparison to the hour data collection window.
-----------
Battery Use
reached using Settings -> About Phone -> Battery Use, or Battery Monitor Widget -> Usage
When last unplugged for 57m 12s
Display 30%
* Time on 1m 11s
* Auto Brightness
Cell Standby 21%
* Time on 57m 12s
Phone idle 19%
* Time on 56m 1s
Foursquare 11%
* CPU total 8s
* CPU foreground 6s
* GPS 26s
* Data sent 13.59 KB
* Data received 379.93 KB
Android System 7%
* CPU total 41s
* CPU foreground 2s
* Data sent 12.09 KB
* Data received 20.27 KB
Android OS 6%
* CPU total 39s
* Data sent 20.11 KB
* Data received 136.25 KB
Pandora 6%
* CPU total 35s
* Data sent 1.83 KB
* Data received 27.16 KB
---------------
Battery History
reached using Battery Monitor Widget -> Statistics, or by dialing *#*#4636#*#* -> Battery history
since last unplugged
CPU usage
* Android System (Total time:39s)
* Pandora (Total time:35s)
* suspend (Total time:31s)
* Foursquare (Total time:7s)
... (Note: more apps listed but with smaller total times)
Sensor usage
* Android System 29m 47s
* AccuWeather.com 28m 36s
(Note: after this capture I uninstalled AccuWeather.com app and retested. It wasn't listed anymore, but power drain behavior was unaltered)
Partial wake usage
* K-9 Mail 7m14s
* Android System 5m 4s
* Seesmic 9s
... (Note: more apps listed but with smaller times)
Other Usage
* Running (27.6%)
* Screen on (2.1%)
-------------------
CPU Spy v0.3.0 beta
Note: timers reset at begining of measurement interval
Time in state
1024 MHz 4:21 7%
768 MHz 0:54 1%
368 MHz 0:35 0%
245 MHz 12:11 20%
Deep Sleep 41:34 69%
This is a typical distribution I see when the phone is mostly idle (CPU sleeping for most of the time).
=================
Variation testing
After the data capture I systematicly tried several methods to see what it took to stop the abnormal drain in 4G LTE mode. In the end only rebooting the phone did it.
Set preferred network type: "CDMA auto (PRL)" (i.e. 3G mode) -> normal power usage (5:00pm-5:18pm)
Set preferred network type: "CDMA + LTE/EvDo auto" (i.e. 4G mode) -> abnormally high power usage (5:18pm to 5:43pm)
Set airplane mode (i.e. radio off) -> very low power usage (5:43pm to 6:54pm)
Turned off airplane mode (i.e. 4G mode) -> abnormally high power usage
Set preferred network type: "LTE mode" (i.e. ONLY 4G mode) -> abnormally high power usage
Set preferred network type: "CDMA + LTE/EvDo auto" (i.e. 4G mode) -> abnormally high power usage
Moved to a new place:
Signal strength: -65 dBm 4 asu
Location: BID = 23c SID = 16 NID = 4
LAT = 7fffffff LONG = 7fffffff
-> abnormally high power usage
Phone info "Turn off radio" button -> very low power usage
Phone info "Turn on radio" button -> abnormally high power usage
Restart phone -> normal power usage
I experience the same problem. My guess is that the radio firmware gets into a bad state when you are in an area with bad coverage.
I have been in a state where disabling data didn't stp the battery drain, only entering airplane mode would stop it.
crpalmer said:
I experience the same problem. My guess is that the radio firmware gets into a bad state when you are in an area with bad coverage.
I have been in a state where disabling data didn't stp the battery drain, only
entering airplane mode would stop it.
Click to expand...
Click to collapse
I originally thought the same thing about the issue starting while in poor coverage, but since I have seen it occur multiple times in a good coverage area I began to doubt that was the case. The extra power consumption I usually get while in poor coverage is less in magnitude, and varies much more, and goes away when I have good coverage again. This issue feels distinctly different to me.
When you say disabling data didn't stop the drain you experienced, do you mean turning off Settings -> Wireless & networks -> Mobile networks? I haven't tried playing with that option. I'll give it a try next time I see the issue too.
You said entering airplane mode would stop it. Did you have the same experience that when you turned airplane mode off that the drain started back up again until you restarted?
Thanks
Excellent post, I would venture a guess that your background is in one the sciences.
One thing I noticed you didn't try was connecting through wifi. I believe this will render the 4g radio on but not in use. If the issue persists, it could help narrow down the cause.
As far as attempting to fix it, you can factory reset it or go to verizon for a replacement.. but that doesn't do much for others with this problem.
I have been having the same issue, both on stock and BAMF 1.6. Thanks for looking so thoroughly at this problem. It appears not everyone is affected. Can someone confirm? If so, exchanging the could be the solution.
Sent from my ADR6400L using XDA App
To test your hypothesis, I'd recommend turning off LTE somehow. My suggestion for non-rooted phone:
Dial ##778#
Chose edit mode, password: 000000
You should be able to turn off LTE in Modem Settings->Preferred Mode
Please let us know your finding.
Nice work on the research!
The scenario you described happened to me yesterday.
I was in a building where I didn't get any reception at all. I noticed the phone started to warm up. By the time I got outside and the phone re-established a connection with the 4g network, it was extremely warm and the phone was at 7% life begging to be charged.
This has happened to me on two other occasions but I don't recall being in an area of zero to poor reception.
My bolt is also rooted running the BAMF Remix 1.6.
agdaniels said:
Excellent post, I would venture a guess that your background is in one the sciences.
One thing I noticed you didn't try was connecting through wifi. I believe this will render the 4g radio on but not in use. If the issue persists, it could help narrow down the cause.
As far as attempting to fix it, you can factory reset it or go to verizon for a replacement.. but that doesn't do much for others with this problem.
Click to expand...
Click to collapse
Thank you. Your guess is spot on; I did my Ph. D. in computer science.
I have not tried switching to WiFi. Next time I see the issue I will put that to the test. I find I haven't been using WiFi much with this phone since I have lower standby power consumption in 3G mode when I don't need the speed. When I do want more speed, I find here in NYC 4G LTE is actually significantly faster than either my home or work Internet connection (Cable and DSL respectively) (Crazy!). Also, here in NYC the 2.4 GHz band is VERY crowded so WiFi can slow down at times even on a good wired Internet connection. I wish this phone was 5 GHz WiFi capable to help avoid this particular issue.
My intuition is that this is a radio firmware issue so I have my doubts that a factory reset or even a replacement would fix anything. Factory reset would help if there were misbehaving apps or screwed up settings on my phone, but this seems unlikely. I'll probably need to root my phone so I can back it up before I try a factory reset. A replacement would only help if there was a hardware fault. Part of the purpose of this thread is to help gauge if many other people have this problem. The more that do, the less likely it is an abnormal HW fault with only my phone, and more likely a bug or other HW errata issue that hasn't been worked around correctly.
I think it is still too early in the game to make the call that it is not fixable in FW. I was aware that this LTE network/chipset is quite new and this phone was likely to have some rough spots at the start. Verizon/HTC/Qualcomm have only made one OTA release so far, and even that release has major bugs that were not present in the original stock FW (e.g. the frequent spontaneous rebooting when in 3G mode). Forums like this seem like great places for us users to publicly characterize issues we encounter. I hope it helps the engineers involved in making fixes and that we get updates not too far down the line.
cuguy said:
To test your hypothesis, I'd recommend turning off LTE somehow. My suggestion for non-rooted phone:
Dial ##778#
Chose edit mode, password: 000000
You should be able to turn off LTE in Modem Settings->Preferred Mode
Please let us know your finding.
Click to expand...
Click to collapse
Thanks for the suggestion.
If you look at the last part of my post under the "Variation Testing" heading, I believe I did try a number of configurations with LTE off. Each case where LTE was off I saw normal or low power consumption. This is why I grew to suspect the LTE radio in the first place.
The technique I used for switching between 3G and 4G modes was actually the "Set prefered network type" drop down on the "Phone info" menu that can be reached using "LTE OnOff" app, "Network" app, or by dialing *#*#4636#*#* and selecting "Phone Information".
I have used the dial ##778# to get the ESPT menu before, but that was to modify the "Rev. A" setting from "eHRPD" to "Enable" as a work around to re-enable 3G EVDO during the few days of nation wide 4G LTE & 3G SVDO outage we had a month or so ago. BTW, it looks like I had by phone set to the non-stock "Enable" setting rather than "eHRPD" for the original data capture. I switched this back to "eHRPD" and I'll report if I have the issue again. I was last playing with this setting to see if had any effect on the random reboots after the OTA while on 3G, but it did not.
In the ESPT -> Modem Settings -> Preferred Mode drop down I only see the options for:
- Automatic
- HDR Only
- Digital Only
- CDMA Only (selected by default)
- CDMA HDR Only
There is also a a Preferred Mode(9k) drop down that has these options:
- Automatic
- HDR Only
- LTE Only
- HDR LTE only (selected by default)
I believe that these are settings for the voice radio and the data radio respectively. See the third page of the excellent Anandtech review of the HTC Thunderbolt: <Sorry, I am a new xda-developers forum member so it won't let me post external links yet.>
Do you have suggestions on how to set these? I am unfamiliar with the HDR acronym and haven't turned up anything that seems relevant in my Google searches.
I had another instance of the 4G LTE power burn issue today. I tried a few of the above suggestions.
I enabled WiFi and logged on to an access point. This did not stop the abnormally high power burn. Instead it went up slightly; I assume this was the extra power for the WiFi radio.
I also tried turning off Settings -> Wireless & networks -> Mobile networks. That resulted in the 4G LTE icon going away but the signal bars were still showing. I couldn't use the Internet but a SMS came through in this mode. This mode did not stop the power burn either.
The burn stopped only when I rebooted.
The reboot happened when I dialed ##778# to get the ESPT menu and switched the "Rev. A" setting from "Enable" to "eHRPD" and this time remembered to commit the changes (forgot to when I posted above). Committing the changes auto-rebooted the phone, which returned me to normal power consumption. I will report if I have the problem again now that I have confirmed I am back in the stock eHRPD mode.
Most of today I was in very good signal conditions, judging by the time the drain started, I could have been out on a errand in the neighborhood. So I can't 100% guarantee that the 4G signal was high the whole time.
Does anyone know of an app that works on the Thunderbolt that can log signal strength over time and preferably graph it too (e.g. similar to Battery Monitor Widget). I have tried to download and use a few without success including: Open Signal Maps, Network Signal Info, RF Signal Tracker, and Signal Finder. Some of these apps didn't work at all (I suspect 4G signal is reported a bit differently and this confuses some of them). Some work in general but I can't seem to get the logging I'm looking for.
Thanks!
OdinGuru said:
I originally thought the same thing about the issue starting while in poor coverage, but since I have seen it occur multiple times in a good coverage area I began to doubt that was the case. The extra power consumption I usually get while in poor coverage is less in magnitude, and varies much more, and goes away when I have good coverage again. This issue feels distinctly different to me.
When you say disabling data didn't stop the drain you experienced, do you mean turning off Settings -> Wireless & networks -> Mobile networks? I haven't tried playing with that option. I'll give it a try next time I see the issue too.
You said entering airplane mode would stop it. Did you have the same experience that when you turned airplane mode off that the drain started back up again until you restarted?
Thanks
Click to expand...
Click to collapse
By disabling data, I was actually using the notification tools in most rooted roms. That should be equivalent to what you said.
Toggling airplane mode toggled the battery drain problem until it failed to enter airplane mode and I had to reboot.
I see the same thing
Where I live at home we only have 3G at work I have 4G. The phone will get itself into some kind of mode at work and burn through the battery in 4-5 hours. So I keep it charging on my desk all day. If I didn't, some days it wouldn't make it till lunch.
OdinGuru said:
Thank you. Your guess is spot on; I did my Ph. D. in computer science.
I have not tried switching to WiFi. Next time I see the issue I will put that to the test. I find I haven't been using WiFi much with this phone since I have lower standby power consumption in 3G mode when I don't need the speed. When I do want more speed, I find here in NYC 4G LTE is actually significantly faster than either my home or work Internet connection (Cable and DSL respectively) (Crazy!). Also, here in NYC the 2.4 GHz band is VERY crowded so WiFi can slow down at times even on a good wired Internet connection. I wish this phone was 5 GHz WiFi capable to help avoid this particular issue.
My intuition is that this is a radio firmware issue so I have my doubts that a factory reset or even a replacement would fix anything. Factory reset would help if there were misbehaving apps or screwed up settings on my phone, but this seems unlikely. I'll probably need to root my phone so I can back it up before I try a factory reset. A replacement would only help if there was a hardware fault. Part of the purpose of this thread is to help gauge if many other people have this problem. The more that do, the less likely it is an abnormal HW fault with only my phone, and more likely a bug or other HW errata issue that hasn't been worked around correctly.
I think it is still too early in the game to make the call that it is not fixable in FW. I was aware that this LTE network/chipset is quite new and this phone was likely to have some rough spots at the start. Verizon/HTC/Qualcomm have only made one OTA release so far, and even that release has major bugs that were not present in the original stock FW (e.g. the frequent spontaneous rebooting when in 3G mode). Forums like this seem like great places for us users to publicly characterize issues we encounter. I hope it helps the engineers involved in making fixes and that we get updates not too far down the line.
Click to expand...
Click to collapse
You are absolutely correct on all three points, my main focus with the two suggestions were background data for the factory reset and faulty hardware for the replacement.
If you have the ability to disable all background data syncing while on 4g- on the application side, sense ui side, and the android side you could completely rule out software being the cause. My thoughts with this are some background service is keeping the radio active, causing the burn.
The replacement device would help to narrow down whether the issue lies on the device side, or if its more related to the towers/the way lte functions. The latter is bad news for you. My thoughts on this are that some people report no issues running lte, while others are having similar problems as you have reported; I doubt that it is faulty phone hardware, but its possible.
I share your conclusion that this is a firmware(baseband) issue. Actually going in and manipulating it would require root, a considerable understanding of how the interaction between hardware and software works, and the abilty to make tweaks and test them. I will also contact some people more knowledgable then myself and see if they want to chime in on the matter.
crpalmer said:
By disabling data, I was actually using the notification tools in most rooted roms. That should be equivalent to what you said.
Toggling airplane mode toggled the battery drain problem until it failed to enter airplane mode and I had to reboot.
Click to expand...
Click to collapse
Excellent idea. I then I was able to execute the test you suggested yesterday when I re-encountered the issue. I saw the exact same behavior you reported: even though I disable applications data over LTE, the drain did not stop. This is strong supporting evidence that it is not an issue with some kind of rouge app / sync settings.
Drain toggling with airplane mode is the exactly consistent with my observations as well. Sounds like we have confirmed you having the exact same burn issue.
Thank you for the feedback and confirmation.
mcargil05 said:
Where I live at home we only have 3G at work I have 4G. The phone will get itself into some kind of mode at work and burn through the battery in 4-5 hours. So I keep it charging on my desk all day. If I didn't, some days it wouldn't make it till lunch.
Click to expand...
Click to collapse
This is consistent with my observations of the burn issue. The baseline power consumption I observed is about 20% of the battery per hour while phone is idle with screen off. That would correspond to the phone burning through a full charge in 5 hours even if you didn't use it at all. Add any extra actual usage on top of that and 4-5 hours of life sounds very plausible. That assumes you have the problem right away though (the worst case).
I typically see a variable amount of time of normal consumption before the issue starts. For instance, let's say I've been running normally for 3 hours and am at 80% before the issue starts. Then I'd quickly burn through the last 80% in 4 hours or less. In that case I'd get less than 7 hours of total battery life (e.g. not making it through the day). If my normal usage had continued, it should be more like 15 hours (e.g. more than enough for a long day and needs charging every night).
There is still the question if this issue is related or not to 4G signal levels. What do you normally see in the office? Number of bars is useful, and also the more detailed dBm number can be found in Settings -> About Phone -> Network.
Thank you for your report.
agdaniels said:
You are absolutely correct on all three points, my main focus with the two suggestions were background data for the factory reset and faulty hardware for the replacement.
If you have the ability to disable all background data syncing while on 4g- on the application side, sense ui side, and the android side you could completely rule out software being the cause. My thoughts with this are some background service is keeping the radio active, causing the burn.
The replacement device would help to narrow down whether the issue lies on the device side, or if its more related to the towers/the way lte functions. The latter is bad news for you. My thoughts on this are that some people report no issues running lte, while others are having similar problems as you have reported; I doubt that it is faulty phone hardware, but its possible.
I share your conclusion that this is a firmware(baseband) issue. Actually going in and manipulating it would require root, a considerable understanding of how the interaction between hardware and software works, and the abilty to make tweaks and test them. I will also contact some people more knowledgable then myself and see if they want to chime in on the matter.
Click to expand...
Click to collapse
In the most recent test I disabled "Mobile Networks" which effectively shutdown data service. I also tested switching to WiFi which should have redirected all data away from the 4G LTE radio. Neither one of these stopped the power burn. Do you agree this is sufficient enough to rule out apps/services?
I noticed on the Phone info screen there are some counters for number of bytes sent over the radio. Next time I have the issue perhaps I'll keep track of how those change when I'm having the issue vs not.
I agree that trying replacement HW would be a useful data point to help identify if the issue is inherent or tower related. I'm not quite ready to jump through all the hoops with Verizon to do it myself yet. I'd want to root first to create a backup of my current setup first to reduce the pain of the procedure. And I'll probably give them the benefit of the doubt and wait for the next OTA to give them another shot at fixing the issue with FW.
Part of our questions would be answered if there was indeed a user out there that runs 4G LTE and can document that they do not have this issue. Does anyone out there run Battery Monitor Widget or similar and can say they have never seen the tell-tail pattern of power burn I am talking about?
I really wish Android had a built in screen capture feature. I need to get adb installed and setup on my computer so I can post examples of what the graphs look like; I think that would help other users to identify the issue as it happens so they know when to re-boot to save what is left of their battery.
I agree there is very little we as users can do to fix the issue if it is in the radio FW. As you say, it would indeed take very detailed knowledge of the HW. Also, I think it would be impossible without the radio FW source code. Although I haven't looked through the HTC released code, I would be very surprised if this was included. It wouldn't be covered under the Android or Linux open source licenses as it likely originally came from Qualcomm and is considered proprietary. Without that, we can only hope that Qualcomm/HTC/Verizon work together to get it figured out. The good news is that they all have a good business case to do so. This LTE chipset is likely to be used in several phones so they need these issues resolved before it affects their whole lineup.
Anyone know if the new Samsung Droid Charge has this issue too?
After experiencing all the same issues myself, I have noticed that this seems to have been addressed in the leaked Gingerbread radio. Might be worthwhile to repeat testing using that radio and then somehow compare code.
Sent from my ADR6400L using XDA Premium App
I would have to agree you've sufficiently ruled out software, the point about the gingerbread build not having issues is worth noting though. Can someone confirm the 2.3 release has new radio firmware? It wouldn't be difficult at all to pull it out and flash it if it does
My thunderbolt will be in hand Monday, I don't have the phd you have in c.s (mines just a bs) but I've been in the business long enough to throw some graphs together. We'll compare notes then if we don't find resolution sooner.
I experience the same problem in North Phoenix when running 4GLTE in a weak 4g signal area. It doesn't happen too often if I'm in a heavily blanketed 4g area.
EDIT. I'm running rooted. OC to usually 1400 mhz. I'm constantly being synced with the Exchange Server. My phone gets super hot when running navigation plus 4GLTE. Temperature gets up to around 110 degrees Fahrenheit.
When I notice my phone heating up, I'll switch to CDMA prl and immediately my battery temperature starts dropping to normal levels, ie. 86 degrees Fahrenheit.
At the time I was running on different radio combinations. Such as, CDMA. 6 and lte. 7 radio combo. I have recently switched to Gingerbread so more testing is needed.
Had a spare minute to look up the radio, looks like its bricking certain devices after flashing. Not completely ruling it out, maybe you can flash it, test it, then flash it back, but there is some risk involved.
Whatever the case, its reassuring to know updates are coming eventually.
Here is a link for reference:
http://forum.xda-developers.com/showthread.php?t=1098363&page=70
I performed a cursory search and was not able to find much on this board, but feel free to point me in the right direction if I missed something.
I have always wondered why the MTU is set to 1428 in System>>Build.prop file. Knowing that my desktop computer does just fine using an MTU setting of 1500, I decided to test the impact that setting the MTU to 1500 would have on 4G LTE and Wifi speeds.
The results were surprising, but may not be repeatable for those who wish to try this. I live in Southeast Houston, which may help some of you to decide whether or not to try this. I accept no responsibility for damage to your phone, business, life or anything else if you do.
MTU 1428 (90+ Days)
4G LTE: Average 7-13 Mbps Down, Record 18 Mbps
Wifi 802.11n (Asus RT-N56U): Average 10-20 Mbps Down, Record 27 Mbps
MTU 1500 (24 Hours, Limited Data)
4G LTE: Consistent 17 Mbps Down
Wifi 802.11n (Asus RT-N56U): Consistent 13 Mbps Down
I realized a 5+ Mbps boost on 4G LTE Download speeds (Results will vary)
Standard Caution - back up your phone in case something goes wrong
Step #1 - Use Root Explorer or equivalent to create a copy of System>>Build.prop and place copy on SD Card (I use the Download folder)
Step #2 - Open the copy of the Build.prop you created and locate the default MTU entry, which should be 1428, change this entry to either 1492 (DSL) or 1500 (Cable) and save the change
Step #3 - Use edited copy of the Build.prop file to overwrite the one in System>>Build.prop
Step #4 - Reboot your phone and test your 3G/4G and Wifi speeds for improvement/degredation and repeat steps above to find optimal setting (Max=1500)
My buddy works at the Columbus Vzw building and is a 4G engineer. When I spoke to him last week he JUST mentioned the MTU as well and said its going to be changed with an OTA radio update. He said theyre always working on radio updates but whether or not they are all released is another question ha.
biglipps66 said:
My buddy works at the Columbus Vzw building and is a 4G engineer. When I spoke to him last week he JUST mentioned the MTU as well and said its going to be changed with an OTA radio update. He said theyre always working on radio updates but whether or not they are all released is another question ha.
Click to expand...
Click to collapse
I forgot to mention that my 4G LTE upload speed average increased and became consistent as well. I am now seeing 8 Mbps Upload in a location that had averaged 3-5 Mbps before I changed the MTU to 1500. My Wifi is limited to 2-3 Mbps Upload, so I am not sure how my Upload speed would be on a connection with more bandwidth.
I've been running 1492 since you posted it and giving it a try out. Doesn't seem to help the tether speed, but helps the phones speed of loading pages in the browser, tapatalk to servers, and loading news much quicker.
savagebunny said:
I've been running 1492 since you posted it and giving it a try out. Doesn't seem to help the tether speed, but helps the phones speed of loading pages in the browser, tapatalk to servers, and loading news much quicker.
Click to expand...
Click to collapse
Glad to hear! I have used this tweak for years on Windows computers, so it makes sense that it should work on our phones as well. My only concern was data fragmentation, but that does not seem to be an issue for me. Mileage will vary though, so improvements are not guaranteed for all.
Been using stock since day one, today just broke 60mbps here in NYC:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Been seeing 40's and 50's on a daily basis. Never changed the MTU.
Maybe once I root the device I'll mess with it.
Yep, web browser seem to load qicker than usual, tether is no changed, speed test many times ;/ buddy, how u config that on your window pc anyway?
Sent from my ADR6400L using Tapatalk
davidkim99b said:
Yep, web browser seem to load qicker than usual, tether is no changed, speed test many times ;/ buddy, how u config that on your window pc anyway?
Sent from my ADR6400L using Tapatalk
Click to expand...
Click to collapse
The easiest way to do this on a Windows computer is to visit Speedguide.net and run the TCP/IP Analyzer utility (Link on Bottom-Left of site's main page), then, if needed, download the TCP/IP Optimizer. This utility is a portable app, so there is nothing to install. Just remember that a reboot is needed for changes to take effect.
Here is the manual method for setting MTU on a Windows computer:
1. Open a command line window as an Administrator (ie. Right-Click on All Programs > Accessories > Command Prompt and select Run as administrator)
2. Type the command 'netsh' and wait for prompt
3. Type the command 'interface' and wait for prompt
4. Type the command 'ipv4' and wait for prompt
5. Type the command 'set subinterface "Local Area Connection" mtu=xxxx store=persistent'
6. Reboot
Hope this helps. I know a lot of Windows tweaks, including many Registry settings that are not well known. Perhaps I will put together a self-help document if there is any interest.
Here is a good starting point: http://www.speedguide.net/articles/windows-7-vista-2008-tweaks-2574 (Mods, please remove this link if it violates the TOS here)
milan03 said:
Been using stock since day one, today just broke 60mbps here in NYC:
Been seeing 40's and 50's on a daily basis. Never changed the MTU.
Maybe once I root the device I'll mess with it.
Click to expand...
Click to collapse
Using the newly leaked 906 radios, my download speed jumped from 17 to 40 Mbps yesterday on 4G LTE! Upload & Wi-Fi Speeds remained unchanged for the most part.
I didn't believe it at first, so I reset the MTU to 1428, rebooted my phone and my Download speed returned to the 13-20 Mbps range. Changed the MTU back to 1500, rebooted and jumped right back to 40 Mbps.
I encourage others to try changing the MTU setting to 1500 (For those using Cable) or 1492 (For those using DSL)
stupid question here, but would this increase speeds while in a 3g area or the mtu specifically for 4g data rates?
vdChild said:
stupid question here, but would this increase speeds while in a 3g area or the mtu specifically for 4g data rates?
Click to expand...
Click to collapse
MTU is not specifically tied to either 3G or 4G. In fact, this setting is used on Windows based computers all the way back to the early versions of Windows. MTU is used to optimize the connection between the host and client. If MTU is set too low, bandwidth is reduced because more packets of data are managed. If MTU is set too high, fragmentation will occur and there will usually be a need for more re-transmissions of data. As a rule, 1500 is the Maximum MTU setting for cable based internet, while 1492 is the maximum for DSL.
"A larger MTU brings greater efficiency because each packet carries more user data while protocol overheads, such as headers or underlying per-packet delays, remain fixed; the resulting higher efficiency means a slight improvement in bulk protocol throughput. A larger MTU also means processing of fewer packets for the same amount of data. In some systems, per-packet-processing can be a critical performance limitation."
http://en.wikipedia.org/wiki/Maximum_transmission_unit (Mods, please remove this link if it violates the TOS here)
Lyondellic said:
MTU is not specifically tied to either 3G or 4G. In fact, this setting is used on Windows based computers all the way back to the early versions of Windows. MTU is used to optimize the connection between the host and client. If MTU is set too low, bandwidth is reduced because more packets of data are managed. If MTU is set too high, fragmentation will occur and there will usually be a need for more re-transmissions of data. As a rule, 1500 is the Maximum MTU setting for cable based internet, while 1492 is the maximum for DSL.
"A larger MTU brings greater efficiency because each packet carries more user data while protocol overheads, such as headers or underlying per-packet delays, remain fixed; the resulting higher efficiency means a slight improvement in bulk protocol throughput. A larger MTU also means processing of fewer packets for the same amount of data. In some systems, per-packet-processing can be a critical performance limitation."
http://en.wikipedia.org/wiki/Maximum_transmission_unit (Mods, please remove this link if it violates the TOS here)
Click to expand...
Click to collapse
Everything you said is correct, but just to elaborate for those that might get mixed up, MTU has *nothing* to do with windows itself nor did Microsoft create the protocol. MTU predates Windows by some years and was set up as part of the greater Internet Protocol and OSI Model by DARPA in the late 70s/early 80s.
In theory, a larger MTU is a good thing, assuming the connection can handle the larger MTU. Slower connections trying to handle a high MTU can cause a bottleneck and lead to less efficiency than greater though. When that happens, it has to slice up the data units into smaller pieces (fragmentation).
Think of it as like having to carry a stack of bricks from one end of your yard to the other. Sure, if you're strong, you can carry a ton at once, but if you're not and you try to do so, you're going to have a heck of a time getting them from point A to point B and probably end up having to split up the load, slowing yourself down as you do so.
yareally said:
Everything you said is correct, but just to elaborate for those that might get mixed up, MTU has *nothing* to do with windows itself nor did Microsoft create the protocol. MTU predates Windows by some years and was set up as part of the greater Internet Protocol and OSI Model by DARPA in the late 70s/early 80s.
In theory, a larger MTU is a good thing, assuming the connection can handle the larger MTU. Slower connections trying to handle a high MTU can cause a bottleneck and lead to less efficiency than greater though. When that happens, it has to slice up the data units into smaller pieces (fragmentation).
Think of it as like having to carry a stack of bricks from one end of your yard to the other. Sure, if you're strong, you can carry a ton at once, but if you're not and you try to do so, you're going to have a heck of a time getting them from point A to point B and probably end up having to split up the load, slowing yourself down as you do so.
Click to expand...
Click to collapse
Thanks for filling in the gaps. I sometimes skim over information that requires a little more clarity, so I thank you for chiming in.
Edit: Nevermind. I changed to 1492 cause I use DSL at home so we shall see if I can get some better speeds with this change.
Mustang302LX said:
Edit: Nevermind. I changed to 1492 cause I use DSL at home so we shall see if I can get some better speeds with this change.
Click to expand...
Click to collapse
Guys you're forgetting your LTE service is not DSL. If you're changing MTU which by the way is "maximum transmission unit" and have been in existence way before Windows, use 1500. LTE is a flat IP based technology, and it doesn't matter if your home (WiFi) connection is DSL, you're using Verizon's 4G LTE and that's where you're applying MTU. 1492 is used on home computers that are wired connected to a DSL modem.
milan03 said:
Guys you're forgetting your LTE service is not DSL. If you're changing MTU which by the way is "maximum transmission unit" and have been in existence way before Windows, use 1500. LTE is a flat IP based technology, and it doesn't matter if your home (WiFi) connection is DSL, you're using Verizon's 4G LTE and that's where you're applying MTU. 1492 is used on home computers that are wired connected to a DSL modem.
Click to expand...
Click to collapse
I'll change it to 1500 then. Thanks.
btw I've been using stock since the launch date, and am seriously considering rooting for the first time after seeing this post. MTU can definitely help the throughput and I've been wondering for a long time if tweaks are possible on Android platform.
I know it's sounds noob (and when it comes to rooting I am) which leaked radios currently give the best data performance?
this is what I'm currently seeing on my Bolt: http://www.youtube.com/watch?v=RTwRm3QMqUs
I wonder if I can get closer to that 73.6mbps maximum theoretical throughput.
Thank you.
You must live underneath a cell tower. Lol. Highest ive seen on my phone is 25 down and 10 up.
Sent from my HTC ThunderBolt using Tapatalk
It's NYC lol. Every corner has some kind of pico cell and it's usually fed by preexistent fiber. NYC is loaded with dark fiber.
Still trying to figure out if I should just root and flash with that latest Gingerbread RUU or should I just keep it stock. I'm just trying to get the best possible data performance, don't really care too much about the features of the ROM.
milan03 said:
Guys you're forgetting your LTE service is not DSL. If you're changing MTU which by the way is "maximum transmission unit" and have been in existence way before Windows, use 1500. LTE is a flat IP based technology, and it doesn't matter if your home (WiFi) connection is DSL, you're using Verizon's 4G LTE and that's where you're applying MTU. 1492 is used on home computers that are wired connected to a DSL modem.
Click to expand...
Click to collapse
This is true for 3G/4G, but not when the phone is connected to Wi-Fi. A max MTU setting of 1492 is needed when connected to a Wi-Fi network that originates from DSL.
Hello,
Let me explain the situation.
Free is the name of a new provider in France.
He has antennas to cover 30% of the country, the other 70% are covered by an other provider (Orange).
Free has payed 1 billion to Orange to be allowed to use their antennas.
I'm a new customer on Free. To use fully the Free network, Free asks us to enable the roaming data. So when you're not covered by Free's antenna, you are switched on the Orange antenna (and roaming).
The sim operator is 20815 (Free)
The Orange operator is 20801
When I'm in roaming I seeing in the status bar a "R" and I can't know on which speed I am. E ? 3G? H ?
I want modify the behavior of the roaming to tell the system that network 20801 is not roaming, and is like the standard network 20815.
I know I should hack the base layer in Android to do that.
Cyanogen rom has an option "national roaming", but I want a more specific kind of roaming and I want be able to distribute it easily on lots of rom to help french user.
Do you have any advice or solution for me ?
Thanks
fake_home_on in spn-conf.xml seems to be a good solution.
But unfortunately, on ICS fake_home_on seems unsupported.
Any information about that ?
I would be interested in a solution too on ICS. There must be a configuration file somewhere...
Hello,
I'm on FreeMobile too. My Galaxy S (GT i9000) have also the same problem. Before putting the FreeMobile SIM into my phone, I was having 3 days of capacity, and now only 1 little day. I was on gingerbread 2.3.3 with speedMod Kernel (ext4 lag fix).
After a few searches, here is what I found :
The GSM 11.11 Specs defines how the Home Public Land Mobile Network (HPLMN) is searched & found, if the current Antenna is not an operator antenna : There is a search period defined into the SIM (not re-writable). (look at 10.2.5 in (1) )
If you look at the doc TS GSM 02.11 in 3GPP specs, the base calculation is 6 minutes, and in the FreeMobile SIM, the value for HPLMN search period is 5 (it's what Rani Assaf answers to me by email - freemobile technical director).
So the HPLMN search period is 30 minutes ( 5 x 6min ), which is the default value. The behavior of HPLMN search, and fallback on roaming mobile network is defined in GSM & 3GPP specs, and is implemented into radio. There is no way to control or hack this behavior (as far as I know).
This HPLMN search period value is not intensive, so it may only drop 5% of total capacity. (tests have to be done, but I believe it's not the main problem).
So there may be others problems...
So I looked at others options, and found on Android release notes that gingerbread 2.3.4 fixes a battery capacity problem.
So I flash my phone to the last official kernel XXJVT (2.3.6 Gingerbread) (2) which is not available on Kies (the most up-to-date on Kies is the 2.3.3) and the last SpeedModKernel (3).
Then I wipe all data from boot menu, I charged the battery at 100%, then and I reboot and wiped battery stats.
Since yesterday, I only used 13% of battery, for 8h50 on battery, without making calls. The last night, I loose about 50% of my battery in 6 / 7h...
So It seems that I found my normal battery behavior with this way.
If anything strange happens, I will report on this post.
Bests,
(1) : http://www.ttfn.net/techno/smartcards/gsm11-11.pdf
(2) : http://forum.xda-developers.com/showthread.php?t=1102881
(3) : http://forum.xda-developers.com/showthread.php?t=1044519
Answering to the roaming part
The 'R' in national roaming is related to a bug which has been fixed in recent versions of android.
See Android issue #3499 on code.google.com.
There has been a lot of reports of WiFi not performing as well with the current crop of ICS ROMs as compared to GB ROMs. There certainly is a difference in the reported signal strength between them; that is not debated. The question is if there is a performance difference between ICS ROMs and GB ROMs.
This thread discusses how WiFi works under Android, some opinions about what is "different" between GB and current ICS ROMs, and provides tools that allow one to perform tests about the actual performance of the WiFi of a specific configuration, as well as the reported RSSI.
Brief summary:
The important measure of WiFi performance is throughput.
The RSSI is the "Reported Signal Strength Indication" -- not a measurement of actual field strength. The RSSI is provided mainly as an indication of signal strength and is subject to "calibration" at several points; it does not measure performance. The link speed reported also does not measure performance; in fact, it has been shown that higher link speeds can result in lower throughput as the modulation and error correction schemes are different.
The throughput of WiFI connections have been tested comparing "stock" (with AntonX kernel) GB to an early stable build of AOKP. Testing was done under controlled conditions using strong and weak signals, from three APs; a WRT-54g with "rubber duckie" antennas in a cross-pol configuration, a WRT-54g with a cross-pol flat-panel gain antenna, and one WNDR3700 with its internal antenna. All APs were running OpenWRT and interconnected using GigE trunking through Netgear GS108T and Netgear GS724Tv2 switches. The power output of these were all controlled and adjusted from their maximum transmit power to the level at which the throughput dropped below 1 Mbps. At least five measurements were made for every configuration and power level.
No significant difference in throughput was seen between GB and ICS. In some cases, the ICS test performed slightly better than the GB test. Differences were less than 10%.
The RSSI from the supplicant appeared to be in dB; a 10 dB reduction in transmit power reduced the RSSI by approximately 10 on both GB and ICS configurations. However the reference point for them were very different; GB reporting positive numbers over 200 and ICS reporting negative numbers roughly in the -50 to -100 range.
As the throughput performance is comparable on both ROMs, it is believed that the "issues" being seen are related to the "calibration" of the RSSI. Lower levels than Android code expects have two primary impacts:
The UI represents the same actual signal strength with fewer bars
Android will not display or connect to certain APs as their RSSI is lower than its fixed threshold
In depth:
A basic understanding of how WiFi works in general, as well as in Linux is valuable.
The Broadcom BCM4329 data sheet has a block diagram that may be useful in understanding the chip's functions. I'll go through the recieve end of things, since that is where the "signal strength" information comes from. The transmit side is similar.
There is an antenna in the phone that converts radio-frequency (RF) electrical signals to radio waves and vice versa. This has a "gain" that relates the strength of the electrical signal and the strength of the radio wave.
Inside the chip, the RF signal is converted to a "baseband" signal using an analog-to-digital converted (ADC) and sent to an internal processor. The processor uses microcode to know how to demodulate the signal (extract the "bits" from the shape of the RF waves). Based on the numbers from the ADC, a number roughly representing "signal strength" is computed. For example, "32768" from the demodulated signal may mean "100" for signal strength. This reference point is picked by the chip manufacturer and might mean something in terms of physical signal strength (dbM, for example), when using the chip manufacturer's reference board. If you change the antenna, for example, it is no longer "calibrated" to anything. This demodulation process uses microcode that is downloaded into the chip on initialization by the driver. The chip also handles the low-level WiFi protocol; how to change channels, how to "associate" with a given access point (AP), how to scan available APs, how to do encryption, etc. This microcode is proprietary and generally supplied by the chip manufacturer.
There is a driver in the Linux kernel that is responsible for how to communicate with the chip and access its low-level functions in a "device independent" way. Think of it as someone that brings another person into the room with you, tells you who they are, then translates their Urdu to English and vice versa so you can have a conversation. This is open source in the kernel.
In most devices, from dedicated WiFi devices, through our phones and just about any computer running Linux, the next "person" in the chain is the "supplicant" -- It handles high-level commands and responses, including:
* Providing a list of available APs
* Connecting to a specific AP
* Managing lists of passwords for APs
* Providing the "Reported Signal Strength Indication" or RSSI
This is open source code in the Linux distribution
One thing to remember here is that RSSI is just that, reported and an indication of the signal strength. There is no guarantee what the numbers mean! By the time you get here, you've got an unknown antenna gain, a ADC-counts-to-strength conversion in the chip, and potentially another conversion in the driver.
Many phones and other devices have that factor in a "calibration file" that makes the output of the RSSI "look good" on the device's UI, or to other code in the device. This generally comes from the device manufacturer and it proprietary. In some cases, this has been reverse-engineered or supplied by the vendor. Other devices may have a /proc/calibration device, which can be used to send calibration information to the driver. This includes the bcm4329 driver in use by the "ICS" kernels:
Code:
config BCM4329_NVRAM_PATH
depends on BCM4329
string "NVRAM path"
default "/proc/calibration"
---help---
Path to the calibration file.
Code:
CONFIG_WLAN=y
CONFIG_BCM4329_PURE_ANDROID=y
CONFIG_BCM4329=m
CONFIG_BCM4329_FW_PATH="/system/vendor/firmware/fw_bcm4329.bin"
CONFIG_BCM4329_NVRAM_PATH="/system/vendor/firmware/nvram_net.txt"
That file contains some "magic incantations" including
Code:
# 11g rssi params
rssismf2g=0xa,0xa,0xa
rssismc2g=0xb,0xb,0xa
rssisav2g=0x3,0x3,0x3
From there, we go to the Android level. Java code communicates with the supplicant and gets lists of APs, their RSSI, and supplies passwords, when needed. With the information it has on RSSI, it converts it to "bars" using something equally arbitrary. You can look at the source in frameworks/base/wifi/java/android/net/wifi/
In WifiManager.java you can see how Android views WiFi and how it handles things. You can even see how to "fix" the issue at the Android level from this (the commented-out MIN_RSSI and MAX_RSSI are "stock" -- the numbers there are ones that are based on the throughput measurements I made).
Code:
/** Anything worse than or equal to this will show 0 bars. */
// private static final int MIN_RSSI = -100;
private static final int MIN_RSSI = -95;
/** Anything better than or equal to this will show the max bars. */
// private static final int MAX_RSSI = -55;
private static final int MAX_RSSI = -65;
Code:
/**
* Calculates the level of the signal. This should be used any time a signal
* is being shown.
*
* @param rssi The power of the signal measured in RSSI.
* @param numLevels The number of levels to consider in the calculated
* level.
* @return A level of the signal, given in the range of 0 to numLevels-1
* (both inclusive).
*/
public static int calculateSignalLevel(int rssi, int numLevels) {
if (rssi <= MIN_RSSI) {
return 0;
} else if (rssi >= MAX_RSSI) {
return numLevels - 1;
} else {
float inputRange = (MAX_RSSI - MIN_RSSI);
float outputRange = (numLevels - 1);
return (int)((float)(rssi - MIN_RSSI) * outputRange / inputRange);
}
}
If you're not Java-saavy, what is basically happening there is that Android says there are numLevel "bars" and they lie evenly between the MIN_RSSI and MAX_RSSI values. Other code reveals that anything below MIN_RSSI isn't shown to the user and isn't a candidate for a connection.
So, where does this leave us?
Changing your ROM shouldn't change the antenna on the device. So that's out.
The microcode is supplied by Broadcom and they'd have sales problems if it was bad, so I'll rule that one out too.
There is the possibility that the calibration in the driver has changed. Given the way that the display of the RSSI was bouncing around when those GB leaks were coming out, this seems like a strong possibility. (If anyone has those leaks still available, please let me know. I'd like to look at them and most were hosted on now-FBI-ified websites).
There are proprietary drivers from Broadcom, as well as three open-source versions in the Linux distribution. These include microcode. "We" are using one of the open-source ones. If it were "bad" then the SGS4G wouldn't be the only thing out there with an issue. I doubt this is the problem. The same goes for the supplicant; it is too widely used to have a significant issue.
So, this basically leaves "calibration" of the numbers reported by the chip to numbers that work well with Android.
How to test it yourself:
First, realize that anything, metal, plastic, wood, a glass of water, your mouse, your body, even your hand, within about two feet of your phone or the AP can dramatically change how it receives and sends the 2.4 GHz radio waves. Differences in position of about a centimeter are significant compared to the ~12.5 cm wavelength. For my test, I had a corner of my desk with a ridge so I could very accurately place the phone into the exact same place. I also taped down my USB cable (for adb), so it would be in the same place each time.
I ran two kinds of tests. The first is using netperf, which measures the throughput of the connection. This is really what matters -- not what some number of bars say, but how fast can I reliably send data over the link. I used TCP so that the impact of packet loss was included. You'll need a machine that can run netperf, as well as a binary for your phone. I've attached a binary built from source using the AOSP build tools. You can also use the Android NDK.
The second is to look at the average RSSI reported by the supplicant. The attached Perl script assumes that have adb running, then polls the supplicant every second for the BSSID (AP name) you specify in the code. It provides the read RSSI, as well as exponential averages over 10, 100, and 1000 samples.
I'm having trouble using Wifi tether. When ever I try to connect I get an error that says "WTF!! Your phone is automatically shutting off the connection" lol it was pretty funny first time I saw it. The wifi tether signal still shows up on the devices I connect to but they don't register it. Is there any work around or fix? I used the roms codename and beam for this btw.
Sent from my SGH-T959V using xda app-developers app
Very informative post like usual, thanks jeff.
Although the wifi signal is the same as gingerbread, it seems to disconnect in places where gingerbread wouldn't. For example, in my room I have no wifi signal bars in ics (it still shows the wifi icon though) and it tends to disconnect every now and then (this only happens when the signal isn't good. On gingerbread it always stays at 1 or 2 bars and never disconnects.
Is it possible to keep the wifi from disconnecting?
Sent from my SGH-T959V using xda app-developers app
pisherthefisher said:
[The WiFi] seems to disconnect in places where gingerbread wouldn't. For example, in my room I have no wifi signal bars in ics (it still shows the wifi icon though) and it tends to disconnect every now and then (this only happens when the signal isn't good. On gingerbread it always stays at 1 or 2 bars and never disconnects.
Is it possible to keep the wifi from disconnecting?
Click to expand...
Click to collapse
You should be able to "hack in 10 more" -- I haven't taken the time yet to determine if the kernel/driver is the best place to do it, or if it is in calculateSignalLevel() as shown above, or somewhere else.
For me, I find that if the signal level is that low, I have better throughput with T-Mobile, at least here in the San Francisco Bay Area. I realize others have different needs than I do and I'll be looking at it again with the "Aries" kernel for the SGS4G.
jeffsf said:
There has been a lot of reports of WiFi not performing as well with the current crop of ICS ROMs as compared to GB ROMs. There certainly is a difference in the reported signal strength between them; that is not debated. The question is if there is a performance difference between ICS ROMs and GB ROMs.
Click to expand...
Click to collapse
Thanks for this thread.
been having trouble with wifi after updating to 12
this is my second device, first device was on android 11 worked great, wifi hadd to return it because the sim tray broke while under warranty as i tried to insert sim card,
have had 2nd device for about 6 months now and updated software right away , thats when i noticed changes on my wifi . from low signal to wifi disconnecting and displaying a messege that reads,,,, connect when signal is stronger or not connected
any help is apprecited
anyone?
I'm not sure if it is any different since the update but this phone has given me problems for over a year with wifi and devices. I even made a forum post regarding the components/hardware of this phone and it being cheap. People told me "it was the same" as many other phones and it was fine.
I connect to a 360 camera (the camera is the WAP) for work and this phone always has problems with range. My older phone, a Moto Z2 worked just fine. I have came to the conclusion that the 2.4ghz band on this phone sucks. It has no range or weak signal. My internet is 330mbps but if I am standing 5 feet from my router doing a speed test, it is 60mbps with this phone. Phone is also slow, no faster than my much older Moto Z2 I got in 2018. I can't wait to replace it soon.
ospfrat said:
connect when signal is stronger or not connected
Click to expand...
Click to collapse
Given Occam's Razor, my first suggestion is for you to determine if the signal is, indeed, needing to be stronger or not connected... and whether or not there is strong interference nearby.
Those are the first things ANYONE would do, so they're not specific to your problem other than you NEED to do them first, just as anyone would need to do them first - before blaming the phone.
To run that first basic test, the first suggestion always is for you to run a local Wi-Fi survey using any Wi-Fi Analyzer to assess the received signal strength.
For example...
Cellular-Z by JerseyHo
Free, ad free, gsf free, rated 4.0/1.82K reviews @ 100K Downloads
<https://play.google.com/store/apps/details?id=make.more.r2d2.cellular_z>
... and, maybe even set up a snitch in the USB Debugging options (either method will tell you the received signal strength).
Android 12 Settings > Developer options > Networking >
Enable Wi-Fi Verbose Logging = on
In my case, that verbose logging says, for each SSID I'm connected to, something like the following (reading from my phone just now):
mySSID_nomap
Connected
Autoreconnect turned off
f = 2432 DE:AD:BE:EF:CA:FE
standard = 4 rssi = -33 score = 60 tx=2.0
If you put two similar phones side by side, the interference and signal strength readings should be the same, and if they're not, that would be a useful clue in the direction that you seek answers for.