diff --git a/drivers/atmodem/sim.c b/drivers/atmodem/sim.c index e750a139..6ab91655 100644 --- a/drivers/atmodem/sim.c +++ b/drivers/atmodem/sim.c @@ -1213,6 +1213,7 @@ static void at_pin_retries_query(struct ofono_sim *sim, return; break; case OFONO_VENDOR_QUECTEL: + case OFONO_VENDOR_QUECTEL_EC2X: if (g_at_chat_send(sd->chat, "AT+QPINC?", qpinc_prefix, at_qpinc_cb, cbd, g_free) > 0) return; diff --git a/drivers/atmodem/sms.c b/drivers/atmodem/sms.c index d502da72..ed3b1370 100644 --- a/drivers/atmodem/sms.c +++ b/drivers/atmodem/sms.c @@ -337,6 +337,7 @@ static inline void at_ack_delivery(struct ofono_sms *sms) if (data->cnma_ack_pdu) { switch (data->vendor) { case OFONO_VENDOR_GEMALTO: + case OFONO_VENDOR_QUECTEL_EC2X: snprintf(buf, sizeof(buf), "AT+CNMA=1"); break; case OFONO_VENDOR_QUECTEL_SERIAL: @@ -845,6 +846,7 @@ static gboolean build_cnmi_string(char *buf, int *cnmi_opts, case OFONO_VENDOR_ZTE: case OFONO_VENDOR_SIMCOM: case OFONO_VENDOR_QUECTEL: + case OFONO_VENDOR_QUECTEL_EC2X: /* MSM devices advertise support for mode 2, but return an * error if we attempt to actually use it. */ mode = "1"; diff --git a/drivers/atmodem/vendor.h b/drivers/atmodem/vendor.h index d839d1e0..6bac7f89 100644 --- a/drivers/atmodem/vendor.h +++ b/drivers/atmodem/vendor.h @@ -44,6 +44,7 @@ enum ofono_vendor { OFONO_VENDOR_WAVECOM_Q2XXX, OFONO_VENDOR_ALCATEL, OFONO_VENDOR_QUECTEL, + OFONO_VENDOR_QUECTEL_EC2X, OFONO_VENDOR_QUECTEL_SERIAL, OFONO_VENDOR_UBLOX, OFONO_VENDOR_XMM, diff --git a/drivers/atmodem/voicecall.c b/drivers/atmodem/voicecall.c index e7f24b60..65db0000 100644 --- a/drivers/atmodem/voicecall.c +++ b/drivers/atmodem/voicecall.c @@ -1114,7 +1114,8 @@ static int at_voicecall_probe(struct ofono_voicecall *vc, unsigned int vendor, g_at_chat_send(vd->chat, "AT+CLIP=1", NULL, NULL, NULL, NULL); g_at_chat_send(vd->chat, "AT+CDIP=1", NULL, NULL, NULL, NULL); - if (vd->vendor != OFONO_VENDOR_QUECTEL) + if (vd->vendor != OFONO_VENDOR_QUECTEL && + vd->vendor != OFONO_VENDOR_QUECTEL_EC2X) g_at_chat_send(vd->chat, "AT+CNAP=1", NULL, NULL, NULL, NULL); switch (vd->vendor) { diff --git a/plugins/quectel.c b/plugins/quectel.c index 203b702e..8ca901f2 100644 --- a/plugins/quectel.c +++ b/plugins/quectel.c @@ -1032,7 +1032,7 @@ static void cgmm_cb(int ok, GAtResult *result, void *user_data) data->model = QUECTEL_MC60; } else if (strcmp(model, "EC21") == 0) { DBG("%p model EC21", modem); - data->vendor = OFONO_VENDOR_QUECTEL; + data->vendor = OFONO_VENDOR_QUECTEL_EC2X; data->model = QUECTEL_EC21; } else { ofono_warn("%p unknown model: '%s'", modem, model);