Jump to content
lordsutch

Cheesy ESMR/LTE base station tracker

Recommended Posts

An additional request, store the data time in an excel compatible format, typically decimal. For example the date and time of this request is approximately:

42897.38

 

This could be in another column if needed. Currently I pull apart the string and reformulate it.

 

Thanks again!

I'm guessing Unix epoch would be most appropriate? System.currentTimeMillis() https://developer.android.com/reference/java/lang/System.html#currentTimeMillis()

 

Sent from my Pixel XL using Tapatalk

Share this post


Link to post
Share on other sites

The EARFCN is recorded if the radio reports it, but none of the phones I have report anything other than the signal strength and PCI for neighbor cells (registered=0 in cellinfolte.csv).

 

The other suggestions are good ideas; I'll plan on tackling them soon.

Share this post


Link to post
Share on other sites

The EARFCN is recorded if the radio reports it, but none of the phones I have report anything other than the signal strength and PCI for neighbor cells (registered=0 in cellinfolte.csv).

 

EARFCN is starting to be reported for neighbor cells in recent Android 7 updates.. beta testing it in SCP now.

 

-Mike

Share this post


Link to post
Share on other sites

Neighbor earfcn is there. My bad.  I spotted it last night and was planning to correct my post.  I was either totally wrong on this or a recent system firmware update fixed it.

 

LTE Discovery placed the date in one column and the time in another which you could just add together in a spreadsheet.

Share this post


Link to post
Share on other sites

This app force close immediately on the Kyocera Hydro Icon. Running Android 4.4.2 with FreedomPop. I suspect FreedomPop may be the problem. It shows Provider as 310120 but as Chameleon rather than Sprint. Sensorly doesn't work on it either, but Cell Mapper and SCP work fine.

 

Sent from my Pixel XL using Tapatalk

Share this post


Link to post
Share on other sites

This app force close immediately on the Kyocera Hydro Icon. Running Android 4.4.2 with FreedomPop. I suspect FreedomPop may be the problem. It shows Provider as 310120 but as Chameleon rather than Sprint. Sensorly doesn't work on it either, but Cell Mapper and SCP work fine.

 

Strange - obviously it shouldn't do that. It should be compatible back to Android 4.2 (API 17), but I suppose it's possible I screwed something up and broke backwards compatibility. I'll see if it at least runs in the 4.4 emulator and will try to remember where my Nexus 4 and Nexus 5 are hiding to see if it will work on them.

 

In other news, there's an app update now available at the usual place. The logs now include the mcc and mnc in ltecells.csv; both ltecells.csv and cellinfolte.csv also now log the milliseconds since the Unix epoch (midnight January 1, 1970 UTC),* along with a flag for FDD or TDD (1=FDD) based on the band determination/guess and an estimate of the tower distance in meters (m) if the timing advance is available.

 

There's also code internally to adjust the tower distance estimate for TDD sites (i.e. bands 33-48, including band 41 for Sprint), so now the displayed distance and location estimating circle thingy are corrected. I also fixed a typo (299.7/2 is 149.85, not 159.85) that affected the distance estimates that were being displayed before.

 

Have fun spotting towers...

 

* See https://stackoverflow.com/questions/2666112/convert-milliseconds-to-date-in-excel/2666177.

  • Like 1

Share this post


Link to post
Share on other sites

Strange - obviously it shouldn't do that. It should be compatible back to Android 4.2 (API 17), but I suppose it's possible I screwed something up and broke backwards compatibility. I'll see if it at least runs in the 4.4 emulator and will try to remember where my Nexus 4 and Nexus 5 are hiding to see if it will work on them.

 

 

Latest does work on Android 5.0.2 (rooted) with freedompop, although I had to delete the data folder else it never made it displaying the map.  I do get the earfcn.

  • Like 1

Share this post


Link to post
Share on other sites

Latest does work on Android 5.0.2 (rooted) with freedompop, although I had to delete the data folder else it never made it displaying the map.  I do get the earfcn.

 

Sounds like it may have a permissions issue on older Android platforms. I'll take a look and see.

 

If you downloaded it yesterday you may want to update - I fixed a bug in the timing advance display code that led to a force close if you have it set to display the tower round-trip time instead of the distance. I also made it reduce the amount of log spam it produces - it will now only update the log when there's a change in the signal information, and not on every location event, which should cut the storage and power usage substantially.

Share this post


Link to post
Share on other sites

... I also made it reduce the amount of log spam it produces - it will now only update the log when there's a change in the signal information, and not on every location event, which should cut the storage and power usage substantially.

 

I am concerned that this will reduce the apps main feature, it's ability to track.  I don't mind one (preferably the best signal or average signal) per location, but I do like to have all locations.

Share this post


Link to post
Share on other sites

To save space I would rather be able to choose which logs are made. Some grow large but not all.

 

ltecells.cvs don't get too big. I have about 850,000+ rows thrown into a fusion table.

Share this post


Link to post
Share on other sites

Can you post a link to the current version? Or maybe add it to the first post?

 

Sent from my Pixel XL using Tapatalk

Share this post


Link to post
Share on other sites

Can you post a link to the current version? Or maybe add it to the first post?

 

The OP link is wrong, but the correct one is in a later post: https://www.dropbox.com/s/hucdx5lu36zp45c/Signal-Strength-Detector-debug.apk?dl=0

 

Also, heads up @lordsutch -- BSL latitude and longitude are flipped in Oreo.. see here: https://issuetracker.google.com/issues/63130155

 

-Mike

  • Like 1

Share this post


Link to post
Share on other sites

Saw your code for mini macros it should work. Thank you I love to use provider for google fusion filters.

 

This also may work for small cells.

 

if(gci  > (gci & 0x00090000) && sector == 0x01 && gci < 0x0FE000000) {
// tower gci greater than 900 and sector is 01 
//but not in shentel. Shentel uses that for B25 SC
               

 return 41;
}

  • Like 1

Share this post


Link to post
Share on other sites

I am concerned that this will reduce the apps main feature, it's ability to track.  I don't mind one (preferably the best signal or average signal) per location, but I do like to have all locations.

 

Hmm. Ok, I think I've figured out a way to reduce some of the redundant logging while still logging every time the reported location moves (although the signal information is going to be stale until the radio sends new information to the framework anyway).

 

 

Also, heads up @lordsutch -- BSL latitude and longitude are flipped in Oreo.. see here: https://issuetracker.google.com/issues/63130155

 

Great... and now worked around.

 

Saw your code for mini macros it should work. Thank you I love to use provider for google fusion filters.

 

This also may work for small cells.

 

if(gci  > (gci & 0x00090000) && sector == 0x01 && gci < 0x0FE000000) {
// tower gci greater than 900 and sector is 01 
//but not in shentel. Shentel uses that for B25 SC
               

 return 41;
}

I'm confused as to what this test is trying to do. gci > (gci & 0x00090000) is always going to be false, isn't it?

Share this post


Link to post
Share on other sites

Sorry I was trying to do it in one line to fit your style and forgot the 0xFFF00. Small cells have been b25 gci greater than 900 with a sector of 01. But not in Shentel market cause their wierd.

 

I was tring to filter the site part of gci. (Gci & 0xFFF00) than do a greater than 0x90000. Anding that with the sector part of 01. Then through on a Shentel filter at the end.

 

Edit: & is bit by bit and used to filter things out and output a number. Not really true/false. https://www.w3schools.com/js/js_bitwise.asp

Share this post


Link to post
Share on other sites

Ok, I think I've figured out what you're getting at:

 

 

if( (gci & 0x0f0000) >= 0x090000 && gci < 0x0fe00000 && sector == 0x01 ) return 41;

Share this post


Link to post
Share on other sites

Yes, that should work just fine.

 

Thanks that would make life easier to filter with that column to see B41 coverage my phone is getting.

Share this post


Link to post
Share on other sites

I am on the s8 beta android 8.0. I am not seeing the signal detector notification until I pull down the notifications. Almost like a stealth notifucation not sure if that will affect data collection. I just thought you should know it is a little scary to not see it and think it's not running.

Share this post


Link to post
Share on other sites
6 hours ago, Flompholph said:

I am on the s8 beta android 8.0. I am not seeing the signal detector notification until I pull down the notifications. Almost like a stealth notifucation not sure if that will affect data collection. I just thought you should know it is a little scary to not see it and think it's not running.

Try updating to the latest APK (I've made some tweaks recently to fix issues with Oreo I've experienced with my Pixel 2 XL). You may also need to adjust the notification channel settings for the app - the priority might be set too low.

  • Like 1

Share this post


Link to post
Share on other sites

So I had a chance to see if it collected the data and it did. But the problem is I can't import it into my Google Fusion map because of the 250 MB limit per map.

The good thing is I want to remap all the old areas now that I can see the earfcn with my Samsung phone.  The bad thing about the earfcn I can now see what they are using and it makes me waste to much time just looking at which market is using 40582 and 40780 vs 40978, 41176, and 41374. Then I could see if there are weird one that are not used much where I have been 40072, 40913, and 41309

Share this post


Link to post
Share on other sites
51 minutes ago, Flompholph said:

Then I could see if there are weird one that are not used much where I have been 40072, 40913, and 41309

If 40913 and 41309 are live, 41111 should also be live. 

Share this post


Link to post
Share on other sites
So I had a chance to see if it collected the data and it did. But the problem is I can't import it into my Google Fusion map because of the 250 MB limit per map.
The good thing is I want to remap all the old areas now that I can see the earfcn with my Samsung phone.  The bad thing about the earfcn I can now see what they are using and it makes me waste to much time just looking at which market is using 40582 and 40780 vs 40978, 41176, and 41374. Then I could see if there are weird one that are not used much where I have been 40072, 40913, and 41309
Purging or averaging data for the same location given same gci pci etc has reduced data quite a bit for me in the past. Worse case you can go with a sample method, ie every 3 row etc or parition your data.

Sent from my LG-LS997 using Tapatalk

Share this post


Link to post
Share on other sites
19 minutes ago, RAvirani said:

If 40913 and 41309 are live, 41111 should also be live. 

Possible but I am not in Manchester NH much . I did not see the first carrier based on GCI though.

15 minutes ago, dkyeager said:

Purging or averaging data for the same location given same gci pci etc has reduced data quite a bit for me in the past. Worse case you can go with a sample method, ie every 3 row etc or parition your data.

Sent from my LG-LS997 using Tapatalk
 

There is not to much overlap I try and turn it off when getting close to where I am going and I try not to overlap where I have been before. Which can cause me to not cover everything but trying to save data point space. I also try to remove points where there is no cellid but that is not much maybe 2% of data points. That is not to say I don't forget to turn it off but the vast majority is not from 1 place.

Share this post


Link to post
Share on other sites
On 12/4/2017 at 1:24 AM, Flompholph said:

Possible but I am not in Manchester NH much . I did not see the first carrier based on GCI though.

That's not too far from me.. I can check my logs and/or take a drive if you're looking for something specific, just let me know.

-Mike

  • Like 1

Share this post


Link to post
Share on other sites

I added a new feature to the app: now there's a "Share" button in the action bar to send the log files to another app like Dropbox or Google Drive (or email or whatever - anything that will accept text/csv files). Probably in the next version I'll add more fine-grained control of the logging feature (i.e. the ability to only generate some logs, as requested) and a "clear" button in preferences, so people will need to fool with external storage even less.

  • Like 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...