2016-05-25 16:01:35 |
Pete Woods |
description |
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 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)
+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 "";
+}
3) indicator-network should add LTEA support with a new icon
(0.7.1+15.04.20160304-0ubuntu1 )
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;
}
[1] https://www.qualcomm.com/invention/technologies/lte/lte-carrier-aggregation |
|