There is a logical and reasonable explanation. These companies are run by a bunch of sociopathic, unethical people who won't hesitate to lie and cheat if it gets them more money. It's as simple as that.
Signal strength is like the loudness of music being heard. It's possible for music to be quiet but otherwise excellent, or loud but low-quality. However, if it is too quiet, then the "music" becomes almost unintelligible, which the offseted bars should still be able to indicate.
In Wi-Fi, 6GHz and 5GHz are often used instead of 2.4GHz. 2.4GHz would likely win in signal strength. Yet, the others are used anyway, because the others are good for other reasons. However, if range ( ...or compatibility) is critical, then 2.4GHz is used.
Similarly, in cellular, there is a lower frequency e.g. band 8/12/14/17/20/28/71 and a higher frequency e.g. band 1/3/7/30/38/40/41/66/77/78. (Less basically, it can be more granular.)
So this sequence of events is possible: Tower switches the phone to a higher frequency -> speed increases but the signal strength reduces (confusing, but at least doesn't seem bad if there are 3 or 4 bars.) A switch to a lower frequency normally occurs instead if the high frequency signal is weak.
Cellular can be slow due to interference (maybe more common than signal strength issues; the metric to use instead might be SNR/SINR), congestion (maybe more common than signal strength issues; the metric to use instead is confusing, maybe the CFI value (if automatically changed) or RSRQ with a high SNR/SINR might rule it out), the speed of the rest of the network (the metric to use might be RSRQ during a download with a high SNR/SINR), data plan (the metric to use instead might be RSRQ during a download with a high SNR or SINR/QCI (requires interpretation)), and the width of it (the metric to use is BW). So it's confusing, and not exactly that full bars are always better.
For 2G, with each nearby cell (coverage area) basically getting its own channels, signal strength might've been more important, though interference was there somewhat (so there was MAIO planning etc.)
But aside from speed, there's the battery to consider. If the signal strength from the tower to the phone is "satisfactory", it's implied that so is the signal from the phone to the tower, so the phone will have to have an elevated transmit power.
Like what Apple does with stopwatch.
https://lukashermann.dev/writing/why-the-iphone-timer-displa...
The countdown in question doesn't display fractions of a second so it would immediately switch from "5 seconds left" to "4 seconds left" which just doesn't feel right. Adding 0.5s solved the issue.
This signal strength is straight up lying about the actual signal strength
$ git log --oneline -SKEY_INFLATE_SIGNAL_STRENGTH_BOOL | tail
gets us the commit [0] from 2020 where config_inflateSignalStrength was renamed to KEY_INFLATE_SIGNAL_STRENGTH_BOOL $ git log --oneline -Sconfig_inflateSignalStrength | tail
gets us this commit [1] from 2017 where it was originally added: 43c14d198479 Add config to artificially inflate number of bars
[0]: https://android.googlesource.com/platform//frameworks/base/+...[1]: https://android.googlesource.com/platform//frameworks/base/+...
private int getNumLevels() {
if (mConfig.inflateSignalStrengths) {
return SignalStrength.NUM_SIGNAL_STRENGTH_BINS + 1;
}
return SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
}
...
} else if (mCurrentState.connected) {
int level = mCurrentState.level;
if (mConfig.inflateSignalStrengths) {
level++;
}
return SignalDrawable.getState(level, getNumLevels(),
mCurrentState.inetCondition == 0);
If the flag is true, bump up BOTH the reported level as well as the total number of bins.If the flag is false, use reported level and default number of bins.
Since both numerator and denominator are bumped up, is it really malicious?
Based on this commit at least, personally, I feel such logic could be due to a decision to shift from levels starting from 0 to levels starting from 1 at the UI level.
Or perhaps to make levels consistent between different operators, some of whom were using 0-based while others used 1-based.
I haven't gone through later commits or latest versions. So my opinion's limited just to this original 2017 change.
Hm - what is the word 'INFLATE' doing there?
I would like to believe your opinion but that word INFLATE makes it hard ...
If it is a UI correction, then surely it would have had a different name: ENSURE_SIGNAL_IS_ONE_BASED ... ;)
(but I still would love to know how does one hide from git blame)
(file renaming?)
Wayback machine link: https://web.archive.org/web/20251103013626/https://nickvsnet...
That's not something I was expecting to hear
But then of course if you can push a customer one way or the other it will be to the higher margin product.
if we cared about signal strength, we'd make it part of the telecommunications regulated sphere: you must back your meter with a path which shows signal strength accurate to xDB in some yUnits of zQuality measured at one of A,B conforming labs
Is the commit that added it.
Here kitty kitty ...
The signal strength measurement is actually standardised: https://en.wikipedia.org/wiki/Mobile_phone_signal#ASU
Unfortunately I don't think it's that simple. I've seen one phone simultaneously show significantly different numbers of bars for two SIMs installed in it for the same exact network and operator. After a while they become similar... then differ again... etc.
I have no clue how to explain it yet, but what I do know is that it literally makes no sense with a naive model of how these work, whether you try to explain it as reception or deception.
Android is quiet lazy searching for towers.
This suggests that the issue is not related to Android.
No idea why, especially since I'm the one who installs ad blockers and such. Her phone is essentially stock.
Some generations, different Apple models have pretty different radios. Is there a difference in bands or ?
You're making huge and incorrect assumptions here, no? This also happens when your phone is entirely idle... and it randomly changes if you sit still for some time...
After selecting, each SIM slot is subject to inter freq / inter RAT reselection / handover.
Both are controlled by messages received from the tower (e.g. on 4GLTE, for reselection, System Information messages), though there is an additional constraint: what's supported by/enabled in the phone.
Perhaps one SIM slot was in the connected state and the other was in the idle state at one point. So the reselection logic applied for one and the handover logic applied for the other. There is for example a problem called ping pong handover. Once a phone is switched to a different frequency or RAT, the tower may have the phone be sort of stuck in the new frequency, until the conditions of the previous RAT or frequency improve substantially, in order to prevent the phone being like a ping pong ball between the two. This frees resources that would otherwise be spent on repeated handover-related messages.
Each frequency has its own signal strength (free space path loss, transmit power, one frequency might be on one tower and another might be on another, etc).
I’ve been in bad tower areas where the solution is to drive to the next town or tower along the highway.
I remember the PM working on this feature showing us their research on how iPhones rendered bars across different versions.
They had different spectrum ranges, one for each of maybe the last 3 iPhone versions at the time. And overlayed were lines that indicated the "breakpoints" where iPhones would show more bars.
And you could clearly see that on every release, iPhones were shifting the all the breakpoints more and more into the left, rendering more bars with less signal strength.
We tried to implement something that matched the most recent iPhone version.
So, game-theoretic evil?
One thing explaining this might be that advancements in antenna design, RF component selection including the actual circuit board and especially (digital) signal processing allow a baseband to get an useful signal out of signal strengths that would have been just noise for older technology.
In ham radio in particular, the progress is amazing. You can do FT8 worldwide (!) communication on less than 5 watts of power, that's absolutely insane.
It's probably a reasonable pitch to say that phones should instead display something closer to "meaningful available bandwidth" crossed with strength, because a strong signal doesn't mean a good connection.
$ grep -r show_4g_for_3g_data_icon_bool assets/
assets/carrier_config_carrierid_1187_AT&T.xml: <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
assets/carrier_config_carrierid_2119_FirstNet.xml: <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
assets/carrier_config_carrierid_1779_Cricket-Wireless.xml: <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
Android documents[0] this flag, which they don't appear to do for the `inflate_signal_strength_bool` field outside the source code from what I can tell. It seems like there a bunch of odd flags for controlling user-exposed visuals - another flag `show_4g_for_lte_data_icon_bool` is used by 96 carriers, for example.I wonder if there's some odd telecom history behind these, or if these flags were intended for some kind of edge-case. It seems like carriers have the option to arbitrarily override the thresholds used for determining signal strength[1], but only four carriers actually do. All only elect to customize the `lte_rsrp_thresholds_int_array` field; and all opt to make things harder for themselves, reporting their network connection as lower strength than the default classification[2] would:
$ grep -r _thresholds_int_array assets/ -A5
assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml: <int-array name="lte_rsrp_thresholds_int_array" num="4">
assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml- <item value="-115"/>
assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml- <item value="-105"/>
assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml- <item value="-95"/>
assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml- <item value="-85"/>
assets/carrier_config_carrierid_2556_Xfinity_Mobile.xml- </int-array>
--
assets/carrier_config_carrierid_1345_Telstra.xml: <int-array name="lte_rsrp_thresholds_int_array" num="4">
assets/carrier_config_carrierid_1345_Telstra.xml- <item value="-120"/>
assets/carrier_config_carrierid_1345_Telstra.xml- <item value="-115"/>
assets/carrier_config_carrierid_1345_Telstra.xml- <item value="-100"/>
assets/carrier_config_carrierid_1345_Telstra.xml- <item value="-90"/>
assets/carrier_config_carrierid_1345_Telstra.xml- </int-array>
--
assets/carrier_config_carrierid_1839_Verizon-Wireless.xml: # omitted, same as Xfinity, above
...
--
assets/carrier_config_carrierid_2032_Xfinity-Mobile.xml: # omitted, same as Xfinity, above
...
[0]: https://developer.android.com/reference/android/telephony/Ca...[1]: https://source.android.com/docs/core/connect/signal-strength...
[2]: https://android.googlesource.com/platform/frameworks/base/+/...
sDefaults.putIntArray(KEY_LTE_RSRP_THRESHOLDS_INT_ARRAY,
// Boundaries: [-140 dBm, -44 dBm]
new int[] {
-128, /* SIGNAL_STRENGTH_POOR */
-118, /* SIGNAL_STRENGTH_MODERATE */
-108, /* SIGNAL_STRENGTH_GOOD */
-98, /* SIGNAL_STRENGTH_GREAT */
});https://www.theverge.com/2011/05/04/536673/att-t-mobile-dipp...
AT&T has a history of lying about what its network is. They were advertising HSPA+ as 4G and then recently started advertising LTE as "5G E". I can't find a lot of articles about the 4G branding one since the 5G one started.
> show_4g_for_lte_data_icon_bool
Realistically I think this is just a choice that many carriers made. It's quite common to see 4G instead of LTE outside of the US. Technically speaking I think WiMAX counted as 4G when there were competing 4G standards and you could make an argument that LTE is just one of the 4G standards.
(Probably a way to do it on Android, too)
A CSR showed me this while debugging network connectivity issues with my phone.
And this is on non-provider phone, this is built in in the whatever communication they do with the phone, possibly works with every device.
Man, I love my HSPA+ “4G”!
It’s showing full or near full bars even in places I can’t load light sites like hn properly.
Psychology tricks like these only work if you don’t overdo it
Not even phone calls would go through, let alone calls on Whatsapp et al, or loading websites using something heavier than just text.
Have raised a _formal_ complaint (they must report it to Ofcom), and after that it was just a matter of ensuring I lost enough phone calls to demonstrate how many ended up in my answering machine.
The fact that Wifi calling is also super buggy and almost never work, played also a big role.
My problem is, all other mobile providers in my area are even worse, showing LTE or 4G. So I just need to wait for them to strengthen signal, or move!
"Tests carried out by research group PolicyTracker, and shared with BBC's Morning Live, found that nearly 40% of the time a phone displays the 5G symbol, it is actually using a 4G connection"
Interestingly that company built a bridge of sorts allowing providers to get more life out of their older hard and software, converting e.g. 5G signals to 4G and 4G to 3G (where a signal is for example a phone phoning home telling the provider they used a megabyte of data, or looking up the IP address when calling a phone number)
Also where 2/3/4G network signals were all their own protocols (RADIUS and DIAMETER), 5G is just HTTP. And where for the 3G/4G stuff they had to write their own code to handle the protocols, for the 5G stuff they just used the cURL library. That is, cURL powers 5G networks.
Until about March this year, it was excellent and I used it as my home broadband. 60MB/s down, 20MB/s up on a good day. Much better than any ADSL I'm able to get.
Since March, from about 10:30am until 5pm some days, and late evening other days, there is no working data, and occasionally no working voice, despite the 5 bars.
It's working fine until then, and then it just stops completely, fading over the course of maybe 10 minutes. This happens all 7 days of the week.
The working theory is congestion at the base station. That's consistent with the occasional 6 minute ping times that I've measured, and more usual 20-30 second ping times, when anything gets through at all.
Still shows 5 bars. Three's coverage map says it's good here. Just can't use it.
metadat•7h ago
Human brains: wow, what a bunch of suckers. Damn.
By the way, is it legal to be deceptive in this way?
eqvinox•7h ago
I do.
I'm from Germany, land of perpetual EDGEing. Highest total GDP in the EU but can't build a mobile network for the life of it.
Then again we somehow forgot how to run trains and build cars without cheating, so I guess it fits.
Want to see a single bar? Come visit, our carriers aren't on the list with that inflate flag enabled. I guess they didn't get the same memo as the car manufacturers ;D
samplatt•5h ago
_carbyau_•5h ago
The few farmers I know have a rough idea of the on-the-ground cell coverage. They say things like "this side of the hill/town" usually. I've seen them deliberately walk to the other side of a silo to make a call.
I assume that the coverage maps are assumed cell-tower-coverage-if-shit-is-not-in-the-way. No surprise radios are common.
bitwize•5h ago
robot-wrangler•4h ago
Tangent but this is a pretty interesting topic. I've heard people speculate that local politics deliberately prevents such infrastructure, waiting for some kind of kickbacks to make it worth their while. Others suggest that it happens because federal telecom subsidies aimed at improving rural connectivity don't apply, as a kind of retaliation for tribal sovereignty. Way off-grid, ok, maybe it's simply not worth it to corporate telecom, but whatever the cause coverage even in fairly populated areas around Kayenta/Monument Valley is also quite bad in a way that would be infrequent in comparable communities in say, nowhere Appalachia.
Many a suburban parent of smart-phone addicted children would romanticize the whole thing and actually be kind of jealous of a situation like that. Years back and on the other side of the world, tourists were very scandalized about more roads and towers around Annapurna in Nepal.. but of course the locals usually do not actually like to be cut off from the world.
More telecom is probably good despite the evils, but fuck commercial billboards in particular. Those are still creeping closer to the Grand Canyons and Yosemites, and they suck whether it's for multinationals like McDonalds, or for locally owned gas stations or hotels that put cash into tribal communities. Ban them all like Hawaii, and everyone will be astonished to learn that the world keeps turning..
lifestyleguru•5h ago
eru•4h ago
GDP per capita (or GDP per square metre) would be a more useful indication here. Otherwise, you could throw a bunch of poor countries together--just for purposes of statistics, and expect a better mobile network?
dmurray•3h ago
Even with the EU single market, mobile phone operations almost always follow country borders. You'll get a different set of providers in Germany than you'll get one km away on the other side of the Rhine in France. Even though some of them may have the same name or the same ultimate owner or both, and even though you can roam on the other side of the border, you'll have a contract with a different entity, and different people will build and maintain the networking equipment.
Conversely, in the US, the major carriers all have nationwide coverage.
wongarsu•1h ago
However Germany is still very high in both GDP per capita and GDP per land area. Roughly on par with the UK, and far higher than France which has a much better mobile network
1: https://ssz.fr/gdp/
eru•19m ago
Well, it would be the best metric, if your country was homogeneously populated.
If everyone lives in one big city and there's literally no one in the rest of the country, then I expect mobile reception (and every other service) to be pretty good for everyone, because they all stay in the big city.
> However Germany is still very high in both GDP per capita and GDP per land area. Roughly on par with the UK, and far higher than France which has a much better mobile network
Yes, France, Germany and UK are all equal enough in these measures (well within an order of magnitude) that the much bigger difference in mobile networks is most likely due to some other factors.
JoshTriplett•4h ago
> Then again we somehow forgot how to run trains
The mobile networks don't have enough dB and the trains have too much DB?
lifestyleguru•4h ago
fransje26•10m ago
microtonal•4h ago
https://en.wikipedia.org/wiki/Afsluitdijk
Yet, when we visit family in Germany, five minutes after crossing the border we are in a cellular dead zone.
kmm•54m ago
Perhaps the route being so busy is the cause of the connectivity issues, but it's still baffling to me how bad it is, given that the amount of mobile devices trying to connect must be very predictable.
Cthulhu_•31m ago
I'm pretty sure the in-train internet also relies on mobile networks, so that's unreliable too. Plus any bandwidth is taken up by people scrolling through tiktok.
MangoToupe•7h ago
tiznow•6h ago
ssl-3•6h ago
I work with cellular BDA-DAS[1] gear sometimes, and I don't recall the last time I looked at the signal strength display on my phone. It has probably been years.
For me: It either works, or it doesn't work. It is either fast-enough, or impossibly-slow. It's very binary, and the bar graph at the top never told me a damned thing about what I should expect.
[1]: Bi-Directional Amplifier, Distributed Antenna System. In theory, such constructs can make indoor cellular coverage quite good inside of buildings that previously had none. In reality it can be... complicated. And while the bar graph doesn't mean anything, I still need ways to see what's happening as I spend hours, days, or [sometimes!] weeks surveying and troubleshoot and stuff. The phone can report things like RSRP, RSRQ, and some other tasty bits instead of just a useless graph -- and from there, I can sometimes make a hand-waving guess as to what I may reasonably expect for performance.
But that stuff is normally pretty well hidden from view.
Affric•5h ago
wtallis•5h ago
A few months ago, I was in a remote area at anchor on a sailboat, about 6.5 miles from the nearest highway through the swamp, with only a few farms and a handful of houses within that radius. With my phone up in the cockpit of the boat and tethered over WiFi to my laptop, I was able to download a movie. As the boat swung on anchor, the download was occasionally interrupted, but when data was flowing it was consistently 5-10 MB/s over a claimed 5G link; the movie downloaded in much less time than its runtime. I assume I wasn't competing with much other traffic on that tower, wherever it was. So my experience was even more binary than yours.
The phone's signal indicator did seem to accurately indicate when it had no usable signal at all, but beyond that I'm not sure it was providing any useful information. And I'm not sure if it could have told me anything of use other than "connected" or "not connected". The very marginal connection was still faster than I had any right to expect for those conditions.
vachina•4h ago
3eb7988a1663•5h ago
jmspring•5h ago
tzs•4h ago
The net is telling me this is because of the aisle after aisle of tall metal shelving and the building itself also has a lot of metal in the construction.
It is quite annoying when you are trying to use the Home Depot app to look up something.
dawnerd•3h ago
pants2•2h ago
Yizahi•52m ago
Wifi-calling to the rescue :)