[PATCH] qmimodem: fix roaming status report
by Christophe Ronco
Hi,
With a MC7304 modem and a roaming SIM card, Status in org.ofono.NetworkRegistration
properties ends up in "registered" instead of roaming.
Both AT command and qmicli indicates we are roaming.
What's happening is the following:
1) first QMI_NAS_SS_INFO_IND indicating we are registered contains a QMI_NAS_RESULT_ROAMING_STATUS parameter.
Parameter inside says we are roaming and qmimidem driver correctly reports status NETWORK_REGISTRATION_STATUS_ROAMING.
2) other QMI_NAS_SS_INFO_IND arrive, saying we are registered without QMI_NAS_RESULT_ROAMING_STATUS parameter.
Driver reports NETWORK_REGISTRATION_STATUS_REGISTERED.
Extract of traces with QMI binary debug interpreted (as far as I can...):
a) first "searching" indication
Dec 13 13:19:40 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: < 01 3b 00 80 03 01 04 00 00 24 00 2f 00
29 05 00 d0 00 14 00 00 MCC:208 MNC:20
22 05 00 01 02 00 01 00 Detailed Service Status: QMI_NAS_SERVICE_STATUS_LIMITED, QMI_NAS_NETWORK_SERVICE_DOMAIN_PS, ...
15 03 00 01 08 01 LTE, no roaming
12 05 00 d0 00 14 00 00 Current PLMN: MCC:208 MNC:20, no desc
11 01 00 00
10 01 00 01 No roaming
01 06 00 02 02 02 02 01 08 QMI_NAS_REGISTRATION_STATE_NOT_REGISTERED_SEARCHING, CS detached, PS detached, NETWORK_TYPE_3GPP, QMI_NAS_RADIO_INTERFACE_LTE
Dec 13 13:19:40 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: NAS_ind msg=36 len=47 [client=1,type=4,tid=0,len=59]
Dec 13 13:19:40 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: {type=41,len=5} {type=34,len=5} {type=21,len=3} {type=18,len=5}
Dec 13 13:19:40 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: {type=17,len=1} {type=16,len=1} {type=1,len=6}
Dec 13 13:19:40 klk-lpbs-0504B4 daemon.debug ofonod[855]: ofono_netreg_status_notify modem /sierra_0 status 2 lac -1 cellid -1 tech 7
b) second "searching" indication
Dec 13 13:19:41 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: < 01 21 00 80 03 01 04 00 00 24 00 15 00
22 05 00 03 03 00 01 00 Detailed Service Status: QMI_NAS_SERVICE_STATUS_LIMITED_REGIONAL, CS_PS, ...
11 01 00 00
01 06 00 02 02 02 02 01 08 QMI_NAS_REGISTRATION_STATE_NOT_REGISTERED_SEARCHING, CS detached, PS detached, NETWORK_TYPE_3GPP, QMI_NAS_RADIO_INTERFACE_LTE
Dec 13 13:19:41 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: NAS_ind msg=36 len=21 [client=1,type=4,tid=0,len=33]
Dec 13 13:19:41 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: {type=34,len=5} {type=17,len=1} {type=1,len=6}
c) First indication while "registered"
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: < 01 5e 00 80 03 01 04 00 00 24 00 52 00
2a 01 00 00
29 05 00 d0 00 14 00 00 MCC:208 MNC:20
28 02 00 15 01 UMTS Primary Scrambling Code
26 08 00 03 00 00 00 03 00 00 00 CS: all calls allowed, PS: all calls allowed
22 05 00 02 03 00 01 00 Detailed Service Status: QMI_NAS_SERVICE_STATUS_AVAILABLE, CS_PS, ...
1e 04 00 f7 00 95 04 CID 3GPP
1d 02 00 fb 50 LAC 3GPP
15 03 00 01 05 00 UMTS: roaming
12 05 00 d0 00 14 00 00 Current PLMN: MCC:208 MNC:20, no desc
11 04 00 03 03 04 05
10 01 00 00 ROAMING ON
01 06 00 01 01 01 02 01 05 QMI_NAS_REGISTRATION_STATE_REGISTERED, CS attached, PS attached, NETWORK_TYPE_3GPP, QMI_NAS_RADIO_INTERFACE_UMTS
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: NAS_ind msg=36 len=82 [client=1,type=4,tid=0,len=94]
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: {type=42,len=1} {type=41,len=5} {type=40,len=2} {type=38,len=8}
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: {type=34,len=5} {type=30,len=4} {type=29,len=2} {type=21,len=3}
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: {type=18,len=5} {type=17,len=4} {type=16,len=1} {type=1,len=6}
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.debug ofonod[855]: ofono_gprs_status_notify modem /sierra_0 status 1
==================> ROAMING status reported <==========================
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.debug ofonod[855]: ofono_netreg_status_notify modem /sierra_0 status 5 lac 20731 cellid 76873975 tech 2
d) second indication while "registered"
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: < 01 31 00 80 03 01 04 00 00 24 00 25 00
29 05 00 d0 00 14 00 00 MCC:208 MNC:20
28 02 00 15 01 UMTS Primary Scrambling Code
12 05 00 d0 00 14 00 00 Current PLMN: MCC:208 MNC:20, no desc
11 04 00 03 03 04 05
01 06 00 01 01 01 02 01 05 QMI_NAS_REGISTRATION_STATE_REGISTERED, CS attached, PS attached, NETWORK_TYPE_3GPP, QMI_NAS_RADIO_INTERFACE_UMTS
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: NAS_ind msg=36 len=37 [client=1,type=4,tid=0,len=49]
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: {type=41,len=5} {type=40,len=2} {type=18,len=5} {type=17,len=4}
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.info ofonod[855]: QMI: {type=1,len=6}
==================> ROAMING information lost <==========================
Dec 13 13:19:56 klk-lpbs-0504B4 daemon.debug ofonod[855]: ofono_netreg_status_notify modem /sierra_0 status 1 lac -1 cellid -1 tech 2
I don't know if this is a problem specific to MC7304 or even to my firmware version or if this is a normal behavior to have ROAMING_STATUS parameter only when status change from anything to registered.
Best Regards,
Christophe
Christophe Ronco (1):
qmimodem: fix roaming status report
drivers/qmimodem/network-registration.c | 50 ++++++++++++++++++++++++++++-----
1 file changed, 43 insertions(+), 7 deletions(-)
--
2.7.4
2 years, 5 months
[PATCH] sim: fix crash in case of invalid sim password type
by Christophe Ronco
Hi,
I have an old Swedish SIM card here that I tried to put in my MC7304 modem.
My ofono version is 1.20 (with some additional patches).
It sometimes return an invalid SIM password type.
After that, ofono crashes. Here is an extract of debug traces when this happens.
Ofono is just starting, modem was here before ofono starts.
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6fb7 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/devinfo.c:string_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/devinfo.c:qmi_query_serial()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:get_file_attributes_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.err ofonod[1120]: Requested file structure differs from SIM: 6fb7
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/voicecall.c:ecc_g2_read_cb() 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6fb7 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/devinfo.c:get_ids_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:get_file_attributes_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_record() file id 0x6fb7 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:read_generic_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/voicecall.c:ecc_g3_read_cb() 1
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_record() file id 0x6fb7 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:read_generic_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/voicecall.c:ecc_g3_read_cb() 1
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_record() file id 0x6fb7 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:read_generic_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/voicecall.c:ecc_g3_read_cb() 1
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_record() file id 0x6fb7 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:read_generic_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/voicecall.c:ecc_g3_read_cb() 1
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_record() file id 0x6fb7 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:read_generic_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/voicecall.c:ecc_g3_read_cb() 1
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x2fe2 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:get_file_attributes_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_transparent() file id 0x2fe2 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:read_generic_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 10
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x6f05 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:get_file_attributes_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_transparent() file id 0x6f05 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:read_generic_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 6
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_attributes() file id 0x2f05 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:get_file_attributes_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_read_transparent() file id 0x2f05 path len 0
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:read_generic_cb()
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/simfs.c:sim_fs_op_read_block_cb() bufoff: 0, dataoff: 0, tocopy: 6
Jun 27 15:28:41 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:qmi_query_passwd_state()
Jun 27 15:28:42 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:get_card_status() info1->app_state:0x6: OFONO_SIM_PASSWORD_INVALID
Jun 27 15:28:42 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/drivers/qmimodem/sim.c:query_passwd_state_cb() passwd state 16
Jun 27 15:28:42 klk-lpbs-0504B4 daemon.debug ofonod[1120]: ../git/src/sim.c:sim_pin_query_cb() sim->pin_type: 0, pin_type: 16
Jun 27 15:28:42 klk-lpbs-0504B4 daemon.err ofonod[1120]: Aborting (signal 11) [/usr/sbin/ofonod]
Problem is just that we don't have a string corresponding to this password type.
Christophe Ronco (1):
sim: fix crash in case of invalid sim password type
src/sim.c | 1 +
1 file changed, 1 insertion(+)
--
2.7.4
2 years, 10 months
[PATCH 1/1] SIM detection: Fixing the logical error in using the number of slot and number of application
by Eswaran Vinothkumar (BEG/PJ-IOT-EL)
>From d1ec66c643f005d558c403a68c7df04b0819aa79 Mon Sep 17 00:00:00 2001
From: "Eswaran Vinothkumar (BEG-PT/PJ-IOT1)"
<Vinothkumar.Eswaran(a)de.bosch.com>
Date: Mon, 12 Mar 2018 14:46:28 +0100
Subject: [PATCH] sim detection: Fix to take the right slot and application
number
---
drivers/qmimodem/sim.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/qmimodem/sim.c b/drivers/qmimodem/sim.c
index 71c7e04..99c6d68 100644
--- a/drivers/qmimodem/sim.c
+++ b/drivers/qmimodem/sim.c
@@ -557,7 +557,7 @@ static enum get_card_status_result handle_get_card_status_result(
index = GUINT16_FROM_LE(status->index_gw_pri);
- if ((index & 0xff) == i && (index >> 8) == n) {
+ if ((index & 0xff) == n && (index >> 8) == i) {
if (get_card_status(slot, info1, info2,
sim_stat))
res = GET_CARD_STATUS_RESULT_TEMP_ERROR;
--
2.7.4
Mit freundlichen Grüßen / Best regards
Vinothkumar Eswaran
BEG-PT/PJ-IOT-EL
2 years, 10 months
[RFC PATCH 00/30] QMI rework
by Jonas Bonn
A couple of weeks ago I submitted a patch to fix an issue with QMI
modems where the LTE modem in the pre-sim state would prevent requests
from being cancelled for services created and destroyed in the online
state. These uncancelled requests would result in callbacks into
destroyed atoms and resulting segfaults. The comment to that patch was
that the _correct_ fix would be to rework the way QMI handles service
sharing.
So, that said, this is my attempt at cleaning up service sharing in the
QMI core. The jist of this is that we switch to a model that looks a
bit like file descriptions/descriptors in Linux. The QMI services
obtain a service description which manages their info and the underlying
connection (client id) state that the 'shared services' actually share.
On top of this service description we provide service descriptors which
provide private state. Requests and notifications are registered on the
service descriptor and their lifetimes are tied to it; when the service
descriptor is closed (released), the requests and notifications can be
cleaned up without affecting other users of the shared unlying
description.
The patch series is quite long because I tried to do this systematically
in order to make the changes reviewable. It turned out to be quite
messy and it took me a couple of attempts to actually get a sane series
together. Everything builds and runs for every patch in the series, BUT
I am aware that there are some details that are ignored along the way
that mean that some subtle behavioural changes may be introduced. By
the end of the series, though, these issues should mostly have been
taken care of... so please just bear this in mind when reviewing.
Perhaps controversial so I'll state it upfront: I've introduced the
list.h header from the Linux kernel source tree into the project. I
really hope this won't be a showstopper... the licensing matches so
there are no legal issues, in any case. I included the entire header
even though just a few macros are actually used... if size is an issue,
we can pare the file down to about a quarter of its size.
Finally, this is still RFC as I haven't finished reviewing this
completely, myself. But I'd be happy to get any feedback now if someone
has a chance to look at this.
Thanks,
Jonas
Jonas Bonn (30):
qmi: remove unused fields of service_send_data
qmi: remove headroom parameter from req_alloc
qmi: unify common request header setup
qmi: request_alloc has no meaningful failure path
qmi: push request_submit into request_alloc
qmi: rename request_alloc to request_submit
qmi: figure out request id without accessing header
qmi: make qmi_service_send return result
qmi: drop 'head' pointer from request_submit
qmi: remove unused qmi_service_cancel
qmi: remove unused qmi_service_unregister
qmi: replace GQueues for requests
qmi: assume version_list is up to date
qmi: absorb service_create_discover into service_create
qmi: drop discovery_queue
qmi: make services always shared
qmi: switch service_list to list_head type
qmi: switch notify_list to list_head type
qmi: drop unused struct field
qmi: reference version_info from device in services
qmi: make version_list private
qmi: move client_id to qmi_version
qmi: use standard endian macros
qmi: convert version_list to struct list head
qmi: move service device to service_info
qmi: make all services unique instances backed by common description
qmi: drop qmi_service_ref function
qmi: rename qmi_service_create/unref to open/close
qmi: pass service directly to request_submit
qmi: add requests to service queue
drivers/qmimodem/devinfo.c | 6 +-
drivers/qmimodem/gprs-context.c | 14 +-
drivers/qmimodem/gprs.c | 12 +-
drivers/qmimodem/list.h | 736 ++++++++++++++++++++
drivers/qmimodem/location-reporting.c | 6 +-
drivers/qmimodem/lte.c | 6 +-
drivers/qmimodem/netmon.c | 6 +-
drivers/qmimodem/network-registration.c | 6 +-
drivers/qmimodem/qmi.c | 1120 ++++++++++++-------------------
drivers/qmimodem/qmi.h | 27 +-
drivers/qmimodem/radio-settings.c | 12 +-
drivers/qmimodem/sim-legacy.c | 6 +-
drivers/qmimodem/sim.c | 12 +-
drivers/qmimodem/sms.c | 6 +-
drivers/qmimodem/ussd.c | 6 +-
drivers/qmimodem/voicecall.c | 6 +-
plugins/gobi.c | 76 +--
17 files changed, 1270 insertions(+), 793 deletions(-)
create mode 100644 drivers/qmimodem/list.h
--
2.15.1
2 years, 11 months
[PATCH 00/12] QMI cleanups
by Jonas Bonn
Here is a submission of patches that are extracted from yesterday's RFC
series. These patches are hopefully reasonably uncontroversial
as they constitute just cleanups. That said, they should still be taken
in the context of yesterday's series: this series is the foundation for
the share service changes I want to make.
Jonas Bonn (12):
qmi: remove unused fields of service_send_data
qmi: remove headroom parameter from req_alloc
qmi: unify common request header setup
qmi: request_alloc has no meaningful failure path
qmi: push request_submit into request_alloc
qmi: rename request_alloc to request_submit
qmi: figure out request id without accessing header
qmi: return request TID for __request_submit
qmi: assume version_list is up to date
qmi: absorb service_create_discover into service_create
qmi: make version_list private
qmi: use standard endian macros
drivers/qmimodem/qmi.c | 331 ++++++++++++++++++++++---------------------------
drivers/qmimodem/qmi.h | 14 +--
plugins/gobi.c | 68 ++++------
3 files changed, 180 insertions(+), 233 deletions(-)
--
2.15.1
2 years, 11 months
SEGFAULT on sim_remove()
by Gabriel Lucas
Hi everyone,
I'm getting a SEGFAULT when powering off a gemalto ALS3 modem with
SetProperty("Powered", Variant(false)).
This method call is made right after the SimManager interface is on
which could explain the error.
Log from oFono:
ofonod[6950]: src/sim.c:sim_remove() atom: 0x1604f0
(ofonod:6950): GLib-CRITICAL **: g_queue_is_empty: assertion 'queue !=
NULL' failed
gdb backtrace:
Program received signal SIGSEGV, Segmentation fault.
__ofono_sim_remove_session_watch (session=0x74656e, id=16) at src/sim.c:3616
3616 __ofono_watchlist_remove_item(session->watches, id);
(gdb) bt
#0 __ofono_sim_remove_session_watch (session=0x74656e, id=16) at
src/sim.c:3616
#1 0x000e368c in sim_fs_op_free (pointer=0x172498) at src/simfs.c:102
#2 0x76f11304 in node_rotate (node=0x74656e) at
/usr/src/debug/glib-2.0/1_2.38.2-r0/glib-2.38.2/glib/gsequence.c:1840
#3 0x76f11384 in node_update_fields (node=<optimized out>) at
/usr/src/debug/glib-2.0/1_2.38.2-r0/glib-2.38.2/glib/gsequence.c:1827
#4 node_rotate (node=0x74656e) at
/usr/src/debug/glib-2.0/1_2.38.2-r0/glib-2.38.2/glib/gsequence.c:1891
#5 0x000c2d7c in sim_remove (atom=0xe3640 <sim_fs_op_free>) at
src/sim.c:3175
#6 0x000a25c4 in flush_atoms (modem=0x160c00,
new_state=MODEM_STATE_POWER_OFF) at src/modem.c:432
#7 modem_change_state (modem=0x160c00, new_state=MODEM_STATE_POWER_OFF)
at src/modem.c:510
#8 0x000a2874 in set_powered (modem=modem@entry=0x160c00, powered=0) at
src/modem.c:896
#9 0x000a2e5c in modem_set_property (conn=0x13e508, msg=0x140c28,
data=0x160c00) at src/modem.c:1120
#10 0x000f657c in process_message (connection=connection@entry=0x13e508,
message=message@entry=0x140c28,
iface_user_data=iface_user_data@entry=0x160c00, method=0x11649c
<modem_methods+24>, method=0x11649c <modem_methods+24>)
at gdbus/object.c:259
#11 0x000f6998 in generic_message (connection=0x13e508,
message=message@entry=0x140c28, user_data=user_data@entry=0x15eec0) at
gdbus/object.c:1070
#12 0x76e9f240 in _dbus_object_tree_dispatch_and_unlock (tree=0x13e2f0,
message=message@entry=0x140c28,
found_object=found_object@entry=0x7efffa64) at
/usr/src/debug/dbus/1.6.18-r0/dbus-1.6.18/dbus/dbus-object-tree.c:862
#13 0x76e8fac4 in dbus_connection_dispatch
(connection=connection@entry=0x13e508) at
/usr/src/debug/dbus/1.6.18-r0/dbus-1.6.18/dbus/dbus-connection.c:4672
#14 0x000f3100 in message_dispatch (data=0x13e508) at gdbus/mainloop.c:72
#15 0x76efd9c4 in profile_print_locked (local_data=<optimized out>,
success=<optimized out>) at
/usr/src/debug/glib-2.0/1_2.38.2-r0/glib-2.38.2/glib/gmem.c:637
#16 0x76f010b0 in g_node_first_sibling (node=0x13d600) at
/usr/src/debug/glib-2.0/1_2.38.2-r0/glib-2.38.2/glib/gnode.c:1173
#17 0x00000000 in ?? ()
If you have any idea of the reason, let me know.
Best regards,
Gabriel
2 years, 11 months
[PATCH 0/6] gemalto's ALS3 and PHS8P support
by Gabriel Lucas
This patch serie bring further support to PHS8P modem
and the same level of support for ALS3 modem. Here are
the lists on enhancements:
- ALS3 is detected by Ofono and uses the gemalto plugin
- SIM removing and insertion is supported
- The optional Technology property on NetworkRegistration
is supported
- We ensure that the modem is ready to work before
initializing it
Some of the enhancements are brought by workarounds because
of AT command interface limitations
Gabriel Lucas (4):
gemalto: add detection of ALS3 modem
gemalto: support ALS3 in gemalto's plugin
sim: give access to the driver
gemalto: fix sim reinsertion issue
Mariem Cherif (2):
gemalto: acquire the network technology
gemalto: handle sim is inserted or removed URCs
drivers/atmodem/network-registration.c | 45 +++++++++
include/sim.h | 2 +
plugins/gemalto.c | 169 +++++++++++++++++++++++++++++++--
plugins/udevng.c | 18 ++++
src/sim.c | 5 +
5 files changed, 233 insertions(+), 6 deletions(-)
--
1.9.1
2 years, 11 months
[PATCH] Gemalto.c : Make supported modem family name more significant
by Bassem Boubaker
Some gemalto modem family share almost the same base except some very specific
AT command and some hardware changes like ALSx and PXSx family
---
plugins/gemalto.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/plugins/gemalto.c b/plugins/gemalto.c
index 5573606..26be621 100644
--- a/plugins/gemalto.c
+++ b/plugins/gemalto.c
@@ -55,7 +55,8 @@
/* Supported gemalto's modem */
#define GEMALTO_MODEL_PHS8P "0053"
-#define GEMALTO_MODEL_ALS3 "0061"
+/* ALS3, PLS8-E, and PLS8-X family */
+#define GEMALTO_MODEL_ALS3_PLS8x "0061"
static const char *none_prefix[] = { NULL };
static const char *sctm_prefix[] = { "^SCTM:", NULL };
@@ -524,7 +525,7 @@ static void gemalto_post_sim(struct ofono_modem *modem)
if (gprs && gc)
ofono_gprs_add_context(gprs, gc);
- if (!g_strcmp0(model, GEMALTO_MODEL_ALS3))
+ if (!g_strcmp0(model, GEMALTO_MODEL_ALS3_PLS8x))
ofono_lte_create(modem, OFONO_VENDOR_CINTERION,
"atmodem", data->app);
}
--
2.7.4
2 years, 11 months
[PATCH] gemalto: Add more details in setup_gemalto comment
by Bassem Boubaker
ALS3, PLS8-E and PLS8-X have same vid/pid with same enumeration process
---
plugins/udevng.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/udevng.c b/plugins/udevng.c
index 6b5b015..ff5d41a 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -1146,7 +1146,7 @@ static gboolean setup_gemalto(struct modem_info* modem)
qmi = info->devnode;
}
- /* ALS3 */
+ /* Cinterion ALS3, PLS8-E, PLS8-X */
if (g_strcmp0(info->interface, "2/2/1") == 0) {
if (g_strcmp0(info->number, "00") == 0)
mdm = info->devnode;
--
2.7.4
2 years, 11 months
[PATCH] Fix bug with "PropertyChanged" signals not being emmitted by ofono for org.ofono.cdma.NetworkRegistration
by Bassem Boubaker
Signed-off-by: Bassem Boubaker <bassem.boubaker(a)actia.fr>
---
src/cdma-netreg.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/cdma-netreg.c b/src/cdma-netreg.c
index ba9ee23..23616d9 100644
--- a/src/cdma-netreg.c
+++ b/src/cdma-netreg.c
@@ -115,6 +115,8 @@ static const GDBusMethodTable cdma_netreg_manager_methods[] = {
};
static const GDBusSignalTable cdma_netreg_manager_signals[] = {
+ { GDBUS_SIGNAL("PropertyChanged",
+ GDBUS_ARGS({ "name", "s" }, { "value", "v" })) },
{ }
};
--
2.7.4
2 years, 11 months