telit: update frequency bands support
Updated to use the non-deprecated MMModemBand values. Also, use explicit enums for 2G/3G bands when building internal flags, as relying on UTRAN band 7 (MM_MODEM_BAND_U2600) being greater than UTRAN bands 8 and 9 is a MM implementation issue.
This commit is contained in:
@@ -46,14 +46,35 @@ mm_telit_get_band_flag (GArray *bands_array,
|
|||||||
for (i = 0; i < bands_array->len; i++) {
|
for (i = 0; i < bands_array->len; i++) {
|
||||||
MMModemBand band = g_array_index (bands_array, MMModemBand, i);
|
MMModemBand band = g_array_index (bands_array, MMModemBand, i);
|
||||||
|
|
||||||
if (flag2g != NULL &&
|
if (flag2g != NULL) {
|
||||||
band > MM_MODEM_BAND_UNKNOWN && band <= MM_MODEM_BAND_G850) {
|
switch (band) {
|
||||||
|
case MM_MODEM_BAND_EGSM:
|
||||||
|
case MM_MODEM_BAND_DCS:
|
||||||
|
case MM_MODEM_BAND_PCS:
|
||||||
|
case MM_MODEM_BAND_G850:
|
||||||
mask2g += 1 << band;
|
mask2g += 1 << band;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag3g != NULL &&
|
if (flag3g != NULL) {
|
||||||
band >= MM_MODEM_BAND_U2100 && band <= MM_MODEM_BAND_U2600) {
|
switch (band) {
|
||||||
|
case MM_MODEM_BAND_UTRAN_1:
|
||||||
|
case MM_MODEM_BAND_UTRAN_2:
|
||||||
|
case MM_MODEM_BAND_UTRAN_3:
|
||||||
|
case MM_MODEM_BAND_UTRAN_4:
|
||||||
|
case MM_MODEM_BAND_UTRAN_5:
|
||||||
|
case MM_MODEM_BAND_UTRAN_6:
|
||||||
|
case MM_MODEM_BAND_UTRAN_7:
|
||||||
|
case MM_MODEM_BAND_UTRAN_8:
|
||||||
|
case MM_MODEM_BAND_UTRAN_9:
|
||||||
mask3g += 1 << band;
|
mask3g += 1 << band;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flag4g != NULL &&
|
if (flag4g != NULL &&
|
||||||
@@ -79,25 +100,25 @@ mm_telit_get_band_flag (GArray *bands_array,
|
|||||||
|
|
||||||
/* Get 3G flag */
|
/* Get 3G flag */
|
||||||
if (flag3g != NULL) {
|
if (flag3g != NULL) {
|
||||||
if (mask3g == (1 << MM_MODEM_BAND_U2100))
|
if (mask3g == (1 << MM_MODEM_BAND_UTRAN_1))
|
||||||
*flag3g = 0;
|
*flag3g = 0;
|
||||||
else if (mask3g == (1 << MM_MODEM_BAND_U1900))
|
else if (mask3g == (1 << MM_MODEM_BAND_UTRAN_2))
|
||||||
*flag3g = 1;
|
*flag3g = 1;
|
||||||
else if (mask3g == (1 << MM_MODEM_BAND_U850))
|
else if (mask3g == (1 << MM_MODEM_BAND_UTRAN_5))
|
||||||
*flag3g = 2;
|
*flag3g = 2;
|
||||||
else if (mask3g == ((1 << MM_MODEM_BAND_U2100) +
|
else if (mask3g == ((1 << MM_MODEM_BAND_UTRAN_1) +
|
||||||
(1 << MM_MODEM_BAND_U1900) +
|
(1 << MM_MODEM_BAND_UTRAN_2) +
|
||||||
(1 << MM_MODEM_BAND_U850)))
|
(1 << MM_MODEM_BAND_UTRAN_5)))
|
||||||
*flag3g = 3;
|
*flag3g = 3;
|
||||||
else if (mask3g == ((1 << MM_MODEM_BAND_U1900) +
|
else if (mask3g == ((1 << MM_MODEM_BAND_UTRAN_2) +
|
||||||
(1 << MM_MODEM_BAND_U850)))
|
(1 << MM_MODEM_BAND_UTRAN_5)))
|
||||||
*flag3g = 4;
|
*flag3g = 4;
|
||||||
else if (mask3g == (1 << MM_MODEM_BAND_U900))
|
else if (mask3g == (1 << MM_MODEM_BAND_UTRAN_8))
|
||||||
*flag3g = 5;
|
*flag3g = 5;
|
||||||
else if (mask3g == ((1 << MM_MODEM_BAND_U2100) +
|
else if (mask3g == ((1 << MM_MODEM_BAND_UTRAN_1) +
|
||||||
(1 << MM_MODEM_BAND_U900)))
|
(1 << MM_MODEM_BAND_UTRAN_8)))
|
||||||
*flag3g = 6;
|
*flag3g = 6;
|
||||||
else if (mask3g == (1 << MM_MODEM_BAND_U17IV))
|
else if (mask3g == (1 << MM_MODEM_BAND_UTRAN_4))
|
||||||
*flag3g = 7;
|
*flag3g = 7;
|
||||||
else
|
else
|
||||||
*flag3g = -1;
|
*flag3g = -1;
|
||||||
@@ -378,27 +399,27 @@ mm_telit_get_3g_mm_bands (GMatchInfo *match_info,
|
|||||||
gboolean ret = TRUE;
|
gboolean ret = TRUE;
|
||||||
|
|
||||||
TelitToMMBandMap map [] = {
|
TelitToMMBandMap map [] = {
|
||||||
{ BND_FLAG_0, { MM_MODEM_BAND_U2100, MM_MODEM_BAND_UNKNOWN} },
|
{ BND_FLAG_0, { MM_MODEM_BAND_UTRAN_1, MM_MODEM_BAND_UNKNOWN} },
|
||||||
{ BND_FLAG_1, { MM_MODEM_BAND_U1900, MM_MODEM_BAND_UNKNOWN} },
|
{ BND_FLAG_1, { MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UNKNOWN} },
|
||||||
{ BND_FLAG_2, { MM_MODEM_BAND_U850, MM_MODEM_BAND_UNKNOWN} },
|
{ BND_FLAG_2, { MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UNKNOWN} },
|
||||||
{ BND_FLAG_3, { MM_MODEM_BAND_U2100, MM_MODEM_BAND_U1900, MM_MODEM_BAND_U850, MM_MODEM_BAND_UNKNOWN} },
|
{ BND_FLAG_3, { MM_MODEM_BAND_UTRAN_1, MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UNKNOWN} },
|
||||||
{ BND_FLAG_4, { MM_MODEM_BAND_U1900, MM_MODEM_BAND_U850, MM_MODEM_BAND_UNKNOWN} },
|
{ BND_FLAG_4, { MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UNKNOWN} },
|
||||||
{ BND_FLAG_5, { MM_MODEM_BAND_U900, MM_MODEM_BAND_UNKNOWN} },
|
{ BND_FLAG_5, { MM_MODEM_BAND_UTRAN_8, MM_MODEM_BAND_UNKNOWN} },
|
||||||
{ BND_FLAG_6, { MM_MODEM_BAND_U2100, MM_MODEM_BAND_U900, MM_MODEM_BAND_UNKNOWN} },
|
{ BND_FLAG_6, { MM_MODEM_BAND_UTRAN_1, MM_MODEM_BAND_UTRAN_8, MM_MODEM_BAND_UNKNOWN} },
|
||||||
{ BND_FLAG_7, { MM_MODEM_BAND_U17IV, MM_MODEM_BAND_UNKNOWN} },
|
{ BND_FLAG_7, { MM_MODEM_BAND_UTRAN_4, MM_MODEM_BAND_UNKNOWN} },
|
||||||
{ BND_FLAG_8, { MM_MODEM_BAND_U2100, MM_MODEM_BAND_U850, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_8, { MM_MODEM_BAND_UTRAN_1, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_9, { MM_MODEM_BAND_U2100, MM_MODEM_BAND_U900, MM_MODEM_BAND_U850, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_9, { MM_MODEM_BAND_UTRAN_1, MM_MODEM_BAND_UTRAN_8, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_10, { MM_MODEM_BAND_U1900, MM_MODEM_BAND_U17IV, MM_MODEM_BAND_U850, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_10, { MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_4, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_12, { MM_MODEM_BAND_U800, MM_MODEM_BAND_UNKNOWN}},
|
{ BND_FLAG_12, { MM_MODEM_BAND_UTRAN_6, MM_MODEM_BAND_UNKNOWN}},
|
||||||
{ BND_FLAG_13, { MM_MODEM_BAND_U1800, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_13, { MM_MODEM_BAND_U1800, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_14, { MM_MODEM_BAND_U2100, MM_MODEM_BAND_U900, MM_MODEM_BAND_U17IV, MM_MODEM_BAND_U850, MM_MODEM_BAND_U800, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_14, { MM_MODEM_BAND_UTRAN_1, MM_MODEM_BAND_UTRAN_8, MM_MODEM_BAND_UTRAN_4, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UTRAN_6, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_15, { MM_MODEM_BAND_U2100, MM_MODEM_BAND_U900, MM_MODEM_BAND_U1800, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_15, { MM_MODEM_BAND_UTRAN_1, MM_MODEM_BAND_UTRAN_8, MM_MODEM_BAND_U1800, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_16, { MM_MODEM_BAND_U900, MM_MODEM_BAND_U850, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_16, { MM_MODEM_BAND_UTRAN_8, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_17, { MM_MODEM_BAND_U1900, MM_MODEM_BAND_U17IV, MM_MODEM_BAND_U850, MM_MODEM_BAND_U800, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_17, { MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_4, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UTRAN_6, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_18, { MM_MODEM_BAND_U2100, MM_MODEM_BAND_U1900, MM_MODEM_BAND_U850, MM_MODEM_BAND_U800, MM_MODEM_BAND_UNKNOWN}},
|
{ BND_FLAG_18, { MM_MODEM_BAND_UTRAN_1, MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UTRAN_6, MM_MODEM_BAND_UNKNOWN}},
|
||||||
{ BND_FLAG_19, { MM_MODEM_BAND_U1900, MM_MODEM_BAND_U800, MM_MODEM_BAND_UNKNOWN }},
|
{ BND_FLAG_19, { MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_6, MM_MODEM_BAND_UNKNOWN }},
|
||||||
{ BND_FLAG_20, { MM_MODEM_BAND_U850, MM_MODEM_BAND_U800, MM_MODEM_BAND_UNKNOWN}},
|
{ BND_FLAG_20, { MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UTRAN_6, MM_MODEM_BAND_UNKNOWN}},
|
||||||
{ BND_FLAG_21, { MM_MODEM_BAND_U1900, MM_MODEM_BAND_U850, MM_MODEM_BAND_U800, MM_MODEM_BAND_UNKNOWN}},
|
{ BND_FLAG_21, { MM_MODEM_BAND_UTRAN_2, MM_MODEM_BAND_UTRAN_5, MM_MODEM_BAND_UTRAN_6, MM_MODEM_BAND_UNKNOWN}},
|
||||||
{ BND_FLAG_UNKNOWN, {}},
|
{ BND_FLAG_UNKNOWN, {}},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -159,40 +159,40 @@ static BNDResponseTest supported_band_mapping_tests [] = {
|
|||||||
MM_MODEM_BAND_DCS,
|
MM_MODEM_BAND_DCS,
|
||||||
MM_MODEM_BAND_PCS,
|
MM_MODEM_BAND_PCS,
|
||||||
MM_MODEM_BAND_G850,
|
MM_MODEM_BAND_G850,
|
||||||
MM_MODEM_BAND_U2100,
|
MM_MODEM_BAND_UTRAN_1,
|
||||||
MM_MODEM_BAND_U850,
|
MM_MODEM_BAND_UTRAN_5,
|
||||||
MM_MODEM_BAND_U900} },
|
MM_MODEM_BAND_UTRAN_8 } },
|
||||||
{ "#BND: (0,3),(0,2,5,6)", TRUE, TRUE, FALSE, 7, { MM_MODEM_BAND_EGSM,
|
{ "#BND: (0,3),(0,2,5,6)", TRUE, TRUE, FALSE, 7, { MM_MODEM_BAND_EGSM,
|
||||||
MM_MODEM_BAND_DCS,
|
MM_MODEM_BAND_DCS,
|
||||||
MM_MODEM_BAND_PCS,
|
MM_MODEM_BAND_PCS,
|
||||||
MM_MODEM_BAND_G850,
|
MM_MODEM_BAND_G850,
|
||||||
MM_MODEM_BAND_U2100,
|
MM_MODEM_BAND_UTRAN_1,
|
||||||
MM_MODEM_BAND_U850,
|
MM_MODEM_BAND_UTRAN_5,
|
||||||
MM_MODEM_BAND_U900} },
|
MM_MODEM_BAND_UTRAN_8} },
|
||||||
{ "#BND: (0,2),(0,2,5,6)", TRUE, TRUE, FALSE, 6, { MM_MODEM_BAND_EGSM,
|
{ "#BND: (0,2),(0,2,5,6)", TRUE, TRUE, FALSE, 6, { MM_MODEM_BAND_EGSM,
|
||||||
MM_MODEM_BAND_DCS,
|
MM_MODEM_BAND_DCS,
|
||||||
MM_MODEM_BAND_G850,
|
MM_MODEM_BAND_G850,
|
||||||
MM_MODEM_BAND_U2100,
|
MM_MODEM_BAND_UTRAN_1,
|
||||||
MM_MODEM_BAND_U850,
|
MM_MODEM_BAND_UTRAN_5,
|
||||||
MM_MODEM_BAND_U900} },
|
MM_MODEM_BAND_UTRAN_8} },
|
||||||
{ "#BND: (0,2),(0-4,5,6)", TRUE, TRUE, FALSE, 7, { MM_MODEM_BAND_EGSM,
|
{ "#BND: (0,2),(0-4,5,6)", TRUE, TRUE, FALSE, 7, { MM_MODEM_BAND_EGSM,
|
||||||
MM_MODEM_BAND_DCS,
|
MM_MODEM_BAND_DCS,
|
||||||
MM_MODEM_BAND_G850,
|
MM_MODEM_BAND_G850,
|
||||||
MM_MODEM_BAND_U2100,
|
MM_MODEM_BAND_UTRAN_1,
|
||||||
MM_MODEM_BAND_U1900,
|
MM_MODEM_BAND_UTRAN_2,
|
||||||
MM_MODEM_BAND_U850,
|
MM_MODEM_BAND_UTRAN_5,
|
||||||
MM_MODEM_BAND_U900} },
|
MM_MODEM_BAND_UTRAN_8} },
|
||||||
{ "#BND: (0-3),(0,2,5,6),(1-1)", TRUE, TRUE, TRUE, 8, { MM_MODEM_BAND_EGSM,
|
{ "#BND: (0-3),(0,2,5,6),(1-1)", TRUE, TRUE, TRUE, 8, { MM_MODEM_BAND_EGSM,
|
||||||
MM_MODEM_BAND_DCS,
|
MM_MODEM_BAND_DCS,
|
||||||
MM_MODEM_BAND_PCS,
|
MM_MODEM_BAND_PCS,
|
||||||
MM_MODEM_BAND_G850,
|
MM_MODEM_BAND_G850,
|
||||||
MM_MODEM_BAND_U2100,
|
MM_MODEM_BAND_UTRAN_1,
|
||||||
MM_MODEM_BAND_U850,
|
MM_MODEM_BAND_UTRAN_5,
|
||||||
MM_MODEM_BAND_U900,
|
MM_MODEM_BAND_UTRAN_8,
|
||||||
MM_MODEM_BAND_EUTRAN_1} },
|
MM_MODEM_BAND_EUTRAN_1} },
|
||||||
{ "#BND: (0),(0),(1-3)", TRUE, TRUE, TRUE, 5, { MM_MODEM_BAND_EGSM,
|
{ "#BND: (0),(0),(1-3)", TRUE, TRUE, TRUE, 5, { MM_MODEM_BAND_EGSM,
|
||||||
MM_MODEM_BAND_DCS,
|
MM_MODEM_BAND_DCS,
|
||||||
MM_MODEM_BAND_U2100,
|
MM_MODEM_BAND_UTRAN_1,
|
||||||
MM_MODEM_BAND_EUTRAN_1,
|
MM_MODEM_BAND_EUTRAN_1,
|
||||||
MM_MODEM_BAND_EUTRAN_2} },
|
MM_MODEM_BAND_EUTRAN_2} },
|
||||||
{ "#BND: (0),(0),(1-3)", FALSE, FALSE, TRUE, 2, { MM_MODEM_BAND_EUTRAN_1,
|
{ "#BND: (0),(0),(1-3)", FALSE, FALSE, TRUE, 2, { MM_MODEM_BAND_EUTRAN_1,
|
||||||
@@ -243,24 +243,24 @@ static BNDResponseTest current_band_mapping_tests [] = {
|
|||||||
},
|
},
|
||||||
{ "#BND: 0,5", TRUE, TRUE, FALSE, 3, { MM_MODEM_BAND_EGSM,
|
{ "#BND: 0,5", TRUE, TRUE, FALSE, 3, { MM_MODEM_BAND_EGSM,
|
||||||
MM_MODEM_BAND_DCS,
|
MM_MODEM_BAND_DCS,
|
||||||
MM_MODEM_BAND_U900
|
MM_MODEM_BAND_UTRAN_8
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ "#BND: 1,3", TRUE, TRUE, FALSE, 5, { MM_MODEM_BAND_EGSM,
|
{ "#BND: 1,3", TRUE, TRUE, FALSE, 5, { MM_MODEM_BAND_EGSM,
|
||||||
MM_MODEM_BAND_PCS,
|
MM_MODEM_BAND_PCS,
|
||||||
MM_MODEM_BAND_U2100,
|
MM_MODEM_BAND_UTRAN_1,
|
||||||
MM_MODEM_BAND_U1900,
|
MM_MODEM_BAND_UTRAN_2,
|
||||||
MM_MODEM_BAND_U850,
|
MM_MODEM_BAND_UTRAN_5,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ "#BND: 2,7", TRUE, TRUE, FALSE, 3, { MM_MODEM_BAND_DCS,
|
{ "#BND: 2,7", TRUE, TRUE, FALSE, 3, { MM_MODEM_BAND_DCS,
|
||||||
MM_MODEM_BAND_G850,
|
MM_MODEM_BAND_G850,
|
||||||
MM_MODEM_BAND_U17IV
|
MM_MODEM_BAND_UTRAN_4
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
{ "#BND: 3,0,1", TRUE, TRUE, TRUE, 4, { MM_MODEM_BAND_PCS,
|
{ "#BND: 3,0,1", TRUE, TRUE, TRUE, 4, { MM_MODEM_BAND_PCS,
|
||||||
MM_MODEM_BAND_G850,
|
MM_MODEM_BAND_G850,
|
||||||
MM_MODEM_BAND_U2100,
|
MM_MODEM_BAND_UTRAN_1,
|
||||||
MM_MODEM_BAND_EUTRAN_1
|
MM_MODEM_BAND_EUTRAN_1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -373,12 +373,12 @@ static void
|
|||||||
test_telit_get_3g_bnd_flag (void)
|
test_telit_get_3g_bnd_flag (void)
|
||||||
{
|
{
|
||||||
GArray *bands_array;
|
GArray *bands_array;
|
||||||
MMModemBand u2100 = MM_MODEM_BAND_U2100;
|
MMModemBand u2100 = MM_MODEM_BAND_UTRAN_1;
|
||||||
MMModemBand u1900 = MM_MODEM_BAND_U1900;
|
MMModemBand u1900 = MM_MODEM_BAND_UTRAN_2;
|
||||||
MMModemBand u850 = MM_MODEM_BAND_U850;
|
MMModemBand u850 = MM_MODEM_BAND_UTRAN_5;
|
||||||
MMModemBand u900 = MM_MODEM_BAND_U900;
|
MMModemBand u900 = MM_MODEM_BAND_UTRAN_8;
|
||||||
MMModemBand u17iv = MM_MODEM_BAND_U17IV;
|
MMModemBand u17iv = MM_MODEM_BAND_UTRAN_4;
|
||||||
MMModemBand u17ix = MM_MODEM_BAND_U17IX;
|
MMModemBand u17ix = MM_MODEM_BAND_UTRAN_9;
|
||||||
gint flag;
|
gint flag;
|
||||||
|
|
||||||
/* Test flag 0 */
|
/* Test flag 0 */
|
||||||
|
Reference in New Issue
Block a user