-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
problem with GSM towers #3
Comments
What information about the current cell tower(s) your phone sees is shown by an app like SatStat? Stock Android 7? My phones don't properly support the newer getAllCellInfo() API call with with a stock ROM that might be fully implemented. So the error is likely in the code for handling the results of the getAllCellInfo() call which is not as well tested. Depending on what SatStat reports, I may have to give you a debug build with some logging enabled to determine what is happening. |
SatStat, mozilla stumbler, wigle experience no problems accessing current cell info.
yes, rooted stock 7.0 without gapps |
i experimented a bit more and found minor bug: after using standart "clear data" feature application crashes and fails to start. Only disabling and enabling back in UnifiedNlp fixes that. |
I'll try to reproduce the crash when data is cleared through the system settings tomorrow morning (late here now). With respect to the tower issue, if I were to get you a debug build with some logging enabled could you run that and post the logged data? |
Sure |
update: app work normal if there is 2G cells. so problem only with 3G cell ids which are 28 bit long. |
Looks like the crash when you clear data using system settings is because the permissions it needs are also reset. That is fixed in v1.0.4 but it looks like F-Droid is only up to v1.0.2. I've made a special build of the current 1.0.4 which has some additional logging to indicate which API it got the mobile/cell tower information from and, I hope, some indication of what is going wrong interpreting the information. |
OK. since log contains quite sensitive information i cut intresting parts only.
that line repeats many times.
after that i made many manipulations (switching modes, wifi, turning on-off airplane mode...) with phone in attempt to see any 3G cells in log and not succeeded at all.
idk what 2147483647 is, but apparently it is not cell id at all =) |
I assume the "#### correct cell id#####" string is from your edit to remove sensitive information. 2147483647 is 0x7FFFFFFF in hex, so that looks like Integer.MAX_VALUE and looking at the constructor for CellIdentityGsm that is what is put into all the fields when the record is built. Comments on mMcc and mMnc indicate that the valid range is 0..999, so I'll add a check for that before I trust the values. I wish that my phone supported that API: If things work as I hope your phone should get a pretty good location from mobile towers alone. |
I've put another test version of DejaVu out where you can test it. Link is https://www.dropbox.com/s/fxpexikeu3pfvqq/DejaVu-1.0.4a-debug.apk?dl=0 If this fixes your issue then I'll release the change. Thank you for helping finding this bug and helping me fix it. |
well it does not create weird record in database anymore, but still can't see any 3G cells. This mean i normally cannot get location from GSM at all. Because i use 3G for everyday connection which coverage is more than 100%. When radiomodule sees 3G cells it does not even try scan 2G band at all. The only way to make phone scan for 2G cells is switch off 3G connectivity. Which is sad. let clear some moments about log above. First of all at the begining 3G disabled and database is totally clear. At 08:20:13.249 app found 7 2G cells and write them to db. At log brake i enable 3G mode and (as i understand) at 08:46:43.280 your app found some new cells. But they not writed to db. I am pretty shure that founded cells are new ones because 3G is enabled now. Satstat clearly indicates that phone assosiated with 3G network and showing 3g cell id, and while phone is in 3G mode 2G band is ignored. |
The processing after the point where the log messages were generated is identical, so it seems unlikely to me that there can be a difference between 2G and 3G as far as what gets into the database. If I can see the unedited messages emitted by DejaVu, preferably with a copy of the database, I might be able to see more. Could you filter your logcat to just show the DejaVu related lines (no other editing or clean up please) and get a copy of the database:
If you can email them to tod@fitchdesign.com I can take a closer look to see what did not made it into the database. |
Ok. Now i clean app data. disable and reenable app in UnifiedNlp. Phone is normal GSM mode (all "G"s are enabled). now it gathers sattelites and i'll send logcat log and db to email. and screenshot from satstat. just in case :) |
Check values from cell ID accessors for unknown values. Signed-off-by: Tod Fitch <Tod@FitchDesign.com>
Add support for CDMA and WCDMA towers when using getAllCellInfo() API. Signed-off-by: Tod Fitch <Tod@FitchDesign.com>
Private correspondence with @sibrat confirmed above commits fixed issues. |
rooted stock Android 7, sony F5121, app version 1.0.2 from f-droid
After some test run (about 50 km) i found that GSM location doesnt work properly. In application database i found only one row related to GSM with strange 'rfID' = 'GSM/2147483647/2147483647/2147483647/2147483647' and absurdly large raduis 18190.615234375.
If it can help there is (minimum) 4 cells with this cell id (2147483647) in my area: 25099_15401_2147483647, 25099_15402_2147483647, 25099_41130_2147483647 and 25099_41129_2147483647.
The text was updated successfully, but these errors were encountered: