mjaakko / NeoStumbler

New stumbler application for contributing data to geolocation services
MIT License
117 stars 10 forks source link

Collect data for 5G cell towers #90

Closed mjaakko closed 2 months ago

mjaakko commented 4 months ago

Currently no data is collected for 5G cell towers, because MLS does not support them. Add support for collecting data for 5G cell towers

Before implementation, investigate:

RealTux678 commented 4 months ago

Hi, Regarding TAC or PCI, it is similar to LTE. Concerning the cellID, the important difference is that you must use a long type variable instead of integer. OpenCellID has already implemented 5G. The radioType is "NR"

HorayNarea commented 4 months ago

How does Ichnaea handle fields with values it doesn't support?

* If reports with 5G cell tower data are discarded, there needs to be a toggle in the settings whether to send the data

I haven't tested it but as far as I can tell by looking at the code, fields that are not defined in Ichnaea's schemas are discarded not entire reports:

All CellTower classes which are used in the 3 different Submit endpoints inherit (through multiple others) from StringVocabularyNode in https://github.com/mozilla/ichnaea/blob/9e6529e/ichnaea/api/schema.py#L39-L54 which describes that:

It removes the value if it isn't in the vocabulary.

And the vocabulary defined by all submit schemas is:

RADIO_STRINGS = ["gsm", "cdma", "umts", "wcdma", "lte"]

…so, if a report with mutiple cellTowers also includes one with radioType: "NR", it should throw out just that cellTower, nothing else.

mjaakko commented 4 months ago

Looks like Android returns 5G cell tower data (CellInfoNr) only when 5G standalone networks are in use