[PATCH] sim: Add support to clear cached PINs
by Nandini Rebello
Adding function to clear cached pins in case modem is disabled.
---
include/sim.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/sim.h b/include/sim.h
index fad4c0d..b0a0911 100644
--- a/include/sim.h
+++ b/include/sim.h
@@ -262,6 +262,8 @@ void ofono_sim_inserted_notify(struct ofono_sim *sim, ofono_bool_t inserted);
*/
void ofono_sim_initialized_notify(struct ofono_sim *sim);
+void ofono_sim_clear_cached_pins(void);
+
struct ofono_sim_context *ofono_sim_context_create(struct ofono_sim *sim);
struct ofono_sim_context *ofono_sim_context_create_isim(
--
2.7.4
2 years
[PATCH] Add support for cinterion AHS3-W enumeration in plugins/udevng.c
by BOUBAKER Bassem
This commit will add the vid/pid of this module. Also, probe correclty the
different ports (app,mdm,gps,wwan).
PS: unlike other cinterion modules, AHS3-W enumerate application port on info->number=0 and not info->number=2
---
plugins/udevng.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/plugins/udevng.c b/plugins/udevng.c
index ff6e1fc..56531ea 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -1132,11 +1132,18 @@ static gboolean setup_gemalto(struct modem_info* modem)
DBG("%s %s %s %s %s", info->devnode, info->interface,
info->number, info->label, info->subsystem);
- /* PHS8-P */
+ /* PHS8-P, PXS8, AHS3-W */
if (g_strcmp0(info->interface, "255/255/255") == 0) {
+
if (g_strcmp0(info->number, "01") == 0)
gps = info->devnode;
- else if (g_strcmp0(info->number, "02") == 0)
+ /* For AHS3-W module, the app is on number 00; for the other modules,
+ the app is on number 02 */
+ else if ((g_strcmp0(info->number, "00") == 0) &&
+ (g_strcmp0(modem->model, "0055") == 0))
+ app = info->devnode;
+ else if ((g_strcmp0(info->number, "02") == 0) &&
+ (g_strcmp0(modem->model, "0055") != 0))
app = info->devnode;
else if (g_strcmp0(info->number, "03") == 0)
mdm = info->devnode;
@@ -1146,7 +1153,7 @@ static gboolean setup_gemalto(struct modem_info* modem)
qmi = info->devnode;
}
- /* Cinterion ALS3, PLS8-E, PLS8-X */
+ /* Cinterion ALS3, PLS8-E, PLS8-X, PXS8-ACM mode */
if (g_strcmp0(info->interface, "2/2/1") == 0) {
if (g_strcmp0(info->number, "00") == 0)
mdm = info->devnode;
@@ -1687,6 +1694,8 @@ static struct {
{ "gemalto", "qmi_wwan", "1e2d", "0053" },
{ "gemalto", "cdc_acm", "1e2d", "0061" },
{ "gemalto", "cdc_ether", "1e2d", "0061" },
+ { "gemalto", "option", "1e2d", "0055" },
+ { "gemalto", "cdc_ether", "1e2d", "0055" },
{ "telit", "cdc_ncm", "1bc7", "0036" },
{ "telit", "cdc_acm", "1bc7", "0036" },
{ "xmm7xxx", "cdc_acm", "8087" },
--
2.7.4
2 years
Re: [PATCH v0] Fix voice call initialization problem
by Denis Kenzior
Hi Khaled,
On 01/02/2019 09:49 AM, Khaled ROMDHANI wrote:
> when the voice call driver is probing, I noticed sometimes
> a CME Error with the code = 4 (operation not supported)
> related to AT commands "AT+CSSN=1,1" and "AT^SLCC=1".
>
> In the current voice call implementation for Gemalto modems
> the ofono_voicecall_create() is called on the gemalto_pre_sim().
> The sim is not totaly readed by the module, it is not yet
> online which is causing a sporadic problem at driver
> intialization also when launching some outgoing/incoming calls.
>
> This change moves the ofono_voicecall_create() to the
> gemalto_post_online() to be sure that sim is well registred
> and online.
>
> Signed-off-by: khaled romdhani <khaled.romdhani(a)ardia.com.tn>
No Signed-off-by for oFono please...
> ---
> plugins/gemalto.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/plugins/gemalto.c b/plugins/gemalto.c
> index 2f84258..eb782a7 100644
> --- a/plugins/gemalto.c
> +++ b/plugins/gemalto.c
> @@ -573,9 +573,6 @@ static void gemalto_pre_sim(struct ofono_modem *modem)
> ofono_devinfo_create(modem, 0, "atmodem", data->app);
> ofono_location_reporting_create(modem, 0, "gemaltomodem", data->app);
>
> - ofono_modem_set_integer(modem, "GemaltoVtsQuotes", 1);
> - ofono_voicecall_create(modem, 0, "gemaltomodem", data->app);
> -
> data->sim = ofono_sim_create(modem, OFONO_VENDOR_GEMALTO, "atmodem",
> data->app);
>
> @@ -604,11 +601,6 @@ static void gemalto_post_sim(struct ofono_modem *modem)
>
> ofono_ussd_create(modem, 0, "atmodem", data->app);
>
> - ofono_call_forwarding_create(modem, 0, "atmodem", data->app);
Do note that call_forwarding can be post_sim, but either works...
> - ofono_call_settings_create(modem, 0, "atmodem", data->app);
> - ofono_call_meter_create(modem, 0, "atmodem", data->app);
> - ofono_call_barring_create(modem, 0, "atmodem", data->app);
> -
> if (!g_strcmp0(model, GEMALTO_MODEL_ALS3_PLS8x))
> ofono_lte_create(modem, OFONO_VENDOR_GEMALTO,
> "atmodem", data->app);
> @@ -621,6 +613,14 @@ static void gemalto_post_online(struct ofono_modem *modem)
> DBG("%p", modem);
>
> ofono_netreg_create(modem, OFONO_VENDOR_GEMALTO, "atmodem", data->app);
> +
> + ofono_modem_set_integer(modem, "GemaltoVtsQuotes", 1);
> + ofono_voicecall_create(modem, 0, "gemaltomodem", data->app);
This does imply that no emergency calls are possible when no SIM is
inserted or the PIN not in 'READY' state.
> +
> + ofono_call_forwarding_create(modem, 0, "atmodem", data->app);
> + ofono_call_settings_create(modem, 0, "atmodem", data->app);
> + ofono_call_meter_create(modem, 0, "atmodem", data->app);
> + ofono_call_barring_create(modem, 0, "atmodem", data->app);
> }
>
> static struct ofono_modem_driver gemalto_driver = {
>
Regards,
-Denis
2 years
Re: Motorola motmdm support
by Pavel Machek
On Mon 2018-12-31 14:23:29, Tony Lindgren wrote:
> * Pavel Machek <pavel(a)ucw.cz> [181231 21:54]:
> > Is it possible that epoll() does not work properly with /dev/motmdm*?
> > I am debugging weird problems with ofonod, and that would be an
> > explanation...
> >
> > epoll.poll() should be returning list of file descriptors and if they
> > are ready. And it seems to work for ttyUSB4 but not for motmdm.
> >
> > Hmm. And motmdm_cdev_poll() lacks EPOLLOUT() support, right? That
> > could explain things...
>
> Hmm yeah maybe.
>
> FYI, I just pushed a test script into github droid4-sms-tools repo
> for sending SMS and a related kernel fix for ctrl-z termination
> into k.o droid4-pending-mdm-v4.20 branch.
>
> But that seems to fix a different issue from what you're seeing.
Yes, I can easily work around the problem like this:
It needs huge fixme there, but if you could include it... "always
ready" is better than "never ready".
I'm currently adding code to ofono... I can decode incoming
SMS. Current is here. https://github.com/pavelmachek/ofono
Have you figured out how the incoming calls are supposed to work? I'm
getting this on incoming call:
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+CIEV=1,4,0\n\r
ignoring line
ofonod[2534]: Voice: < ~+CLIP="+420xxxxxxxxx",1,1,"",0,"",0\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+CIEV=1,0,0\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
ignoring line
ofonod[2534]: Voice: < ~+WAKEUP\n\r
I probably could use +CLIP as "there's incoming call", but I don't see
anything useful when I hang up and phone should stop ringing.
Best regards,
Pavel
diff --git a/drivers/mfd/motorola-mdm.c b/drivers/mfd/motorola-mdm.c
index 2cdc9e8..abf58e3 100644
--- a/drivers/mfd/motorola-mdm.c
+++ b/drivers/mfd/motorola-mdm.c
@@ -706,6 +706,7 @@ static __poll_t motmdm_cdev_poll(struct file *file, poll_table *wait)
mask |= EPOLLIN | EPOLLRDNORM;
if (cdata->disconnected)
mask |= EPOLLHUP;
+ mask |= (EPOLLOUT | EPOLLWRNORM);
return mask;
}
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
2 years