Commit Graph

8307 Commits

Author SHA1 Message Date
Alexander Couzens 69bc287991 call-list: fix a race condition in ofono_call_list_dial_callback
If ofono_call_list_dial_callback is called later than
ofono_call_list_notify, the new call is added, removed, added
again.
2018-01-23 05:25:39 +01:00
Alexander Couzens 1bc7ffe333 qmimodem: sms: make routes compatible with gobi 2000 2018-01-23 05:25:39 +01:00
Alexander Couzens 0b845116b0 qmimodem: raw_send_cb: remove message id check
The message id is not mandatory on older modems (e.g. Gobi2000).
2018-01-23 05:25:39 +01:00
Alexander Couzens c11ceebddb qmimodem: report the qmimodem bug 2018-01-23 05:25:39 +01:00
Alexander Couzens 54679debe8 qmimodem: ensure the modem is registered by check cs and ps state
The modem tells to early it's registered even it hasn't yet received a location
update complete.
2018-01-23 05:25:39 +01:00
Alexander Couzens e1f55821aa call gprs_detached_notify 2018-01-23 05:25:39 +01:00
Alexander Couzens 5212f195ae [RFC] qmimodem: implement voice calls
The voice_generated.* files is an RFC how files should look like.
They aren't yet generated.
2018-01-23 05:25:39 +01:00
Alexander Couzens 960420e001 atutil.h: remove doublicated ofono_call_compare_by_status() 2018-01-23 05:25:39 +01:00
Alexander Couzens 5524251362 network: debug output the network time if updated 2018-01-23 05:25:39 +01:00
Alexander Couzens 273767208f network/ofono_netreg_status_notify: debug output lac and ci
The location are code and cell id is updated at the same time.
2018-01-23 05:25:39 +01:00
Alexander Couzens acb220f16d NOT_FOR_MERGE: decode qmi messages with libqmi 2018-01-23 05:25:39 +01:00
Alexander Couzens f94f61800a common,atmodem: rename & move at_util_call_compare_by_id to common.c
at_util_call_compare_by_id is used by several modem drivers.
2018-01-23 05:15:55 +01:00
Alexander Couzens d768e000be common,atmodem: rename & move at_util_call_compare_by_status to common.c
at_util_call_compare_by_status is used by several modem drivers.
2018-01-23 05:15:55 +01:00
Alexander Couzens 96b93c1ef8 add call-list helper to manage voice call lists
Many drivers asks the modem for a complete call list of current calls.
These list of calls can be feeded into call-list which parse the
list and notify ofono for new calls.
2018-01-23 05:15:55 +01:00
Alexander Couzens 4bf6204b38 voicecall,common: promote call_status_to_string() public
call_status_to_string() is useful for debug output.
Change signature to contain enum call_status
Replace default case to get compiler warning when new enums added
2018-01-23 05:15:55 +01:00
Alexander Couzens a18d14137a common: create GList helper ofono_call_compare
replaces at_util_call_compare (atmodem) and
call_compare (rild).
2018-01-23 05:15:55 +01:00
Marcel Holtmann 82f54044a8 Release 1.22 2018-01-21 18:58:16 +01:00
Denis Kenzior 0e8e7346af simutil: Fix copiler warning
src/simutil.c:1573:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
	app.type = GUINT16_FROM_BE(*((unsigned short *)(app.aid + 5)));
2018-01-19 14:12:37 -06:00
James Prestwood 62382e8ac3 unit: fix test-simutil failure
A fixup was made in simauth to fix the AUTS length
and the simutil unit test was never updated to reflect
the length change.
2018-01-19 12:50:53 -06:00
Slava Monich 007a855bab unit: Improve idmap.c unit test coverage
This brings function, line and branch coverage for idmap.c to 100%
2018-01-18 14:41:47 -06:00
Slava Monich 0797b23c5d dbus: Use dbus_validate_path
Instead of __ofono_dbus_valid_object_path
2018-01-18 10:53:28 -06:00
Alexander Couzens f7544d87a3 qmi: add USSD support for MO services 2018-01-16 11:32:03 -06:00
Denis Kenzior 66972ab467 build: Add voice.h to qmi_sources 2018-01-16 11:18:56 -06:00
Alexander Couzens 23dc3cb701 add qmimodem/voice.h to add USSD defines
USSD is part of the QMI voice service.
2018-01-16 11:17:14 -06:00
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