The operators are promoting "Carrier Aggregation"[1] as the latest network capability. The capability should be visible when the user is connected to the LTE-Advanced network.
1) ril interface from mtk supports the extended radio type
// Same as the value in TelephonyManager.java enum NetworkType { NETWORK_TYPE_UNKNOWN = 0, NETWORK_TYPE_GPRS = 1, NETWORK_TYPE_EDGE = 2, NETWORK_TYPE_UMTS = 3, NETWORK_TYPE_CDMA = 4, NETWORK_TYPE_EVDO_0 = 5, NETWORK_TYPE_EVDO_A = 6, NETWORK_TYPE_1xRTT = 7, NETWORK_TYPE_HSDPA = 8, NETWORK_TYPE_HSUPA = 9, NETWORK_TYPE_HSPA = 10, NETWORK_TYPE_IDEN = 11, NETWORK_TYPE_EVDO_B = 12, NETWORK_TYPE_LTE = 13, NETWORK_TYPE_EHRPD = 14, NETWORK_TYPE_HSPAP = 15, NETWORK_TYPE_GSM = 16, };
// MTK extend radio tech see ServiceState.java enum RadioTechExt { RIL_RADIO_TECHNOLOGY_MTK = 128, RIL_RADIO_TECHNOLOGY_HSDPAP, //129 RIL_RADIO_TECHNOLOGY_HSDPAP_UPA, //130 RIL_RADIO_TECHNOLOGY_HSUPAP, //131 RIL_RADIO_TECHNOLOGY_HSUPAP_DPA, //132 RIL_RADIO_TECHNOLOGY_DC_DPA, //133 RIL_RADIO_TECHNOLOGY_DC_UPA, //134 RIL_RADIO_TECHNOLOGY_DC_HSDPAP, //135 RIL_RADIO_TECHNOLOGY_DC_HSDPAP_UPA, //136 RIL_RADIO_TECHNOLOGY_DC_HSDPAP_DPA, //137 RIL_RADIO_TECHNOLOGY_DC_HSPAP, //138 RIL_RADIO_TECHNOLOGY_LTEA //139 };
ref m95_ubuntu/frameworks/base/telephony/java/android/telephony/ServiceState.java m95_ubuntu/vendor/mediatek/proprietary/hardware/ril/rilproxy/mtk-rilproxy/telephony/agps/RpAgpsNSlotController.h
2) ofono should support a new radio bearer type
(ofono trunk) static Modem::Bearer str2technology(const QString& str) { if (str.isEmpty() || str == "none") return Modem::Bearer::notAvailable; if (str == "gprs") return Modem::Bearer::gprs; if (str == "edge") return Modem::Bearer::edge; if (str == "umts") return Modem::Bearer::umts; if (str == "hspa" || str == "hsupa" || str == "hsdpa") return Modem::Bearer::hspa; if (str == "hspap") return Modem::Bearer::hspa_plus; if (str == "lte") return Modem::Bearer::lte;
qWarning() << PRETTY_FUNCTION << ": Unknown techonology" << str; return Modem::Bearer::notAvailable; }
3) indicator-network should add LTEA support with a new icon
(0.7.1+15.04.20160304-0ubuntu1 ) +const char *packet_bearer_to_string(int bearer) +{ + switch (bearer) { + case PACKET_BEARER_NONE: + return "none"; + case PACKET_BEARER_GPRS: + return "gprs"; + case PACKET_BEARER_EGPRS: + return "edge"; + case PACKET_BEARER_UMTS: + return "umts"; + case PACKET_BEARER_HSUPA: + return "hsupa"; + case PACKET_BEARER_HSDPA: + return "hsdpa"; + case PACKET_BEARER_HSUPA_HSDPA: + return "hspa"; + case PACKET_BEARER_EPS: + return "lte"; + } + return ""; +}
[1] https://www.qualcomm.com/invention/technologies/lte/lte-carrier-aggregation
The operators are promoting "Carrier Aggregation"[1] as the latest network capability. The capability should be visible when the user is connected to the LTE-Advanced network.
1) ril interface from mtk supports the extended radio type
// Same as the value in TelephonyManage r.java TYPE_UNKNOWN = 0, TYPE_EVDO_ 0 = 5, TYPE_EVDO_ A = 6, TYPE_1xRTT = 7, TYPE_HSDPA = 8, TYPE_HSUPA = 9, TYPE_EVDO_ B = 12, TYPE_EHRPD = 14, TYPE_HSPAP = 15,
enum NetworkType {
NETWORK_
NETWORK_TYPE_GPRS = 1,
NETWORK_TYPE_EDGE = 2,
NETWORK_TYPE_UMTS = 3,
NETWORK_TYPE_CDMA = 4,
NETWORK_
NETWORK_
NETWORK_
NETWORK_
NETWORK_
NETWORK_TYPE_HSPA = 10,
NETWORK_TYPE_IDEN = 11,
NETWORK_
NETWORK_TYPE_LTE = 13,
NETWORK_
NETWORK_
NETWORK_TYPE_GSM = 16,
};
// MTK extend radio tech see ServiceState.java TECHNOLOGY_ MTK = 128, TECHNOLOGY_ HSDPAP, //129 TECHNOLOGY_ HSDPAP_ UPA, //130 TECHNOLOGY_ HSUPAP, //131 TECHNOLOGY_ HSUPAP_ DPA, //132 TECHNOLOGY_ DC_DPA, //133 TECHNOLOGY_ DC_UPA, //134 TECHNOLOGY_ DC_HSDPAP, //135 TECHNOLOGY_ DC_HSDPAP_ UPA, //136 TECHNOLOGY_ DC_HSDPAP_ DPA, //137 TECHNOLOGY_ DC_HSPAP, //138 TECHNOLOGY_ LTEA //139
enum RadioTechExt {
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
RIL_RADIO_
};
ref frameworks/ base/telephony/ java/android/ telephony/ ServiceState. java vendor/ mediatek/ proprietary/ hardware/ ril/rilproxy/ mtk-rilproxy/ telephony/ agps/RpAgpsNSlo tController. h
m95_ubuntu/
m95_ubuntu/
2) ofono should support a new radio bearer type
(ofono trunk) const QString& str) Bearer: :notAvailable; Bearer: :gprs; Bearer: :edge; Bearer: :umts; Bearer: :hspa; Bearer: :hspa_plus;
static Modem::Bearer str2technology(
{
if (str.isEmpty() || str == "none")
return Modem::
if (str == "gprs")
return Modem::
if (str == "edge")
return Modem::
if (str == "umts")
return Modem::
if (str == "hspa" || str == "hsupa" || str == "hsdpa")
return Modem::
if (str == "hspap")
return Modem::
if (str == "lte")
return Modem::Bearer::lte;
qWarning() << PRETTY_FUNCTION << ": Unknown techonology" << str; Bearer: :notAvailable;
return Modem::
}
3) indicator-network should add LTEA support with a new icon
(0.7.1+ 15.04.20160304- 0ubuntu1 ) bearer_ to_string( int bearer) BEARER_ EGPRS: BEARER_ HSUPA: BEARER_ HSDPA: BEARER_ HSUPA_HSDPA:
+const char *packet_
+{
+ switch (bearer) {
+ case PACKET_BEARER_NONE:
+ return "none";
+ case PACKET_BEARER_GPRS:
+ return "gprs";
+ case PACKET_
+ return "edge";
+ case PACKET_BEARER_UMTS:
+ return "umts";
+ case PACKET_
+ return "hsupa";
+ case PACKET_
+ return "hsdpa";
+ case PACKET_
+ return "hspa";
+ case PACKET_BEARER_EPS:
+ return "lte";
+ }
+ return "";
+}
[1] https:/ /www.qualcomm. com/invention/ technologies/ lte/lte- carrier- aggregation