From patchwork Tue Apr 30 11:52:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648829 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0593413C9C3 for ; Tue, 30 Apr 2024 11:53:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=WqKZR9zZcTb0RFFDI0bGVPrNIm6vduf+zR9jp6LbCBjYNIwgreMZpFWo1+qEx5/7Kalk+60EHlhlgXGySvF0/xll2Dxz7pHYVVWbLBqJPn8LYXSueIpu0dv/zydLsC9bnhyz4pm2SoJzhUjDHelICLIBE5SbgOnbvdj+c2sHCo4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=L7B1SYDaJHNyobc/EAkEV5AvykQ4AuEyczxZ9njm5is=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=sMRLaAq2QK6A5xMiqbv5GAWPCXTA8Z6R0JJJw3mTlO9YLVLzCfkD642+yPpZcLoi/owRDDuw20k4wpCJ43/brmrODa2DW0F9XezkTV862tvrvJio5VDDBNwcyJ6bzeGxKtG0el5L6aLGbkTAtIKhj433lTMvVJT0UoMum2IUVDU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=AfX/dH4E; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="AfX/dH4E" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=jfoG/wi23tkAle5QqIXIEdUK8IKZ70XZ93bT60EKosc=; b=AfX/dH4EDW6epX0MzqWRGhZ/Iv KASakvxCe2pKoQhRr1LV9q6ULIzuT3cGF2lv7I54AWdDyNA5Ogb2ObVvnVxvZxdYAyCgLsaBcd5zt I8lHiqty6T7B5rFq5uCLwO14aYJITClJkGZgLzgI9jEZPPEB8jfxzfbkMxd4xUd3y1UGwFL7uyD6R Hh37y3ORKwaf1fecPzLd2+KM08Y9kTFNissc3pqUe68At60xc/OzflBs86EFUq9wT37iAHFT19bDj J4YkYnIgvpNtr6EqiIVaSskWIXruZDCRO2I9BbDFrFbya2WYKUNdTw+ZPkIy45ie0PsHYEnO2tAbs zzAJjmXQ==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2X-000GTt-KK; Tue, 30 Apr 2024 13:52:53 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2X-000LNp-0y; Tue, 30 Apr 2024 13:52:53 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 01/10] sim7100: simplify serial device opening Date: Tue, 30 Apr 2024 13:52:24 +0200 Message-ID: <20240430115234.180185-1-martin@geanix.com> X-Mailer: git-send-email 2.44.0 Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) Replace the g_at_{tty,syntax,chat} dance with a single call to g_at_util_open_device(). --- plugins/sim7100.c | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/plugins/sim7100.c b/plugins/sim7100.c index c461cc32..4a1ac782 100644 --- a/plugins/sim7100.c +++ b/plugins/sim7100.c @@ -57,6 +57,7 @@ #include #include +#include struct sim7100_data { GAtChat *at; @@ -67,7 +68,7 @@ static void sim7100_debug(const char *str, void *user_data) { const char *prefix = user_data; - ofono_info("%s%s", prefix, str); + ofono_info("%s: %s", prefix, str); } /* Detect hardware, and initialize if found */ @@ -115,36 +116,14 @@ static void cfun_set_on_cb(gboolean ok, GAtResult *result, gpointer user_data) ofono_modem_set_powered(modem, TRUE); } -static int open_device(struct ofono_modem *modem, const char *devkey, - GAtChat **chatp) +static int open_device(struct ofono_modem *modem, char *devkey, GAtChat **chat) { - GIOChannel *channel; - GAtSyntax *syntax; - GAtChat *chat; - const char *device; - DBG("devkey=%s", devkey); - device = ofono_modem_get_string(modem, devkey); - if (device == NULL) - return -EINVAL; - - channel = g_at_tty_open(device, NULL); - if (channel == NULL) + *chat = at_util_open_device(modem, devkey, sim7100_debug, devkey, NULL); + if (*chat == NULL) return -EIO; - syntax = g_at_syntax_new_gsm_permissive(); - chat = g_at_chat_new(channel, syntax); - g_at_syntax_unref(syntax); - g_io_channel_unref(channel); - - if (chat == NULL) - return -EIO; - - if (getenv("OFONO_AT_DEBUG")) - g_at_chat_set_debug(chat, sim7100_debug, ""); - - *chatp = chat; return 0; } From patchwork Tue Apr 30 11:52:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648826 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 058731311B0 for ; Tue, 30 Apr 2024 11:53:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=mHS2mOE3OU7bKUr50OhXUGF4Hs24z8zvNL93ojqiSyuq529S1IXksONlC8Wae+IaWlSc2YK3OzxojbaBJSY9zOikjULtf6f2E8tZVFcme39bP9EVwYwL8EPM+DFOHAcGKntbSrUN+XHf+3Q5LddxkpdemkVrGrY7mYmFzwvIPe4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=i9GvYp8n3wAxoIfQma4rXOJYMJ9lP8azfkUWLidc1LU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bVfKBwy4N+eVHHkSPGsTpFqUNktFtBnyGkoGZASeLAlby2GyaQRFAGnb6VD3aA8mrN+FNi+fosKLpbx7lD9FWtbFWYsTmGos7kubmFOG87NJKj+/tTjBJQOggeF/D4REiytH9ozfAseZUY45hmio5kxkj4fo14dOrHyL5el9l6A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=HUpENskd; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="HUpENskd" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=y+E1T6gO6ibNQDkw75ASOsnvzubSo3Sc12aMHICNrcI=; b=HUpENskdFEyXJdYHXefaikiEDM nKCv1bWmz5UfKSAPHR82b25MMUflYMyrC1J28rLor3j03nLIisr3k1FslVt5G7iMkf86K32RJm2ur XErs5RiIxfp10tfOlicZRhdp0IbnTolS9F1f3RnTqdHD4nmGNVLEAGPA8ZqOz9qktJ6sdhIXbBqn/ tfb4CJADGznBCHtJ+Dd3K8dxhopiqrc+F6iLeBe0s99dCSngeWsd4HqVsUPcFW8SUXWTfGdEc+VXJ Tol7KDsIdm4Km2X6fA9G7uKcVMO8swdlWfOb0FRchTMCNiRUiELctlwAvPGwVLirYK6Oz2POGrboT iR16jCeg==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2X-000GTu-NG; Tue, 30 Apr 2024 13:52:53 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2X-000LNp-1R; Tue, 30 Apr 2024 13:52:53 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 02/10] sim7100: wait for modem to start while enabling Date: Tue, 30 Apr 2024 13:52:25 +0200 Message-ID: <20240430115234.180185-2-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) The sim7100_enable() returns 0 just after queuing the AT+CFUN=1 command, which ofono core interprets as the modem being powered up and in pre-sim state. In fact, the pre-sim state isn't reached until the modem returns OK, which is caught in cfun_set_on_cb() in sim7100.c. Delay the transition from off to pre-sim until the respone is received by return EINPROGRESS instead, and let the (existing) ofono_modem_set_powered() call signal pre-sim to ofono core. --- plugins/sim7100.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/sim7100.c b/plugins/sim7100.c index 4a1ac782..b5e65891 100644 --- a/plugins/sim7100.c +++ b/plugins/sim7100.c @@ -149,7 +149,7 @@ static int sim7100_enable(struct ofono_modem *modem) g_at_chat_send(data->at, "AT+CFUN=1", NULL, cfun_set_on_cb, modem, NULL); - return 0; + return -EINPROGRESS; } static void cfun_set_off_cb(gboolean ok, GAtResult *result, gpointer user_data) From patchwork Tue Apr 30 11:52:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648828 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 058F5134412 for ; Tue, 30 Apr 2024 11:53:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=UXIBULWxBiZyEfO6t9Wl/qUcccFBUCdTLAlqf3t23DBeJBNMjZ5wD0WCw/PeYy+m8+OgfEIgkE/4h7pfJti+ptS+/Z4t+5CrOFa9HVIrlmiRmplon2REmN7w7Kx8Cn4eH8KfOF3nYweHo5F3t1ZIgzuv/J+lcRoEnJ4YU6vKSbs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=hurTair7Hlv5kROI/p+kSfPv+cn4cEuVf3IIrY4NZOc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Fu93iPf/xEZjpt13K2/g5/gSY7cihlX6Nb9pay5OsGZzs+WWeZO6MXXe7VV0O9PVDDj/FGlwQCPVvEItc2Mld7Pmo5CwpmhBF9Q+iwYrCIfn9Tu5/1dr/q8FZlTq/AFbWIFtW5L+BjTS1z2A+9I9/8qfkytfVyztnjar2p3iX+Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=Ndien5In; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="Ndien5In" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=Gk4hQeU3TVPpll7cZ5Kd1YZyGdIGZtoYHxlbCTsTwvA=; b=Ndien5InSKv3Qv5I1Akr+Vf+hl zh53KiTgvqilxmdP+6WjxC+/QsV7gUa+cCEMV/HZg7CcYquMgbvxjh5eeruCjtGo33cH37ANVvAKd jykTftmUdiOPjmlzgHMfmp1wum9qbL7piVJ9kz7lSUkIpB42pKWU5FbypviisJasOuc/a6VXEstCJ h3mDTFbhmW7n55Wzvxm0ww2BBILU1SvOZfg0KBZS1Y9EHRT1+o4UBlaX9QJcAMviiy48miCIM4tal Z/EKHfKLqXcZZrmJgDINq5YopjdlPkXNdsPpZnl4nQL3zn4P4uldeYxumq3N1YdsPQUXVQhewvanL ageYMnYQ==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2X-000GTw-U2; Tue, 30 Apr 2024 13:52:53 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2X-000LNp-1t; Tue, 30 Apr 2024 13:52:53 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 03/10] sim7100: query device model during enable Date: Tue, 30 Apr 2024 13:52:26 +0200 Message-ID: <20240430115234.180185-3-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) Adding support for more simcom modems in the sim7100 driver requires certain variants handlings based on the present modem model. Default to an "unknown" variant to keep the existing behaviour, and introduce the A76XX model to use when later adding support for the A7672 vartiant. --- plugins/sim7100.c | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/plugins/sim7100.c b/plugins/sim7100.c index b5e65891..1c80f4ba 100644 --- a/plugins/sim7100.c +++ b/plugins/sim7100.c @@ -59,9 +59,15 @@ #include #include +enum sim7x00_model { + SIMCOM_UNKNOWN = 0, + SIMCOM_A76XX, +}; + struct sim7100_data { GAtChat *at; GAtChat *ppp; + enum sim7x00_model model; }; static void sim7100_debug(const char *str, void *user_data) @@ -116,6 +122,38 @@ static void cfun_set_on_cb(gboolean ok, GAtResult *result, gpointer user_data) ofono_modem_set_powered(modem, TRUE); } +static void cgmm_cb(gboolean ok, GAtResult *result, gpointer user_data) +{ + struct ofono_modem *modem = user_data; + struct sim7100_data *data = ofono_modem_get_data(modem); + GAtResultIter iter; + const char *model; + + if (!ok) { + ofono_error("%s: failed to query model", ofono_modem_get_path(modem)); + ofono_modem_set_powered(modem, FALSE); + return; + } + + g_at_result_iter_init(&iter, result); + + while (g_at_result_iter_next(&iter, NULL)) { + if (!g_at_result_iter_next_unquoted_string(&iter, &model)) + continue; + + DBG("modem model: %s", model); + + if (g_str_has_prefix(model, "A7672")) + data->model = SIMCOM_A76XX; + + break; + } + + /* power up modem */ + g_at_chat_send(data->at, "AT+CFUN=1", NULL, cfun_set_on_cb, modem, + NULL); +} + static int open_device(struct ofono_modem *modem, char *devkey, GAtChat **chat) { DBG("devkey=%s", devkey); @@ -145,9 +183,8 @@ static int sim7100_enable(struct ofono_modem *modem) /* ensure modem is in a known state; verbose on, echo/quiet off */ g_at_chat_send(data->at, "ATE0Q0V1", NULL, NULL, NULL, NULL); - /* power up modem */ - g_at_chat_send(data->at, "AT+CFUN=1", NULL, cfun_set_on_cb, - modem, NULL); + /* query modem model string */ + g_at_chat_send(data->at, "AT+CGMM", NULL, cgmm_cb, modem, NULL); return -EINPROGRESS; } From patchwork Tue Apr 30 11:52:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648825 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 058B9134403 for ; Tue, 30 Apr 2024 11:53:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=ff7moqQBlxLdD9YNUg4DfsZGGLv3Ou4GUUxpAb4E2dTU/FgaOG+Z5C9YEYmPlgYGNX9vlGbz5Z5g6tk/1UFLa/FSHzdb5QgxPZEJaseh/Q+V2zAG1HKsyRHT1352OG6XiFryZLhg0G7FOhT7ZRR8Err2L4NrjDxTA5MhJNrX/c0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=5IshX65bbZbSBYgTgbCX54m5k0jZlPDcNH7HLK+ZKC8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=e489LFSeIXcUcnpvPTbzZsAf+A3OVJcI7avJdS+4S26mt8XDP/fYzlwt2WqNp6MqUBfR9qLiV9ylBS0Y+XFug856vzDTri9wt/s/U3o3aQEh+4M9tkX5MWs6kl6vLLBcTVqk8f6NAit3WMUzMSmif9mx7Ipe9vxE4pNTK8InETo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=gZdJNwJ6; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="gZdJNwJ6" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=ooarV3S23MeFyEO89PgDBgJT+3VvB4BRufPC2ySee6w=; b=gZdJNwJ65hA6aYvJj3RkWp91ho IF24QNFG4RyqlLVFsnmHJyKApAF3itIUOwDrmtAW+6yUSI3FdQ87SE5/7sTmWD2pg6X0/py16bSGR DBIdfcoi9hPfOIpOdB9tDoXEerOX98WagGLpDofzKkcZrDEuJw3ZlNYWmGbAxc/2wDBCOyJtPETYK Xp08HEU9w+YIuo8kXy8KE1/B0ozAWHLDpPf70BaphkJFA9T3fLWXatr1g6xnTp2JosgmwBLJ2hqFU nRd/2F6FY4uMSBuvemDRM+fwmfcTAFoYqOtOYow3AVq0Px6Wda/VXSn8SVYZvMavi9+1GWMTkTf1n A+Ze14ug==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2Y-000GU9-2R; Tue, 30 Apr 2024 13:52:54 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2X-000LNp-2O; Tue, 30 Apr 2024 13:52:53 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 04/10] sim7100: implement set_online() Date: Tue, 30 Apr 2024 13:52:27 +0200 Message-ID: <20240430115234.180185-4-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) Enter pre-sim state using AT+CFUN=4, and move the AT+CFUN=1 call into the added set_online() callback. The modem (at least the A7672E variant) generously issues unsolicited events between the CFUN command and the OK response, so match on the +CFUN: prefix only in set_online(). --- plugins/sim7100.c | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/plugins/sim7100.c b/plugins/sim7100.c index 1c80f4ba..f4979ffe 100644 --- a/plugins/sim7100.c +++ b/plugins/sim7100.c @@ -59,6 +59,8 @@ #include #include +static const char *cfun_prefix[] = { "+CFUN:", NULL }; + enum sim7x00_model { SIMCOM_UNKNOWN = 0, SIMCOM_A76XX, @@ -150,7 +152,7 @@ static void cgmm_cb(gboolean ok, GAtResult *result, gpointer user_data) } /* power up modem */ - g_at_chat_send(data->at, "AT+CFUN=1", NULL, cfun_set_on_cb, modem, + g_at_chat_send(data->at, "AT+CFUN=4", NULL, cfun_set_on_cb, modem, NULL); } @@ -265,11 +267,42 @@ static void sim7100_post_sim(struct ofono_modem *modem) ofono_message_waiting_register(mw); } +static void set_online_cb(gboolean ok, GAtResult *result, gpointer user_data) +{ + struct cb_data *cbd = user_data; + ofono_modem_online_cb_t cb = cbd->cb; + struct ofono_error error; + + DBG("ok: %i", ok); + + decode_at_error(&error, g_at_result_final_response(result)); + cb(&error, cbd->data); +} + +static void sim7100_set_online(struct ofono_modem *modem, ofono_bool_t online, + ofono_modem_online_cb_t cb, void *user_data) +{ + struct sim7100_data *data = ofono_modem_get_data(modem); + struct cb_data *cbd = cb_data_new(cb, user_data); + char const *command = online ? "AT+CFUN=1" : "AT+CFUN=4"; + + DBG("%s", online ? "online" : "offline"); + + if (g_at_chat_send(data->at, command, cfun_prefix, set_online_cb, cbd, + g_free) > 0) + return; + + CALLBACK_WITH_FAILURE(cb, cbd->data); + + g_free(cbd); +} + static struct ofono_modem_driver sim7100_driver = { .probe = sim7100_probe, .remove = sim7100_remove, .enable = sim7100_enable, .disable = sim7100_disable, + .set_online = sim7100_set_online, .pre_sim = sim7100_pre_sim, .post_sim = sim7100_post_sim, }; From patchwork Tue Apr 30 11:52:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648821 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0597213CFB5 for ; Tue, 30 Apr 2024 11:53:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477984; cv=none; b=V4fzVkzKYuGofGlkti9zhuagKb6G+eM31dO2RaI3CwdAg0jp7vz+C6JobDtvoas5Y4f6+BygysZO7jwsWLaegqBrT+UJTwiO2H2MRxQkGkWD/4i6NpoXrCkOOba9zJZfH/cklz4qk5+tS66AyW6BCxAKFL/q+WPO2qiPODwmvc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477984; c=relaxed/simple; bh=mT2GjgqPrEO98g0eJh1qPIS5koA61Bi7HprH0rcCS9Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z905/j4kwhb6nNYmLM879xKUHlezP8ndbjJRJePPqrEYb8mcVOf37vVq8BPW/w9K3J3y7J2gA27mfhOJVxsArWn6/LAk6/kwwLWYXXzdfo4nlyT+pLNvVSIR/G3TZ0A6T6NTeeVgmv5PISuFMLU0oJKhBPiZHPESiCjc5X/Rops= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=QmSg3zqI; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="QmSg3zqI" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=3zqAqdxtf1Gf0qkEKGTEiznEE2gKLuoc+1h9mGxqtgY=; b=QmSg3zqIX4XQwGjxzW3HPpRaLg jg+zxaA8F+WaOJzODQZA2sVaQFkwKI/IwWQaMQbZAJafNn6rLtEv9mxVqXPVxJk5jo6tZpqqfAMmW 3w0vcX3OwAWWoyt2+gj/1P0cUM6oom1jNRl+cMMtPGutAbfr3gahx+seRmz//uITb6LOcVdZfkMzZ QhNRVjYaY7xRm4gAm+FYU4wQuCj7462gZDWuPQx72ADr+ISzA08uwnOaMZyuSM5zDgDXcgghOCE75 +orRkaRNP77rZ0VCjNbaqUcUMPH9wNEI40CHITDEyf3gQPJwNFNMMgBGBjfWBYZ9Q4Cwnw3Xwg51W ibv9v7jg==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2Y-000GUG-7D; Tue, 30 Apr 2024 13:52:54 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2X-000LNp-2s; Tue, 30 Apr 2024 13:52:53 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 05/10] sim7100: fix going offline for A76XX modems Date: Tue, 30 Apr 2024 13:52:28 +0200 Message-ID: <20240430115234.180185-5-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) When tearing down the PPP context, the SIMCom A7672 modem issues a NO CARRIER event on the control channel, which is detected as an error when processing the AT+CFUN=4 respones. Make the set_online(false) call succed by ignoring the NO CARRIER event. --- plugins/sim7100.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plugins/sim7100.c b/plugins/sim7100.c index f4979ffe..2e9d0eb3 100644 --- a/plugins/sim7100.c +++ b/plugins/sim7100.c @@ -151,6 +151,16 @@ static void cgmm_cb(gboolean ok, GAtResult *result, gpointer user_data) break; } + switch (data->model) { + case SIMCOM_A76XX: + /* ignore NO CARRIER on the AT channel when disconnecting PPP */ + g_at_chat_blacklist_terminator(data->at, + G_AT_CHAT_TERMINATOR_NO_CARRIER); + break; + default: + break; + } + /* power up modem */ g_at_chat_send(data->at, "AT+CFUN=4", NULL, cfun_set_on_cb, modem, NULL); From patchwork Tue Apr 30 11:52:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648823 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7123F13D247 for ; Tue, 30 Apr 2024 11:53:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=UFW9MN+5S03NvvLNfCAW7AaMqWIJ5Aqt8hD8bibHtPeDdjpRj2Avu6IA7RHMshN261SlVa0r3ZkQv75W0hN0AVbVsEDu80n7mTIk4Vs1YjRkgHMXHc9Yr8YtJwPRsLxrgpBEHsnZdrtaE2xOI0QK6HgUprEUQ15gZ0mPmJ6Lbh0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=ObNxtuuMi5f5pe+DgyLzpgn9J2c3dw+c/YvWwg1R0vc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FVKSF70NK1cOZDBrrx1XeHQ5DZtH5DBlctubRs52QuPYDD16nVSS6jJ+nwptVTT5Wsdn80pGh88GoU2/9O/PJd3xFs5z7zAZ7gG7Wn0xNBU9EOjFy3VtOpRBxY/FsFqUQbS1lGtcJeP9abbrCoXy9vUil21LK9VfRnp1FpVekTE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=o56f0B8L; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="o56f0B8L" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=V69CtUYvXXuu5cBNQ5Cz1uIa+B9gRFbCbvjaVe8pHvY=; b=o56f0B8LWqXG1aEnYqAVkF4Jht JV/eqo2iIGLIEsaVR5g7rYu6N6nfmF11qLi7Hzh5crP8hc9KQ4SlQCEaWjPR3+Uu0/96fUfTZDtS7 RubbsO/ssU2qW/KGBfG4sOn07ZMp9WuzUVT8ngHEXsDwzVbPN28+4i6K/FNHz+ffzSVV0DT46EXe/ QMuKRj2qKhSVgZ2rbAmt/wqH6IYjXp07CrT49gtSWkfnGFp/XKfwiLAt+MakHpbCbzEi69u1ArstN OwTOIxugCQEWhjNwl3EJ8Lz8AFap2CnottWeDJ60h7xpJwEc4p0mZw7Sv01uXpH9Aekh9jlQX9J27 yuIz6n7g==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2Y-000GUS-Dg; Tue, 30 Apr 2024 13:52:54 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2Y-000LNp-06; Tue, 30 Apr 2024 13:52:54 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 06/10] atmodem: introduce SIMCom A76XX vendor quirks Date: Tue, 30 Apr 2024 13:52:29 +0200 Message-ID: <20240430115234.180185-6-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) As a preparation for adding support for the SIMCom A7672 modem, certain quirks are needed in the atmodem driver. The OFONO_VENDOR_SIMCOM enum is already shared by the existing sim7100 and sim900 drivers, so a new "sub-vendor" enum is needed. The new sub-vendor enum allows adding A7672 support to the sim7100 driver without changing behavior for other devices already supported. A few of the existing simcom vendor quirks are replaced by the new sub-vendor enum instead of making them apply to both. These places were introduced in commit c3da88e1 ("drivers: adding support for the SIMCom A7605E-H"), which should apply to the A7672E modem too. --- drivers/atmodem/gprs.c | 4 ++-- drivers/atmodem/network-registration.c | 1 + drivers/atmodem/sim.c | 4 +++- drivers/atmodem/sms.c | 1 + drivers/atmodem/vendor.h | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/atmodem/gprs.c b/drivers/atmodem/gprs.c index e0441545..8ff9d796 100644 --- a/drivers/atmodem/gprs.c +++ b/drivers/atmodem/gprs.c @@ -675,7 +675,7 @@ static void gprs_initialized(gboolean ok, GAtResult *result, gpointer user_data) g_at_chat_send(gd->chat, "AT#PSNT=1", none_prefix, NULL, NULL, NULL); break; - case OFONO_VENDOR_SIMCOM: + case OFONO_VENDOR_SIMCOM_A76XX: g_at_chat_register(gd->chat, "+CNSMOD:", simcom_mode_notify, FALSE, gprs, NULL); g_at_chat_send(gd->chat, "AT+CNSMOD=1", none_prefix, @@ -805,7 +805,7 @@ retry: g_at_chat_send(gd->chat, cmd, none_prefix, NULL, NULL, NULL); - if (gd->vendor != OFONO_VENDOR_SIMCOM) + if (gd->vendor != OFONO_VENDOR_SIMCOM_A76XX) g_at_chat_send(gd->chat, "AT+CGAUTO=0", none_prefix, NULL, NULL, NULL); diff --git a/drivers/atmodem/network-registration.c b/drivers/atmodem/network-registration.c index 2697d3c5..3ceca12d 100644 --- a/drivers/atmodem/network-registration.c +++ b/drivers/atmodem/network-registration.c @@ -1936,6 +1936,7 @@ static void at_creg_set_cb(gboolean ok, GAtResult *result, gpointer user_data) switch (nd->vendor) { case OFONO_VENDOR_SIMCOM: + case OFONO_VENDOR_SIMCOM_A76XX: /* Register for CSQ changes */ g_at_chat_send(nd->chat, "AT+AUTOCSQ=1,1", none_prefix, NULL, NULL, NULL); diff --git a/drivers/atmodem/sim.c b/drivers/atmodem/sim.c index d75a09c2..6fe5efce 100644 --- a/drivers/atmodem/sim.c +++ b/drivers/atmodem/sim.c @@ -1199,6 +1199,7 @@ static void at_pin_retries_query(struct ofono_sim *sim, return; break; case OFONO_VENDOR_SIMCOM: + case OFONO_VENDOR_SIMCOM_A76XX: if (g_at_chat_send(sd->chat, "AT+SPIC", simcom_spic_prefix, simcom_spic_cb, cbd, g_free) > 0) return; @@ -1355,6 +1356,7 @@ static void at_pin_send_cb(gboolean ok, GAtResult *result, case OFONO_VENDOR_ALCATEL: case OFONO_VENDOR_HUAWEI: case OFONO_VENDOR_SIMCOM: + case OFONO_VENDOR_SIMCOM_A76XX: case OFONO_VENDOR_SIERRA: /* * On ZTE modems, after pin is entered, SIM state is checked @@ -1647,7 +1649,7 @@ static void at_discover_apps(struct ofono_sim *sim, * command with SIM cards of some operators */ if (sd->vendor == OFONO_VENDOR_QUECTEL_EC2X - || sd->vendor == OFONO_VENDOR_SIMCOM) + || sd->vendor == OFONO_VENDOR_SIMCOM_A76XX) goto error; cbd = cb_data_new(cb, data); diff --git a/drivers/atmodem/sms.c b/drivers/atmodem/sms.c index c69fe947..be0c7ada 100644 --- a/drivers/atmodem/sms.c +++ b/drivers/atmodem/sms.c @@ -846,6 +846,7 @@ static gboolean build_cnmi_string(char *buf, int *cnmi_opts, case OFONO_VENDOR_HUAWEI: case OFONO_VENDOR_ZTE: case OFONO_VENDOR_SIMCOM: + case OFONO_VENDOR_SIMCOM_A76XX: case OFONO_VENDOR_QUECTEL: case OFONO_VENDOR_QUECTEL_EC2X: case OFONO_VENDOR_DROID: diff --git a/drivers/atmodem/vendor.h b/drivers/atmodem/vendor.h index 82284e44..90446943 100644 --- a/drivers/atmodem/vendor.h +++ b/drivers/atmodem/vendor.h @@ -41,6 +41,7 @@ enum ofono_vendor { OFONO_VENDOR_SAMSUNG, OFONO_VENDOR_SIMCOM, OFONO_VENDOR_SIMCOM_SIM900, + OFONO_VENDOR_SIMCOM_A76XX, OFONO_VENDOR_ICERA, OFONO_VENDOR_WAVECOM_Q2XXX, OFONO_VENDOR_ALCATEL, From patchwork Tue Apr 30 11:52:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648824 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E91013D24C for ; Tue, 30 Apr 2024 11:53:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=nY49NDVCbM4QVhO495WVS0/E0kphHM0i9CHBQdNAp0ttwUO4jkYtE5y9f7lgI4xVt8j8eCztFs0Og2CsBGUbNadm5WxvqKDRIGePyvzDmN51L/hC1tDBehtgWVdFBlkaXV6tuPTkuZLVPtf6xPylNL8dNuMFc00Sj2xWSQRUjA4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=2SwFsq5OKSc3lEy9kyXrRU1N7ffuyKvH3LJG4NbmJrw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JApWXStL5oLh/n9R+wDMakfm3agXQUiw6VaLswhknP1nikzzMKvdHEnZCMt8e6rTaT0J/DczkTbcJtQ3S0lmEFe8dA9Q5bGnbdsdslUB1SU5Ufy+az0Ug0VXPNzdF/HEpwj8vdOKOwwtnaaYrq3S+0YT+b+7HRIm4Yd7qxysj2Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=WgA4c/il; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="WgA4c/il" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=OxSQ1g7pexeun+s6ZP2lcYHpQ5sxNa94NopqRBIxruE=; b=WgA4c/il0xfqfSh8tgqpLBvY1U tM3j6kQbOVh9QoD1lK6Oq+1/KV0dmkUrI4WDJGBchkd+rAfYhj2/97vI7qD89UXBq59JKrxqSIPmx 08Z3Keos5BrGYEuv7t61Mp2d//+h54WqoRoFFCcfz6TcoxVQqwmdhg5KFpRFT8e76XCNc4eEgqShR q+xyls2zB0i8pQbfZ2t677ZbHbvvM6MGqlVSpMcUaCLEnj8AswshDCPGiV5Qwe3HirweGfpgUmogN 799257YFwzUb/rhB8EiMYIBaROuTzZer/TtbkdJ9HlCD+9rUqQ+k7N3quQC/NgIH4Si2+j3gdSY/Q WJWylXvw==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2Y-000GUc-FU; Tue, 30 Apr 2024 13:52:54 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2Y-000LNp-0c; Tue, 30 Apr 2024 13:52:54 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 07/10] sim7100: enable A76XX simcom vendor quirks for relevant atoms Date: Tue, 30 Apr 2024 13:52:30 +0200 Message-ID: <20240430115234.180185-7-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) Use the recently added detection of modem model to apply the even more recently added SIMCom sub-vendor id when creating atoms. The "old" SIMCom vendor id is shared between the sim7100 and sim900 drivers, and so changing the 0 vendor id's for the existing ofono_*_create() calls might have unexpected side-effects. Avoid such changes by calling the needed ofono_*_create() functions separately for each model instead. --- plugins/sim7100.c | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/plugins/sim7100.c b/plugins/sim7100.c index 2e9d0eb3..192559d6 100644 --- a/plugins/sim7100.c +++ b/plugins/sim7100.c @@ -241,8 +241,19 @@ static void sim7100_pre_sim(struct ofono_modem *modem) DBG(""); ofono_devinfo_create(modem, 0, "atmodem", data->at); - sim = ofono_sim_create(modem, 0, "atmodem", data->at); - ofono_voicecall_create(modem, OFONO_VENDOR_SIMCOM, "atmodem", data->at); + + switch (data->model) { + case SIMCOM_A76XX: + sim = ofono_sim_create(modem, OFONO_VENDOR_SIMCOM_A76XX, + "atmodem", data->at); + ofono_voicecall_create(modem, 0, "atmodem", data->at); + break; + default: + sim = ofono_sim_create(modem, 0, "atmodem", data->at); + ofono_voicecall_create(modem, OFONO_VENDOR_SIMCOM, + "atmodem", data->at); + break; + } if (sim) ofono_sim_inserted_notify(sim, TRUE); @@ -260,13 +271,27 @@ static void sim7100_post_sim(struct ofono_modem *modem) ofono_ussd_create(modem, 0, "atmodem", data->at); ofono_call_forwarding_create(modem, 0, "atmodem", data->at); ofono_call_settings_create(modem, 0, "atmodem", data->at); - ofono_netreg_create(modem, 0, "atmodem", data->at); ofono_call_meter_create(modem, 0, "atmodem", data->at); ofono_call_barring_create(modem, 0, "atmodem", data->at); - ofono_sms_create(modem, OFONO_VENDOR_SIMCOM, "atmodem", data->at); ofono_phonebook_create(modem, 0, "atmodem", data->at); - gprs = ofono_gprs_create(modem, 0, "atmodem", data->at); + switch (data->model) { + case SIMCOM_A76XX: + ofono_netreg_create(modem, OFONO_VENDOR_SIMCOM_A76XX, + "atmodem", data->at); + ofono_sms_create(modem, OFONO_VENDOR_SIMCOM_A76XX, + "atmodem", data->at); + gprs = ofono_gprs_create(modem, OFONO_VENDOR_SIMCOM_A76XX, + "atmodem", data->at); + break; + default: + ofono_netreg_create(modem, 0, "atmodem", data->at); + ofono_sms_create(modem, OFONO_VENDOR_SIMCOM, "atmodem", + data->at); + gprs = ofono_gprs_create(modem, 0, "atmodem", data->at); + break; + } + gc = ofono_gprs_context_create(modem, 0, "atmodem", data->ppp); if (gprs && gc) From patchwork Tue Apr 30 11:52:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648827 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D2EF13D249 for ; Tue, 30 Apr 2024 11:53:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=ufe1Mm1dB5uYj2XyQkdB0fuU4VjlTZqKeTOFde/CaY3+ZrvO3BHqL6hDL+zEmEjDQBMNsntWLscJFbCDpXGN6PUA6H2kJleM2qZm0Sqfhw+5YgRbSbjoHCpYsCuLWvJNKUUug7g+pjl/uRMNVQiJFJx4goICETvZGclnKd2XLrg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=2Mfi14ZT0soB+FBhUQQPCcVRGzEUi8qS3iBcXrpYoz4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=V/WxVnlGJfhyXVr0B2BDCBq4uO9Z2B9LLkWwmAgVzgo3t4ERNtRdwZuHZzrkx7/y76CAxWymIReucLoypfpmSdQaATIy6OK1UJgnMIhJuMIjUkf95/JSLaqR/s/BuIkmpu0nJZ2KSGBqt2fgCDA6XDQnKn74+duLtQTrSgC+BVc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=kjuVeo1g; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="kjuVeo1g" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=k8K+HkcFSMtud5QKRQ83m6T26fUswEdemsDU4TQGf4E=; b=kjuVeo1g4kbp5aVUv2X9Z32C+W LF9jrkfcqI5BUaI8p+9XHb5Ryl3N9o404JzcYa9flFVxRgWX6P0aKKb6TA9ulXZBUplniA1kLg1QW fx6tmqyPKzpTloPlnIVNXS0NXZxs0zsFQK2FDHzPvrk7IaXaZGXmZnZSg5kKWS01SBO+p82i7cbFc KRWSrEdt/FBYn04uqlP7otS56FNZMAD33lIXBQdaiVS6tIn6YlWNx/10BMC30Ajmpn08mXVE+UjpY Cz1aq7nqln02xca0tgV3a462YnPF/uXnO6JQ7tr3VDArrFJs1dFLb6SItvS4ki3OYHUqF6+m55UV5 OqRC4ukQ==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2Y-000GUh-M1; Tue, 30 Apr 2024 13:52:54 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2Y-000LNp-17; Tue, 30 Apr 2024 13:52:54 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 08/10] udevng: register support for SIMCom A76XX USB serial modem Date: Tue, 30 Apr 2024 13:52:31 +0200 Message-ID: <20240430115234.180185-8-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) Register the 1e0e:9011 usb id as a specialization of the sim7100 driver. Use a new setup() function to handle the different order (and amount) of USB endpoint numbers without introducing too much complexity to the existing setup() function. --- plugins/udevng.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/plugins/udevng.c b/plugins/udevng.c index b9d115f1..4267c892 100644 --- a/plugins/udevng.c +++ b/plugins/udevng.c @@ -1630,6 +1630,57 @@ static gboolean setup_sim7x00(struct modem_info *modem) return TRUE; } +static gboolean setup_sim76xx(struct modem_info *modem) +{ + const char *diag = NULL; + const char *mdm = NULL; + const char *ppp = NULL; + const char *gps = NULL; + GSList *list; + + DBG("%s", modem->syspath); + + for (list = modem->devices; list; list = list->next) { + const struct device_info *info = list->data; + const char *subsystem; + + subsystem = udev_device_get_subsystem(info->udev_device); + if (!g_str_equal(subsystem, "tty")) + continue; + + DBG("%s %s %s", info->devnode, info->interface, info->number); + + /* + * SIM76xx USB numbering: + * 0: RNDIS (ep_87) + * 1: RNDIS (ep_0c and ep_83) + * 2: QCDM/DIAG (ttyUSB0) + * 3: NMEA (ttyUSB3) + * 4: AT (ttyUSB1) + * 5: AT/PPP (ttyUSB2) + */ + if (g_str_equal(info->number, "02")) + diag = info->devnode; + else if (g_str_equal(info->number, "03")) + gps = info->devnode; + else if (g_str_equal(info->number, "04")) + mdm = info->devnode; + else if (g_str_equal(info->number, "05")) + ppp = info->devnode; + } + + if (mdm == NULL) + return FALSE; + + DBG("at=%s ppp=%s gps=%s diag=%s", mdm, ppp, gps, diag); + + ofono_modem_set_driver(modem->modem, "sim7100"); + ofono_modem_set_string(modem->modem, "AT", mdm); + ofono_modem_set_string(modem->modem, "PPP", ppp); + + return TRUE; +} + static struct { const char *name; gboolean (*setup)(struct modem_info *modem); @@ -1650,6 +1701,7 @@ static struct { { "telitqmi", setup_telitqmi }, { "simcom", setup_simcom }, { "sim7x00", setup_sim7x00 }, + { "sim76xx", setup_sim76xx }, { "zte", setup_zte }, { "icera", setup_icera }, { "samsung", setup_samsung }, @@ -2033,6 +2085,7 @@ static struct { { "simcom", "option", "05c6", "9000" }, { "sim7x00", "option", "1e0e", "9001" }, { "sim7x00", "qmi_wwan", "1e0e", "9001" }, + { "sim76xx", "option", "1e0e", "9011" }, { "telit", "usbserial", "1bc7" }, { "telit", "option", "1bc7" }, { "telit", "cdc_acm", "1bc7", "0021" }, From patchwork Tue Apr 30 11:52:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648822 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6FC1913D246 for ; Tue, 30 Apr 2024 11:53:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=hceZ1ueLRngQM9IOtVAK7sxxmVjip/k1a8lTmtxgLrvsxHJXfiSclu2ExGVjAcYEye1hOz8MVbXklN3hUtdZv4H8uszZj+cutY0c40T7mOUOLFmOAoChSsbMx1XNE1uG6eBl6VEorm3ZLCjWv8zCJ3MZnQNps3X7rBtZbbXAGBc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=3c+n6xwMM520zFicEMVLZPd+kQxh/Wqj5HipL4u6N+U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nGGG90DV3d8gSQLOw0xidg2QOjdkCB4tZCDS385t3hlIVwH4CWgLrHEB0HdXgSsul8rn5hIIS9VimXvTyyou3DUkNuykawvV9Kv7XKK9cHLwDYtgl2gZz6XE5yt2gEKZiY3WTbBA+arDIY0tr0TDHcmy+RD3BqX2tW9WjWNq5s4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=0cwAoAhM; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="0cwAoAhM" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=rOkubSj53sIU+NZu0Sk++2KdxSNEz+Rh6p5AoeBEYNA=; b=0cwAoAhManQuNEhJpmam4WLIXO BwDE7OAXIcAyQl8cyamXRptlKdoAvqYBeO09t5DQWzdO92se1dEvrkV4E8fJMuK0jetQU5ShLtwyl Qyad6i058bw9rspQDvruIk/DQLWou0T5uB+IdOo86NKGGBuY3lHamxcmBXFUAJACo7zd6vxEgjCAY SL5irNPqVQkwO7i2M5jFgU2QcyK5dkF36V8TZlPi4yNdtyQtnzH3Jin/PH6XD5i8AoL9YF/IdQZgF o/qedJc+uWcBKdXeIDI+vsxM7UcMxbwxhmiCrTBS2aIlOCaXvCCxHl2fyYrr0zM7u6TI5j2pBbttk Wb7hYDWw==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2Y-000GUv-Ov; Tue, 30 Apr 2024 13:52:54 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2Y-000LNp-1c; Tue, 30 Apr 2024 13:52:54 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 09/10] Makefile: enable build of simcommodem radiosettings Date: Tue, 30 Apr 2024 13:52:32 +0200 Message-ID: <20240430115234.180185-9-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) This change was missing from commit c3da88e1 ("drivers: adding support for the SIMCom A7605E-H"). Add it now to allow radio-settings support for SIMCom A76XX modems. --- Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.am b/Makefile.am index 36319d98..44fb7b1b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -532,6 +532,9 @@ builtin_sources += drivers/atmodem/atutil.h \ builtin_sources += drivers/atmodem/atutil.h \ drivers/quectelmodem/radio-settings.c +builtin_sources += drivers/atmodem/atutil.h \ + drivers/simcommodem/radio-settings.c + if PHONESIM builtin_modules += phonesim builtin_sources += plugins/phonesim.c From patchwork Tue Apr 30 11:52:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Hundeb=C3=B8ll?= X-Patchwork-Id: 13648830 Received: from www530.your-server.de (www530.your-server.de [188.40.30.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3243E13D244 for ; Tue, 30 Apr 2024 11:53:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=188.40.30.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; cv=none; b=cXuoz9DairPG2pSWyi0JvLR5ozgtcSSJlQ1G6raPgxTnshmuDE3Is12EmKv8+EX4vSKjfMLc3X7AkPAMHv35rPSBT0fQbQ5ZyD4xKyW2UkqVdjRNe3KzixtyVQZk419Xa/5L0MOe6TdgdTlU0+oWSW2e5tED6YhhrXveGK75aJM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714477985; c=relaxed/simple; bh=SaUbt63thWBnA3Oba5KoK8PppU8qE5nUWPDPJXNT8cg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rUouzt7Vz3lN7z+tRfFQNi8qa/U+qYm2ZXF+BwnPPi8bmzixiBeW8Q3bnuI7UzMEnSiEDXLfILNqPWtAVe14j3b+Wc8wzMJoQIp/MP/73M9zw6Q0GMbBzkq3AtoH/obhHr9s2hJLnyXiWWHrGLa9V5N8+4cnrVW+B2dXP3T3eT0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com; spf=pass smtp.mailfrom=geanix.com; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b=FPJ0mMON; arc=none smtp.client-ip=188.40.30.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=geanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=geanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=geanix.com header.i=@geanix.com header.b="FPJ0mMON" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=geanix.com; s=default2211; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID; bh=+QWHZqqYHx8GsZDXPfX/n/xrJowx9aa63O4q4DAeefQ=; b=FPJ0mMONN1de5lQj1Bq+GbGUCG c+shIU6qgOCPzY4QRYI9f8ICkP11Lolrg/oI/ujuRYIDFbrn82bTyCQjw7FDgdhPUqeEVraS32iJC JUDaeKGb4cpD3VAGwCkmYeHFZ9MI5UHJmrJOw0oLVapWXS+sIQzviJXeptY52zsZWsuW0nQV8owvh i0iVML1KKYWoizPu9TzgT/q0Ojh9kvWu/cXBGiWIdx+gTFrx/8twd24bi6hTdcAVw0WdU7CIY4rX8 FFLFowToBqtM8lw5SGFxLF2ItSyaQzGFBEiPqhIDK3mCNfs3JZYcJUqSl4e91FWsLjkfbG7rt0RI7 +ZLoJM0Q==; Received: from sslproxy06.your-server.de ([78.46.172.3]) by www530.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s1m2e-000GV0-2F; Tue, 30 Apr 2024 13:53:00 +0200 Received: from [185.17.218.86] (helo=martin.geanix.com) by sslproxy06.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1s1m2Y-000LNp-28; Tue, 30 Apr 2024 13:52:54 +0200 From: =?utf-8?q?Martin_Hundeb=C3=B8ll?= To: ofono@lists.linux.dev Cc: =?utf-8?q?Martin_Hundeb=C3=B8ll?= , MaxLyubimov Subject: [PATCH 10/10] sim7100: create radio-settings atom for A76XX modems Date: Tue, 30 Apr 2024 13:52:33 +0200 Message-ID: <20240430115234.180185-10-martin@geanix.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240430115234.180185-1-martin@geanix.com> References: <20240430115234.180185-1-martin@geanix.com> Precedence: bulk X-Mailing-List: ofono@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Authenticated-Sender: martin@geanix.com X-Virus-Scanned: Clear (ClamAV 0.103.10/27261/Tue Apr 30 10:23:42 2024) --- plugins/sim7100.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/sim7100.c b/plugins/sim7100.c index 192559d6..90f97742 100644 --- a/plugins/sim7100.c +++ b/plugins/sim7100.c @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -281,6 +282,7 @@ static void sim7100_post_sim(struct ofono_modem *modem) "atmodem", data->at); ofono_sms_create(modem, OFONO_VENDOR_SIMCOM_A76XX, "atmodem", data->at); + ofono_radio_settings_create(modem, 0, "simcommodem", data->at); gprs = ofono_gprs_create(modem, OFONO_VENDOR_SIMCOM_A76XX, "atmodem", data->at); break;