[PATCH 1/3] sim7100: disable IMS on A7671 during power-up

Sean Nyekjaer <[email protected]> Wed, 13 May 2026 14:59:21 +0200
Newsgroups dev.linux.lists.ofono
Message-ID <[email protected]>
SIMCom A7671 modems require IMS to be explicitly disabled, as the
A7671 does not support VoLTE.
---
 plugins/sim7100.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/plugins/sim7100.c b/plugins/sim7100.c
index 7d4a9fd7..1e892007 100644
--- a/plugins/sim7100.c
+++ b/plugins/sim7100.c
@@ -137,6 +137,17 @@ static void ppptim_support_cb(gboolean ok, GAtResult *result,
 	}
 }
 
+static void ims_off_cb(gboolean ok, GAtResult *result, gpointer user_data)
+{
+	struct ofono_modem *modem = user_data;
+	struct sim7100_data *data = ofono_modem_get_data(modem);
+
+	DBG("");
+
+	if (ok)
+		ofono_modem_set_powered(modem, TRUE);
+}
+
 static void cfun_set_on_cb(gboolean ok, GAtResult *result, gpointer user_data)
 {
 	struct ofono_modem *modem = user_data;
@@ -151,6 +162,9 @@ static void cfun_set_on_cb(gboolean ok, GAtResult *result, gpointer user_data)
 		/* does the modem support reset of PPP state upon AT+CFUN=0? */
 		g_at_chat_send(data->at, "AT+PPPTIM?", NULL, ppptim_support_cb,
 			       modem, NULL);
+	else if (data->model == SIMCOM_A7671)
+		g_at_chat_send(data->at, "AT*IMSCFG=\"switch\",off", NULL, ims_off_cb,
+				modem, NULL);
 	else
 		ofono_modem_set_powered(modem, TRUE);
 }
-- 
2.52.0