I edited the description so that the indicator-network and ofono code snippets were the right place. It seems quite a shame that ofono and indicator-network convert enums to and from strings.
** Description changed: 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, - }; + // 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 - }; + // 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 ""; +} + 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 -- You received this bug notification because you are a member of Ubuntu Phonedations bugs, which is subscribed to ofono in Ubuntu. https://bugs.launchpad.net/bugs/1585659 Title: indicator-network should show a "4G+" or "LTE+" when the phone connected with a LTE Advanced network Status in Canonical System Image: Confirmed Status in Ubuntu UX: New Status in indicator-network package in Ubuntu: Confirmed Status in libqofono package in Ubuntu: Confirmed Status in ofono package in Ubuntu: Confirmed Bug 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) +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 To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1585659/+subscriptions -- Mailing list: https://launchpad.net/~ubuntu-phonedations-bugs Post to : ubuntu-phonedations-bugs@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-phonedations-bugs More help : https://help.launchpad.net/ListHelp