I am interested in using mobile phones for conducting network field tests - i.e. collecting information about signal strength as well as other related values for a mobile network, in particular for 4G-LTE-networks.
There are a couple of applications already out there which can do this, e.g. GNet-Track (https://play.google.com/store/apps/details?id=com.gyokovsolutions.gnettracklite)
These apps are using the TelephonyManager
's getAllCellInfo()
to retrieve information for the serving cell (the cell to which the mobile is connected to) as well as for neighboring cells (cells that the mobile can detect but is not connected to).
Depending on the mobile phone (e.g. http://www.gyokovsolutions.com/survey/surveyresults.php) as well as on the connection technology (3G, 4G, etc.), more or less information is retrieved with getAllCellInfo()
. E.g. some phones do not report information about neighboring cells at all, while other might only report the strength of the signal, etc.
From a CellInfo
object, one can retrieve the identity of the cell via getCellIdentity()
(to be precise, it's getCellIdentityLte()
, getCellIdentityGsm()
etc. in dependence of the used network technology).
The CellIdentityLte
object contains (or at least should contain) the values mcc
, mnc
and ci
(cell-identity), which can be used to identify a cell globally (computing the ecgi).
Now, the problem I am facing is that every phone that I have encountered so far (e.g. OnePlus-Three, Samsung S7) is unable to report the cell-identity of the neighboring cells (instead UNAVAILABLE
(=2147483647) is returned). Other values are available, e.g. the field PCI
of the LTECellIdendity
of the neighboring cells were available.
My question is: Has anyone encountered mobile phones which are able to report the cell-identity
of neighboring cells in a 4G
-network?
This seems to be a recurring problem (the linked discussions concern other technologies, but face the same problem):