From 3401d9e29cdfe728ecb28c2eb4487892d4f32ffc Mon Sep 17 00:00:00 2001 From: Lars Poeschel Date: Tue, 11 Aug 2020 13:42:15 +0200 Subject: Add a vendor OFONO_VENDOR_QUECTEL_EC2X The distinction between OFONO_VENDOR_QUECTEL and OFONO_VENDOR_QUECTEL_SERIAL does not suffice for EC21/EC25 in some places, so introduce and use a new vendor: OFONO_VENDOR_QUECTEL_EC2X --- drivers/atmodem/sim.c | 1 + drivers/atmodem/sms.c | 2 ++ drivers/atmodem/vendor.h | 1 + drivers/atmodem/voicecall.c | 3 ++- 4 files changed, 6 insertions(+), 1 deletion(-) (limited to 'drivers') 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) { -- cgit v1.2.1