telit: fix supported and current bands query with GE910
GE910 is a 2g only modem and when queried for bands it returns only a 2g set of bands: --> 'AT#BND=?<CR>' <-- '<CR><LF>#BND: (0-3)<CR><LF><CR><LF>OK<CR><LF>' Current regex fails, since it considers the 3g bands block mandatory. A similar problem happens for current bands. This patch modifies the regular expressions for properly supporting GE910 and updates tests.
This commit is contained in:

committed by
Aleksander Morgado

parent
d5cfad49d8
commit
6f11ff10cd
@@ -162,9 +162,9 @@ mm_telit_parse_csim_response (const guint step,
|
|||||||
return retries;
|
return retries;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SUPP_BAND_RESPONSE_REGEX "#BND:\\s*\\((?P<Bands2G>.*)\\),\\s*\\((?P<Bands3G>.*)\\)"
|
#define SUPP_BAND_RESPONSE_REGEX "#BND:\\s*\\((?P<Bands2G>[0-9\\-,]*)\\)(,\\s*\\((?P<Bands3G>.*)\\))?"
|
||||||
#define SUPP_BAND_4G_MODEM_RESPONSE_REGEX "#BND:\\s*\\((?P<Bands2G>.*)\\),\\s*\\((?P<Bands3G>.*)\\),\\s*\\((?P<Bands4G>\\d+-\\d+)\\)"
|
#define SUPP_BAND_4G_MODEM_RESPONSE_REGEX "#BND:\\s*\\((?P<Bands2G>.*)\\),\\s*\\((?P<Bands3G>.*)\\),\\s*\\((?P<Bands4G>\\d+-\\d+)\\)"
|
||||||
#define CURR_BAND_RESPONSE_REGEX "#BND:\\s*(?P<Bands2G>\\d+),\\s*(?P<Bands3G>\\d+)"
|
#define CURR_BAND_RESPONSE_REGEX "#BND:\\s*(?P<Bands2G>\\d+)(,\\s*(?P<Bands3G>\\d+))?"
|
||||||
#define CURR_BAND_4G_MODEM_RESPONSE_REGEX "#BND:\\s*(?P<Bands2G>\\d+),\\s*(?P<Bands3G>\\d+),\\s*(?P<Bands4G>\\d+)"
|
#define CURR_BAND_4G_MODEM_RESPONSE_REGEX "#BND:\\s*(?P<Bands2G>\\d+),\\s*(?P<Bands3G>\\d+),\\s*(?P<Bands4G>\\d+)"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@@ -160,6 +160,10 @@ typedef struct {
|
|||||||
} BNDResponseTest;
|
} BNDResponseTest;
|
||||||
|
|
||||||
static BNDResponseTest supported_band_mapping_tests [] = {
|
static BNDResponseTest supported_band_mapping_tests [] = {
|
||||||
|
{ "#BND: (0-3)", TRUE, FALSE, FALSE, 4, { MM_MODEM_BAND_EGSM,
|
||||||
|
MM_MODEM_BAND_DCS,
|
||||||
|
MM_MODEM_BAND_PCS,
|
||||||
|
MM_MODEM_BAND_G850} },
|
||||||
{ "#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,
|
||||||
@@ -242,6 +246,10 @@ test_parse_supported_bands_response (void) {
|
|||||||
|
|
||||||
|
|
||||||
static BNDResponseTest current_band_mapping_tests [] = {
|
static BNDResponseTest current_band_mapping_tests [] = {
|
||||||
|
{ "#BND: 0", TRUE, FALSE, FALSE, 2, { MM_MODEM_BAND_EGSM,
|
||||||
|
MM_MODEM_BAND_DCS
|
||||||
|
}
|
||||||
|
},
|
||||||
{ "#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_U900
|
||||||
|
Reference in New Issue
Block a user