summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* dell: don't ignore TTYs in QMI/MBIM modemsaleksander/dell-ttysAleksander Morgado2018-07-241-4/+0
| | | | | | | | | When we detect that the modem is QMI-capable or MBIM-capable, we still want to be able to use TTYs, for features unsupported by the main protocols. So, don't flag all the TTYs as non-AT non-QCDM, let them probe as usual instead.
* broadband-modem-mbim: show USB product attribute as modelAleksander Morgado2018-07-191-3/+11
|
* kerneldevice: allow loading physdev product stringAleksander Morgado2018-07-194-0/+37
|
* blacklist: include all devices from Prusa ResearchAleksander Morgado2018-07-191-0/+3
|
* broadband-modem-qmi: plug memleak when processing a factory resetAleksander Morgado2018-07-101-0/+1
|
* broadband-modem: skip concatenated AT commandsAleksander Morgado2018-07-101-12/+4
| | | | | | | Not all modems support AT command concatenation (e.g. u-blox TOBY-L4 doesn't, according to a specific note about it in the AT command reference). So just skip concatenation in the few places where it's used.
* ublox: always send user/pass strings, even if no authentication requestedAleksander Morgado2018-07-101-1/+1
| | | | | | | | | | | | | | | | The TOBY-L2 allowed to skup the user/pass string fields when no authentication was requested, but according to the AT command reference, all the remaining u-blox modules do require these two fields given always (e.g. just as empty strings). As per this sequence in a TOBY-L4: (ttyACM2): --> 'AT+UAUTHREQ=?<CR>' (ttyACM2): <-- '<CR><LF>+UAUTHREQ: (1-4),(0-2),,<CR><LF><CR><LF>OK<CR><LF>' (ttyACM2): --> 'AT+UAUTHREQ=1,0<CR>' (ttyACM2): <-- '<CR><LF>+CME ERROR: 4<CR><LF>' It should have been: AT+UAUTHREQ=1,0,"",""
* iface-modem-simple: no need for an extra 'self' reference when using GTaskAleksander Morgado2018-07-101-11/+8
|
* iface-modem-time: make sure timezone context is cleaned up properlyAleksander Morgado2018-07-101-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we're going to overwrite the timezone context, make sure everything is cleaned up, including the signal handler. Otherwise, we may end up running the signal handler without a context attached: (gdb) bt #0 network_timezone_state_changed (self=0x6aa1e8) at mm-iface-modem-time.c:266 #1 0x76a8d418 in g_closure_invoke (closure=0x6c9810, return_value=0x0, return_value@entry=0x1, n_param_values=2, param_values=0x7edb58c0, param_values@entry=0x6cdab8, invocation_hint=invocation_hint@entry=0x7edb585c) at gclosure.c:804 #2 0x76a9e674 in signal_emit_unlocked_R (node=node@entry=0x6794d0, detail=0, detail@entry=391, instance=instance@entry=0x6aa1e8, emission_return=0x6794a8, emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7edb58c0) at gsignal.c:3629 #3 0x76aa31f4 in g_signal_emit_valist (instance=instance@entry=0x6aa1e8, signal_id=signal_id@entry=1, detail=detail@entry=6767564, var_args=..., var_args@entry=...) at gsignal.c:3385 #4 0x76aa34ec in g_signal_emit (instance=instance@entry=0x6aa1e8, signal_id=signal_id@entry=1, detail=391) at gsignal.c:3441 #5 0x76a91698 in g_object_dispatch_properties_changed (object=0x6aa1e8, n_pspecs=1, pspecs=<optimized out>) at gobject.c:1062 #6 0x76a90e7c in g_object_notify_queue_thaw (object=object@entry=0x6aa1e8, nqueue=nqueue@entry=0x75409418) at gobject.c:296 #7 0x76a9470c in g_object_set_valist (object=object@entry=0x6aa1e8, first_property_name=first_property_name@entry=0xad566 "iface-modem-state", var_args=..., var_args@entry=...) at gobject.c:2171 #8 0x76a94b18 in g_object_set (_object=_object@entry=0x6aa1e8, first_property_name=0xad566 "iface-modem-state") at gobject.c:2275 #9 0x0004b8a4 in __iface_modem_update_state_internal (self=0x6aa1e8, new_state=MM_MODEM_STATE_DISABLED, reason=MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED, failed_reason=MM_MODEM_STATE_FAILED_REASON_NONE) at mm-iface-modem.c:1487 #10 0x0007047c in disabling_context_free (ctx=0x6ba850) at mm-broadband-modem.c:9053 #11 0x76b4e538 in g_task_finalize (object=0x682488) at gtask.c:636 #12 0x76a92800 in g_object_unref (_object=0x682488) at gobject.c:3183 #13 0x00072154 in iface_modem_disable_ready (self=0x6aa1e8, result=0x7011b0, task=0x682488) at mm-broadband-modem.c:9101 #14 0x76b4e6ec in g_task_return_now (task=0x7011b0) at gtask.c:1107 #15 0x76b4e720 in complete_in_idle_cb (task=0x7011b0) at gtask.c:1121 #16 0x7694d144 in g_main_dispatch (context=0x6765a8) at gmain.c:3154 #17 g_main_context_dispatch (context=context@entry=0x6765a8) at gmain.c:3769 #18 0x7694d40c in g_main_context_iterate (context=0x6765a8, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840 #19 0x7694d838 in g_main_loop_run (loop=0x6750d0) at gmain.c:4034 #20 0x0002bec0 in main (argc=<optimized out>, argv=<optimized out>) at main.c:181
* blacklist: remove OpenMoko Hubs from the blacklistAlexander Couzens2018-07-101-2/+2
| | | | | | The problem of full vendor blacklist are hubs. Because ATTRS{} matches all devices in the tree, a modem connected to a OpenMoko hub will be blacklisted as well.
* libmm-glib: reference dup_equipment_identifier instead of dup_pluginEnrico Mioso2018-06-291-1/+1
| | | | Fix the comment.
* libmm-glib,location-gps-raw: plug memleakAleksander Morgado2018-06-281-0/+2
| | | | | | | | | | | | | | | | | | ==8663== 1 bytes in 1 blocks are definitely lost in loss record 5 of 4,864 ==8663== at 0x4C2CEDF: malloc (vg_replace_malloc.c:299) ==8663== by 0x669FAC9: g_malloc (in /usr/lib/libglib-2.0.so.0.5600.1) ==8663== by 0x66B9AEA: g_strndup (in /usr/lib/libglib-2.0.so.0.5600.1) ==8663== by 0x66ACE52: g_match_info_fetch (in /usr/lib/libglib-2.0.so.0.5600.1) ==8663== by 0x4E96DD2: mm_location_gps_raw_add_trace (mm-location-gps-raw.c:208) ==8663== by 0x18721E: mm_iface_modem_location_gps_update (mm-iface-modem-location.c:264) ==8663== by 0x1B9C7F: loc_location_nmea_indication_cb (mm-shared-qmi.c:712) ==8663== by 0x640C9E7: g_cclosure_marshal_VOID__BOXEDv (in /usr/lib/libgobject-2.0.so.0.5600.1) ==8663== by 0x6409C95: ??? (in /usr/lib/libgobject-2.0.so.0.5600.1) ==8663== by 0x64259E8: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.5600.1) ==8663== by 0x642612F: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.5600.1) ==8663== by 0x54AAB2D: process_indication (qmi-loc.c:7454) Reported by: Thomas Weißschuh <thomas@weissschuh.net>
* broadband-modem-qmi: fix segfault due to NULL task contextAleksander Morgado2018-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | ModemManager[18223]: <debug> [1530023432.028473] Modem has 3GPP capabilities, enabling the Modem 3GPP interface... Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault. 0x0000555555618baa in common_enable_disable_unsolicited_events_signal_strength (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545 6545 if (ctx->enable) (gdb) bt #0 0x0000555555618baa in common_enable_disable_unsolicited_events_signal_strength (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545 #1 0x0000555555618d70 in common_enable_disable_unsolicited_events (self=0x55555597a3f0, enable=1, callback=0x5555555c8c20 <enable_unsolicited_events_ready>, user_data=0x5555559779b0) at mm-broadband-modem-qmi.c:6719 #2 0x0000555555618e5b in modem_3gpp_enable_unsolicited_events (self=0x55555597a3f0, callback=0x5555555c8c20 <enable_unsolicited_events_ready>, user_data=0x5555559779b0) at mm-broadband-modem-qmi.c:6749 #3 0x00005555555c9095 in interface_enabling_step (task=0x5555559779b0) at mm-iface-modem-3gpp.c:1907 #4 0x00005555555c8c0a in setup_unsolicited_events_ready (self=0x55555597a3f0, res=0x5555558efad0, task=0x5555559779b0) at mm-iface-modem-3gpp.c:1795 #5 0x00007ffff681e204 in () at /usr/lib/libgio-2.0.so.0 #6 0x00007ffff681e239 in () at /usr/lib/libgio-2.0.so.0 #7 0x00007ffff62731d6 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #8 0x00007ffff62735b1 in () at /usr/lib/libglib-2.0.so.0 #9 0x00007ffff62738e2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0 #10 0x000055555559182c in main (argc=2, argv=0x7fffffffe4a8) at main.c:181 Fixes: baefe53ab9c0ea0612d2bf7da64b6f6cf9753bcd
* port-serial: don't close tty file descriptor twiceBrian, Sam2018-06-221-2/+3
| | | | | | | | | | | | | | | After the tty is opened, the fd is passed off to a GIOChannel which manages it. When the serial port is closed with _close_internal(), g_io_channel_shutdown() is called which then calls g_io_unix_close() which in turn close()s the fd. _close_internal() performs a second explicit close() after the g_io_channel_shutdown() which *in the best case scenario* will fail with EBADF. This is a race condition that can result in other file descriptors being closed. This change avoids double closing the serial port fd -- the shutdown() call is removed in favour of the explicit close().
* po: add Friulian translationAleksander Morgado2018-06-192-0/+109
| | | | | | From: Fabio Tomat <f.t.public@gmail.com> https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/42
* kerneldevice: fix build with musl libcBaruch Siach2018-06-171-5/+5
| | | | | musl libc does not implement the canonicalize_file_name() GNU extension. Use the POSIX standard realpath() instead.
* service: set User=root so that gio doesn't have to look into /etc/passwdlr/service-userLubomir Rintel2018-06-131-0/+1
| | | | | | | | | | | | | | | | GVfs' libgvfsdbus.so GIo module, when automatically loaded, attempts to discover if there's a session D-Bus instance to use. It tries real hard to get the socket name it would use -- in absence of XDG_RUNTIME_DIR it decides to make it up with user's home directory. When HOME is unset too, it just tries to figure it out by looking into /etc/passwd. Which upsets SELinux that would better not see us looking into it. We trigger the load of the GIo modules, by using the GFile API to access the the ports in /dev. They're utterly uesless to us, but there doesn't seem to be a way to disable their load. Oh well. For now, let's just ensure HOME is set and the problematic path in glib is not taken.
* iface-modem-voice: plug memleak when creating new incoming callAleksander Morgado2018-06-111-4/+2
| | | | | The mm_call_list_add_call() takes a full reference to the call, so we can unref the original one safely.
* call-list: coding style fixesAleksander Morgado2018-06-114-75/+73
|
* doc: fix explanation of MM_CALL_STATE_RINGING_{IN|OUT}Aleksander Morgado2018-06-101-2/+2
| | | | | They were reversed; ringing in applies to incoming calls, ringing out applies to outgoing calls.
* introspection: minor indentation fixes in SMS interfaceAleksander Morgado2018-06-091-5/+5
|
* modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentErrorBen Chan2018-06-022-1/+29
| | | | | | | | Commit 2a97e39cdd in libmim ("libmbim-glib: add additional cause codes to MbimNwError") added additional cause codes to MbimNwError. This patch maps some of those MbimNwError to MMMobileEquipmentError. This patch requires libmbim >= 1.17.1
* broadband-modem-qmi: replace ensure_qmi_client with GTask implementationBen Chan2018-06-021-75/+51
| | | | | | | assure_qmi_client() was created to help migrating MMBroadbandModemQmi code to use GTask. Now that all MMBroadbandModemQmi code has been migrated to use GTask, this patch removes the old ensure_qmi_client() and rename assure_qmi_client() as ensure_qmi_client().
* broadband-modem-qmi: port modem_cdma_{activate,activate_manual} to use GTaskBen Chan2018-06-021-96/+105
|
* broadband-modem-qmi: port load_initial_sms_parts to use GTaskBen Chan2018-06-021-36/+45
|
* broadband-modem-qmi: port messaging_set_default_storage to use GTaskBen Chan2018-06-021-18/+10
|
* broadband-modem-qmi: port messaging_{enable,disable}_unsolicited_events to ↵Ben Chan2018-06-021-43/+26
| | | | use GTask
* broadband-modem-qmi: port location_load_supl_server to use GTaskBen Chan2018-06-021-28/+15
|
* broadband-modem-qmi: port location_set_supl_server to use GTaskBen Chan2018-06-021-19/+10
|
* broadband-modem-qmi: port disable_location_gathering to use GTaskBen Chan2018-06-021-55/+62
|
* broadband-modem-qmi: port firmware_change_current to use GTaskBen Chan2018-06-021-49/+45
|
* broadband-modem-qmi: port firmware_check_support to use GTaskBen Chan2018-06-021-37/+45
|
* broadband-modem-qmi: port common_enable_disable_oma_unsolicited_events to ↵Ben Chan2018-06-021-33/+20
| | | | use GTask
* broadband-modem-qmi: port common_setup_cleanup_oma_unsolicited_events to use ↵Ben Chan2018-06-021-13/+8
| | | | GTask
* broadband-modem-qmi: port oma_cancel_session to use GTaskBen Chan2018-06-021-12/+8
|
* broadband-modem-qmi: port oma_start_client_initiated_session to use GTaskBen Chan2018-06-021-17/+12
|
* broadband-modem-qmi: port oma_accept_network_initiated_session to use GTaskBen Chan2018-06-021-12/+7
|
* broadband-modem-qmi: port oma_load_features to use GTaskBen Chan2018-06-021-8/+10
|
* broadband-modem-qmi: port oma_setup to use GTaskBen Chan2018-06-021-12/+8
|
* broadband-modem-qmi: port modem_cdma_load_activation_state to use GTaskBen Chan2018-06-021-42/+18
|
* broadband-modem-qmi: port modem_cdma_run_registration_checks to use GTaskBen Chan2018-06-021-38/+15
|
* broadband-modem-qmi: port ↵Ben Chan2018-06-021-55/+61
| | | | modem_3gpp_{enable,disable}_unsolicited_registration_events to use GTask
* broadband-modem-qmi: port modem_3gpp_run_registration_checks to use GTaskBen Chan2018-06-021-46/+30
|
* broadband-modem-qmi: port modem_3gpp_register_in_network to use GTaskBen Chan2018-06-021-17/+15
|
* broadband-modem-qmi: port modem_3gpp_scan_networks to use GTaskBen Chan2018-06-021-21/+8
|
* broadband-modem-qmi: port modem_3gpp_load_enabled_facility_locks to use GTaskBen Chan2018-06-021-30/+39
|
* broadband-modem-qmi: port ↵Ben Chan2018-06-021-13/+8
| | | | common_setup_cleanup_unsolicited_registration_events to use GTask
* broadband-modem-qmi: port common_setup_cleanup_messaging_unsolicited_events ↵Ben Chan2018-06-021-14/+9
| | | | to use GTask
* broadband-modem-qmi: port common_setup_cleanup_unsolicited_events to use GTaskBen Chan2018-06-021-13/+8
|
* broadband-modem-qmi: port common_enable_disable_unsolicited_events to use GTaskBen Chan2018-06-021-37/+45
|