saintbyte / openbmap

Automatically exported from code.google.com/p/openbmap
Other
1 stars 1 forks source link

LTE cells are not logged #77

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Make sure you are on LTE.
2. Start logging, and watch the display.
3. Move out of the LTE coverage area so that your device falls back to 3G.

What is the expected output? What do you see instead?
I would expect all cells, including LTE, to be logged. Instead no LTE cells are 
logged – as long as I don't leave the LTE coverage area, no serving cell is 
displayed in the overview and the total number of cells displays a dash. When 
the phone falls back to 3G, I see the serving cell in the overview and the 
number of logged cells goes to 1.

What version of the product are you using? On what operating system?
0.8.4, downloaded from F-Droid. Device is a OnePlus One running Cyanogenmod 11 
M11.

Please provide any additional information below.
I have compared this with some old logs created with 0.7.9 (same phone and same 
OS release), and they do have LTE cells in them. So this might be a bug 
introduced somewhere between 0.7.9 and 0.8.4.

SatStat displays the serving LTE cell, so maybe it has to do with the way 
Radiobeacon queries cell data. Admittedly, this may be a hard one to track 
down. If I find the time, I'll try to do some research myself.

As for SatStat, I subscribe to cell updates by calling 
mTelephonyManager.listen(mPhoneStateListener, (LISTEN_CELL_INFO | 
LISTEN_CELL_LOCATION | LISTEN_DATA_CONNECTION_STATE | LISTEN_SIGNAL_STRENGTHS));

mPhoneStateListener implements the following methods:
onCellInfoChanged()
onCellLocationChanged()
onDataConnectionStateChanged() – not necessary to track cell changes, I use 
it to determine the network type
onSignalStrengthsChanged()

The onSignalStrengthsChanged() and onCellLocationChanged() methods manually 
trigger a scan for neighboring cells by calling 
TelephonyManager.getNeighboringCellInfo() whenever they fire.

Additionally, I call
TelephonyManager.getNetworkOperator()
TelephonyManager.getAllCellInfo()
TelephonyManager.getCellLocation()
TelephonyManager.getNeighboringCellInfo()

when the activity is created (so that I don't have to wait for the serving cell 
to change before I see anything).

Original issue reported on code.google.com by mich...@vonglasow.com on 21 Apr 2015 at 8:30

GoogleCodeExporter commented 9 years ago
Additional info: when I'm on LTE, the signal strength graph never changes. 
Seems Radiobeacon isn't getting (or processing) any notifications at all while 
on LTE.

Original comment by mich...@vonglasow.com on 24 Apr 2015 at 2:12

GoogleCodeExporter commented 9 years ago
Hey Michael,

thanks for reporting.. The website update bound a lot of resources in the last 
couple of days, so I didn't make any progress on LTE tracking yet. LTE support 
should definitely make it into the next release..

Original comment by wish7code on 26 Apr 2015 at 4:53

GoogleCodeExporter commented 9 years ago
Hi Toby,

I see that you've done a lot on the website recently :-) what surprises me is 
that LTE tracking seems to have worked earlier. It doesn't look like the 
feature isn't implemented but more like one of the recent updates broke that 
feature.

Original comment by mich...@vonglasow.com on 26 Apr 2015 at 4:58

GoogleCodeExporter commented 9 years ago
Simple fix for this. Looks like the LTE code in 
WirelessLoggerService.processCellInfo got indented one too many times and is 
inside the wrong block. Patch is attached.

Original comment by ybe.rehp...@gmail.com on 10 Jun 2015 at 1:54

Attachments:

GoogleCodeExporter commented 9 years ago
This is great!

The issue made me mad: As Michael reported initally, his phone did'nt record 
LTE cells at all, nevertheless I could see LTE cells arriving on the server 
from other users. I even went down to analyse uploaded cell files in detail: I 
found LTE uploads from other users using exactly the same hardware as Michael.

Now in review, the explanation, why some devices logged LTE cells, others 
didn't seems obvious: we have two code paths at this point: phones with Android 
> 18 (JELLY_BEAN_MR2) used the defunct code path, while devices with Android <= 
17 used a good path.

Thanks a lot!

Original comment by wish7code on 10 Jun 2015 at 7:29

GoogleCodeExporter commented 9 years ago
Tried out 0.8.8 and indeed LTE logging seems to work again.

Original comment by mich...@vonglasow.com on 17 Jun 2015 at 6:55

GoogleCodeExporter commented 9 years ago

Original comment by wish7code on 17 Jun 2015 at 7:12

GoogleCodeExporter commented 9 years ago
This issue was closed by revision 49fa03e7be40.

Original comment by wish7code on 17 Jun 2015 at 7:37