indicator-network should show a "4G+" or "LTE+" when the phone connected with a LTE Advanced network
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Confirmed
|
High
|
Alejandro J. Cura | ||
Ubuntu UX |
New
|
Undecided
|
Unassigned | ||
indicator-network (Ubuntu) |
Confirmed
|
Wishlist
|
Unassigned | ||
libqofono (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
ofono (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
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 TelephonyManage
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
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
m95_ubuntu/
m95_ubuntu/
2) ofono should support a new radio bearer type
(ofono trunk)
+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 "";
+}
3) indicator-network should add LTEA support with a new icon
(0.7.1+
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;
return Modem::
}
[1] https:/
Changed in canonical-devices-system-image: | |
milestone: | 12 → 13 |
Changed in canonical-devices-system-image: | |
milestone: | 13 → backlog |
Changed in indicator-network (Ubuntu): | |
importance: | Undecided → Wishlist |
Sounds good. Tell me what string to expect from libqofono here:
static Modem::Bearer str2technology( const QString& str) Bearer: :notAvailable; Bearer: :gprs; Bearer: :edge; Bearer: :umts; Bearer: :hspa; Bearer: :hspa_plus; Bearer: :lte_a;
{
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;
if (str == "??????")
return Modem::
qWarning() << __PRETTY_FUNCTION__ << ": Unknown technology" << str; Bearer: :notAvailable;
return Modem::
}
and the name of the icon to use here:
QString Icons:: bearerIcon( wwan::Modem: :Bearer bearer) :Bearer: :notAvailable: :Bearer: :gprs: cellular- pre-edge" ; :Bearer: :edge: cellular- edge"; :Bearer: :umts: cellular- 3g"; :Bearer: :hspa: cellular- hspa"; :Bearer: :hspa_plus: cellular- hspa-plus" ; :Bearer: :lte: cellular- lte"; :Bearer: :lte_a: cellular- ??????? ?";
{
switch (bearer)
{
case wwan::Modem:
return "";
case wwan::Modem:
return "network-
case wwan::Modem:
return "network-
case wwan::Modem:
return "network-
case wwan::Modem:
return "network-
case wwan::Modem:
return "network-
case wwan::Modem:
return "network-
case wwan::Modem:
return "network-
}
// shouldn't be reached
return QString();
}
and I'm all good!