Commit Graph

8483 Commits

Author SHA1 Message Date
Slava Monich 72758ef34b sim: Don't submit parallel EFpl reads
In addition to not doing unnecessary SIM I/O, this fixes memory leaks
like this one:

==10096== 74 (56 direct, 18 indirect) bytes in 2 blocks are definitely lost in loss record 1,252 of 1,342
==10096==    at 0x4841BF0: calloc (vg_replace_malloc.c)
==10096==    by 0x4B03117: g_malloc0 (gmem.c)
==10096==    by 0xF83DF: concat_lang_prefs (sim.c)
==10096==    by 0xF8697: sim_efpl_read_cb (sim.c)
==10096==    by 0x12CBF7: sim_fs_op_read_block_cb (simfs.c)
2017-12-08 10:23:35 -06:00
Philippe De Swert 5c0ec25353 voicecall: Fix issue with invalid dbus path
Fix an error message from dbus about the path supplied not being valid.
Related to commit f58e7685b0

ofonod[19107]: src/voicecall.c:voicecall_dial_shortcut() check position
ofonod[19107]: src/voicecall.c:synthesize_outgoing_call() Registering new call: 1
process 19107: arguments to dbus_message_iter_append_basic() were incorrect, assertion "_dbus_check_is_valid_path (*string_p)" failed in file ../../../dbus/dbus-message.c line 2759.
This is normally a bug in some application using the D-Bus library.
2017-12-08 08:26:35 -06:00
Alexander Couzens 070608b899 qmimodem: convert register_net_cb errors into CMEs
Certain modems doesn't support manual registering (gobi 2000).
Translate the error code into ofono error to report a
more detailed debug error message.
2017-12-05 22:06:44 -06:00
Alexander Couzens 5066a45762 qmimodem: add translator qmi_error_to_ofono_cme()
Translates qmi error codes into ofono cme errors
2017-12-05 22:06:44 -06:00
Alexander Couzens 85a0c9b595 qmimodem: add define CALLBACK_WITH_CME_ERROR(cb, err, args..) 2017-12-05 22:06:44 -06:00
Alexander Couzens 19218065a2 network: allow drivers to generate more specific error codes
For certain modems it's not clear if they support all actions or not.
In such cases use CME errors which allows generate NotSupported
messages.
2017-12-05 22:06:44 -06:00
Alexander Couzens 439524211d plugins/gobi: reset the qmi interface when enabling the modem 2017-12-05 22:04:15 -06:00
Alexander Couzens 78ab13470a qmi: implement the control sync command
The sync command resets the QMI interface state. It will flushs all
previous assigned sessions and transactions.
2017-12-05 22:04:15 -06:00
Alexander Couzens f02363181f qmi: include the CTL in the debug output
The CTL version is important for certain calls. This is
a useful information for debugging.
2017-12-05 22:04:15 -06:00
Alexander Couzens 5f33ec2d5d qmi/discovery: remove useless code 2017-12-05 22:04:15 -06:00
Slava Monich 94c1975801 sim-auth: Avoid using dbus_message_iter_get_element_count
It's the only thing in ofono that requires dbus 1.9.16 or later and it's
not worth it.

And don't leak DBusMessage on format error.
2017-11-27 10:08:16 -06:00
Slava Monich 399cb61d1f storage: Implement ofono_config_dir and ofono_storage_dir 2017-11-27 09:59:21 -06:00
Slava Monich 307ea2fd49 include: Add storage.h
To expose ofono directories to dynamically loadable plugins.
2017-11-27 09:59:21 -06:00
Denis Kenzior 22c625080e mbimmodem: fix crash
==12340== Invalid read of size 1
==12340==    at 0x4C2F9A0: __strncpy_sse2_unaligned (vg_replace_strmem.c:548)
==12340==    by 0x4A3520: strncpy (string3.h:126)
==12340==    by 0x4A3520: mbim_current_operator_cb (network-registration.c:178)
==12340==    by 0x49DC5D: dispatch_command_done (mbim.c:529)
==12340==    by 0x49DC5D: dispatch_message (mbim.c:594)
==12340==    by 0x49DC5D: command_read_handler (mbim.c:701)
2017-11-13 21:24:37 -06:00
Denis Kenzior 644df2dcc7 unit: Add ip configuration query sanity check 2017-11-13 21:24:37 -06:00
Denis Kenzior 44acd97dd9 mbim: Keep track of max_sessions
Also set the CID range 0..max sessions.  This forces the default context
into cid 0
2017-11-13 21:24:37 -06:00
Denis Kenzior 2f112eaa9b test: Fix up process-context-settings 2017-11-13 21:24:37 -06:00
Denis Kenzior 3b7cbabd94 include: add ofono_gprs_context_set_ipv4_prefix_length
This is a short-hand version of using set_ipv4_netmask
2017-11-13 21:24:37 -06:00
Denis Kenzior a004120a99 mbimmodem: Add provisioned context query (debug only) 2017-11-13 21:24:37 -06:00
Denis Kenzior 24a5de0e28 unit: Add mbim packet service notification test 2017-11-13 21:24:37 -06:00
Denis Kenzior a4a7e19379 mbim: Instantiate gprs-context atom 2017-11-13 21:24:37 -06:00
Denis Kenzior 2abfd90edd mbimmodem: Add gprs-context driver 2017-11-13 21:24:37 -06:00
Denis Kenzior f43341af2f mbim: Add IPv4/v6 Element & Address extractors
The IP Configuration data structure does not match any of the existing
data structure serialization conventions in the rest of the MBIM
specification.  So add IPv4 / v6 specific extractors for IPV4 address
and IPV4 Element structures.
2017-11-13 21:24:37 -06:00
Denis Kenzior f8d6a0a668 gprs: Add implementation of set_ipv4_prefix_length 2017-11-13 21:24:37 -06:00
Denis Kenzior 2690d1c8dd mbim: Add mbim context type UUIDs 2017-11-13 21:24:37 -06:00
Denis Kenzior fcd419e2ea mbim: Add gprs atom 2017-11-13 21:24:37 -06:00
Denis Kenzior 97e39299d0 gprs: Set Attached if no .read_settings
Some protocols (like MBIM) do not properly support default bearer
semantics.  Instead they want everything to function like UMTS/GSM where
the context has to be explicitly attached / activated.
2017-11-13 21:24:37 -06:00
Denis Kenzior 2d164c38c4 mbimmodem: Add GPRS atom driver 2017-11-13 21:24:37 -06:00
Denis Kenzior f7bd6900c3 mbim: Properly write values in little endian format 2017-11-13 21:24:37 -06:00
Denis Kenzior cc196e6503 mbim: Add support for 64-bit integers 2017-11-13 21:24:37 -06:00
James Prestwood c4bb058e40 plugins: updated plugins using simauth module
The simauth creation API changed to not take the driver structure
2017-11-09 11:56:08 -06:00
James Prestwood d025f2c8b5 simauth: remove driver code from core simauth atom 2017-11-09 11:55:42 -06:00
James Prestwood 589babc272 simauth: remove driver API definitions from simauth include 2017-11-09 11:50:16 -06:00
Denis Kenzior f8b4730d4f mbimmodem: Move available_data_classes_to_tech
to util.[ch] so it can be used from other drivers
2017-11-09 11:39:43 -06:00
Denis Kenzior 47b562b91c mbim: Silence unused variable warning 2017-11-09 11:39:07 -06:00
James Prestwood 065e27fa92 atmodem: removed simauth.c from atmodem 2017-11-09 11:20:39 -06:00
James Prestwood 9a3993add9 make: remove atmodem simauth driver 2017-11-09 11:20:39 -06:00
James Prestwood 1c46f8ee85 atmodem: removed simauth init 2017-11-09 11:20:39 -06:00
Denis Kenzior ba9f126716 atmodem: Rework at_pin_send_cb
Instead of delaying the cpin entry callback until the sim is found to be
'ready', call back into the core right away.  The core will wait until
the initialized notification is called from the driver before proceeding
with the rest of the initialization procedure.

The sim state query is now being done in the background and potential
leaking of cbd is now fixed.
2017-11-08 21:41:34 -06:00
Denis Kenzior 6a3888b2d4 xmm7xxx: Use sim_initialized_notify 2017-11-08 21:41:34 -06:00
Denis Kenzior b3a3d72825 ifx: Use sim_initialized_notify 2017-11-08 21:41:34 -06:00
Denis Kenzior 3c36211be3 atmodem: Remove XSIM handling from sim driver
This will be covered by ifx/xmm7xxx modem drivers using
sim_initialized_notify
2017-11-08 21:41:34 -06:00
Denis Kenzior 63341a1f09 telit: signal sim initialized 2017-11-08 21:41:34 -06:00
Denis Kenzior 15b2ab8b31 sim: Remove QSS handling
The telit plugin will use sim_initialized_notify instead
2017-11-08 21:41:34 -06:00
Denis Kenzior d9fb0eaa57 ste: signal sim initialized on EPEV 2017-11-08 21:41:34 -06:00
Denis Kenzior 0b514affee mbm: Signal sim initialized on EPEV 2017-11-08 21:41:34 -06:00
Denis Kenzior 7996e2374a atmodem: Remove EPEV handling
This will be moved to ste & mbm modem drivers
2017-11-08 21:41:34 -06:00
Denis Kenzior 8b98126da5 mbim: Set the subscribe list
Some devices don't seem to enable incoming SMS notifications.  So set
the notifications we're interested in at modem startup.
2017-11-08 21:41:34 -06:00
Denis Kenzior 8bf5a3e353 unit: Add Device Subscribe List set build test 2017-11-08 21:41:34 -06:00
Denis Kenzior bd0ba8bf3b mbim: Support variable struct signatures in arrays
DEVICE_SUBSCRIBE_LIST uses an array of structures.  The structure
contains the UUID of the service and then a variable number of CIDs that
are enabled.
2017-11-08 21:41:34 -06:00