What does getEvdoDbm() really do?

952 views Asked by At

How does Android determine this Dbm strength? I know the basics of CDMA and that its networks can have anything from EVDO0, EVDO-A all the way up to LTE under its belt. I also know some older "feature" phones used to overlay "data" over the standard signal bars.

So, I'm just trying to understand what exactly is the purpose of getEvdoDbm() as opposed to getCdmaDbm() since Evdo runs as a protocol within the CDMA radio.

As a side question... does getEvdoDbm() even apply or work with LTE since its not based on EVDO? Will this function return -99 or null?

Thanks!

2

There are 2 answers

0
Mshaltot On

EVDO is a separate network from CDMA, and has its own parameters (including power settings) which are controlled completely differently from CDMA. In fact, you could assign a different PN for an EVDO carrier interdependently from the PN assignment for CDMA, so EVDO KPIs are completely independent from CDMA, except that operators try to match the EVDO footprint to the CDMA footprint, so they end up being fairly similar most of the time. Lastly, LTE is not based on GSM, rather, its a cross between GSM and CDMA, in the sense that it is TDMA (time division, like GSM) and DSSS (spread spectrum, like CDMA) at the same time.

1
Matt Aldridge On

It seems that the Android API has a method to grab the signal strength for all the various network types. There is stuff for EVDO / CDMA / GSM. I would assume that you need to make use of TelephonyManager to find out which network type is currently in use.

As LTE is based on GSM then I would assume that you would need to use the getGsmSignalStrength.

And finally judging by the method signatures I would assume that -99 will be returned when the device is not registered on an EVDO network when using getEvdoDbm().