aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-08huawei: port modem_load_signal_quality to use GTaskBen Chan
2017-09-08huawei: port load_sim_identifier to use GTaskBen Chan
2017-09-08huawei: port load_power_state to use GTaskBen Chan
2017-09-08huawei: port load_supported_modes to use GTaskBen Chan
2017-09-08huawei: port load_current_modes to use GTaskBen Chan
2017-09-08huawei: port set_current_modes to use GTaskBen Chan
2017-09-08huawei: port set_current_bands to use GTaskBen Chan
2017-09-08huawei: port sysinfo to use GTaskBen Chan
2017-09-07wavecom: port modem_after_sim_unlock to use GTaskAleksander Morgado
2017-09-07wavecom: port register_in_network to use GTaskAleksander Morgado
2017-09-07wavecom: port set_current_bands to use GTaskAleksander Morgado
2017-09-07wavecom: port load_current_bands to use GTaskAleksander Morgado
2017-09-07wavecom: port load_supported_bands to use GTaskAleksander Morgado
2017-09-07wavecom: port set_current_modes to use GTaskAleksander Morgado
2017-09-07wavecom: port load_current_modes to use GTaskAleksander Morgado
2017-09-07wavecom: port load_supported_modes to GTaskAleksander Morgado
2017-09-07broadband-modem-mbim: preserve unlock retries for PIN1 when appropriateBen Chan
If PIN1 is disabled and we have tried to enable it with a wrong PIN, a MBIM modem would have indicated the number of remaining attempts for PIN1 (unless PUK1 is engaged) in the response to the failed MBIM_CID_PIN set operation. However, a MBIM_CID_PIN query may be issued (e.g. MMBaseSim calls mm_iface_modem_update_lock_info()) after the MBIM_CID_PIN set operation to query the number of remaining attempts for a PIN type. Unfortunately, we can't specify a particular PIN type in a MBIM_CID_PIN query. The modem may not reply with information about PIN1 if PIN1 is disabled. When that happens, we would like to preserve our knowledge about the number of remaining attempts for PIN1. This patch modifies MMBroadbandModemMbim's load_unlock_retries() operation to carry over any previously observed information on PIN1 if the MBIM_CID_PIN query reports something other than PIN1.
2017-09-07sim-mbim: update unlock retries information after PIN operationsBen Chan
After MMSimMbim performs a MBIM_CID_PIN set operation, it calls mm_iface_modem_update_lock_info() (through its base class MMBaseSim) to refresh the unlock retries information, which results in a MBIM_CID_PIN query. However, a MBIM_CID_PIN query reports only the information of one PIN type and the PIN type can't be specified, we need to deduce the number of retries left for a specific PIN type from the response of a MBIM_CID_PIN set operation for that PIN type. To allow that, this patch modifies MMSimMbim to update the unlock retries information after a PIN operation based on the response to the MBIM_CID_PIN set operation.
2017-09-07iface-modem: export update_unlock_retries outside MMIfaceModemBen Chan
This patch exports the internal function update_unlock_retries() in MMIfaceModem as mm_iface_modem_update_unlock_retries(), which later allows us to call it from other classes.
2017-09-07build: import gtk-doc supportAleksander Morgado
Remove the need to run `gtkdocize' when building from git; this should be an operation done by the maintainer when modernizing the gtk-doc setup (think of e.g. gettextize), no need to do it unconditionally. This makes it easier for platforms without gtk-doc to build from git. When trying to build with documentation enabled and gtk-doc isn't found, we get some nice warnings and errors in the configure report: checking for gtk-doc... no configure: WARNING: You will not be able to create source packages with 'make dist' because gtk-doc >= 1.0 is not found. checking for gtkdoc-check... no checking for gtkdoc-check... no checking for gtkdoc-rebase... no checking for gtkdoc-mkpdf... no checking whether to build gtk-doc documentation... yes configure: error: You must have gtk-doc >= 1.0 installed to build documentation for ModemManager. Please install gtk-doc or disable building the documentation by adding '--disable-gtk-doc' to './configure'. Files generated with gtkdocize (gtk-doc) 1.25.1.
2017-09-07po: add Brazilian Portuguese translationAleksander Morgado
From: Rafael Fontenelle <rafaelff@gnome.org> https://bugs.freedesktop.org/show_bug.cgi?id=102555
2017-09-07po: add Polish translationPiotr Drąg
https://bugs.freedesktop.org/show_bug.cgi?id=102567
2017-09-07i18n: deprecate intltool and use only gettext 0.19.8Aleksander Morgado
Instead of mixing both intltool and gettext, which not always work correctly together, this patch obsoletes intltool and uses only gettext, which includes support for translating XML files with ITS rules. See migration steps for GNOME projects here: https://wiki.gnome.org/MigratingFromIntltoolToGettext The gettext ITS rules for polkit policy files are imported from the upstream polkit repository. We don't use the polkit-installed rule files yet because there is no tagged release that contains those files yet, so we cannot build-depend on any specific polkit version. https://bugs.freedesktop.org/show_bug.cgi?id=96940
2017-09-07api: add MM_DISABLE_DEPRECATED guards around deprecated symbolsAleksander Morgado
When this symbol is defined, e.g. via CFLAGS, building a program that uses the ModemManager API will fail if the program references deprecated symbols. For now we just use it to keep gtk-doc-scan happy and avoid unnecessary warnings.
2017-09-07huawei: update frequency bands supportAleksander Morgado
Updated to use the non-deprecated MMModemBand values.
2017-09-07cinterion: update frequency bands supportAleksander Morgado
Updated to use the non-deprecated MMModemBand values.
2017-09-07telit: update frequency bands supportAleksander Morgado
Updated to use the non-deprecated MMModemBand values. Also, use explicit enums for 2G/3G bands when building internal flags, as relying on UTRAN band 7 (MM_MODEM_BAND_U2600) being greater than UTRAN bands 8 and 9 is a MM implementation issue.
2017-09-07wavecom: update frequency bands supportAleksander Morgado
Updated to use the non-deprecated MMModemBand values.
2017-09-07icera: update frequency bands supportAleksander Morgado
Updated to use the non-deprecated MMModemBand values.
2017-09-07novatel-lte: update frequency bands supportAleksander Morgado
Several changes here: * Updated to use the non-deprecated MMModemBand values. * Added support for GSM 450, GSM 480 and GSM 750.
2017-09-07ublox: update frequency bands supportAleksander Morgado
Updated to use the non-deprecated MMModemBand values.
2017-09-07qmi: update frequency bands supportAleksander Morgado
Several changes here: * Updated to use the non-deprecated MMModemBand values. * Added support for GSM 450, GSM 480 and GSM 750. * Added support for UMTS bands 11 and 19.
2017-09-07api: define additional LTE frequency bandsAleksander Morgado
2017-09-07api: consolidate CDMA frequency enumerationsAleksander Morgado
Define new symbols with easier names, just based on the Band Class.
2017-09-07api: define additional UMTS frequency bandsAleksander Morgado
2017-09-07api: new MM_BAND_UTRAN_ enumerations for WCDMA bandsAleksander Morgado
Flag as deprecated the old names, and define new ones based on the defined UTRAN band numbers, equivalent to what was done for LTE bands.
2017-09-07api: define additional GSM frequency bandsAleksander Morgado
New definitions for not so common GSM frequency bands.
2017-09-07api: don't use intermediate variables for deprecation warningsAleksander Morgado
Using an intermediate constant variable breaks compilation with C compilers, as these variables cannot be used as initializers. Instead, define a deprecated type and cast all deprecated symbols to that type. We lose the information about what the new replacement symbol is, but we don't break compilation. E.g.: test.c: In function ‘main’: test.c:8:5: warning: ‘MMModemBandDeprecated’ is deprecated [-Wdeprecated-declarations] printf ("band: %d\n", MM_MODEM_BAND_U2100); ^~~~~~
2017-09-05plugin,port-probe: always cast SEND_DELAY value to guint64Aleksander Morgado
Program received signal SIGSEGV, Segmentation fault. strchr () at ../sysdeps/arm/armv6/strchr.S:28 28 ../sysdeps/arm/armv6/strchr.S: No such file or directory. (gdb) bt #0 strchr () at ../sysdeps/arm/armv6/strchr.S:28 #1 0x76b121c8 in g_param_spec_pool_lookup () from ~/buildroot/output/staging/lib/libgobject-2.0.so.0 #2 0x76b0cf44 in g_object_new_valist () from ~/buildroot/output/staging/lib/libgobject-2.0.so.0 #3 0x76b0d39c in g_object_new () from ~/buildroot/output/staging/lib/libgobject-2.0.so.0 #4 0x75f75e40 in mm_plugin_create () at ublox/mm-plugin-ublox.c:99 #5 0x00031550 in load_plugin (path=0xe9b68 "/usr/lib/ModemManager/libmm-plugin-ublox.so") at mm-plugin-manager.c:1521 #6 load_plugins (error=0x7efffa68, self=0xdc4f0) at mm-plugin-manager.c:1574 #7 initable_init (initable=<optimized out>, cancellable=<optimized out>, error=0x7efffa68) at mm-plugin-manager.c:1679 #8 0x76b9b278 in g_initable_new_valist () from ~/buildroot/output/staging/lib/libgio-2.0.so.0 #9 0x76b9b2e0 in g_initable_new () from ~/buildroot/output/staging/lib/libgio-2.0.so.0 #10 0x000324d0 in mm_plugin_manager_new (plugin_dir=0xe9c40 "/usr/lib/ModemManager", error=error@entry=0x7efffa68) at mm-plugin-manager.c:1620 #11 0x0002da08 in initable_init (initable=0xddb40, cancellable=<optimized out>, error=0x7efffa68) at mm-base-manager.c:1113 #12 0x76b9b278 in g_initable_new_valist () from ~/buildroot/output/staging/lib/libgio-2.0.so.0 #13 0x76b9b2e0 in g_initable_new () from ~/buildroot/output/staging/lib/libgio-2.0.so.0 #14 0x0002e81c in mm_base_manager_new (connection=connection@entry=0xe1070, plugin_dir=plugin_dir@entry=0x9efb0 "/usr/lib/ModemManager", auto_scan=auto_scan@entry=1, initial_kernel_events=initial_kernel_events@entry=0x0, enable_test=0, error=0x7efffa68, error@entry=0x7efffa60) at mm-base-manager.c:957 #15 0x0002b6ec in bus_acquired_cb (connection=0xe1070, name=<optimized out>, user_data=<optimized out>) at main.c:87 #16 0x76c26864 in connection_get_cb () from ~/buildroot/output/staging/lib/libgio-2.0.so.0 #17 0x76bc76cc in g_task_return_now () from ~/buildroot/output/staging/lib/libgio-2.0.so.0 #18 0x76bc7d50 in g_task_return () from ~/buildroot/output/staging/lib/libgio-2.0.so.0 See similar bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=740191
2017-09-04base-sim: wrap in its own GTask the SIM id loading from the subclassAleksander Morgado
Instead of reusing the caller GTask, use a new GTask to wrap the execution of the subclass' async method implementation. Also, rename the _ready() methods implemented in the GObject initialization flow so that we can use the load_sim_identifier_ready() function name.
2017-09-04telit: reorder code to keep the bottom-top flow for async methodsAleksander Morgado
2017-09-04telit: explicitly flag as const the constant stringAleksander Morgado
2017-09-04telit: plug memleak when SIM object cannot be acquiredAleksander Morgado
The GTask wasn't being disposed.
2017-09-04telit: avoid leaking SIM objectAleksander Morgado
We were getting the SIM object for all paths, but only using (and disposing it) in the AFTER_POWER_UP_STEP_GET_SIM_IDENTIFIER step. Update the logic to only retrieve, use and dispose the SIM object in the step that is needed, and therefore avoid leaking it in the remaining steps.
2017-09-04telit-plugin: handle QSS unsolicited due to power state transitionsCarlo Lobrano
When transitioning between power-low and power-on modes, Telit modems switch the SIM off/on, which leads to the emission of #QSS unsolicited not related to actual SIM swaps. To handle this #QSS unsolicited, this patch: * disables reacting on #QSS unsolicited when modem_power_down is received * implements modem_after_power_up that: - checks whether the SIM has been changed, matching cached SIM Identifier with the value in the current SIM. If SIM Identifier, is different, sim hot swap ports detected is called. - re-enables reacting on #QSS unsolicited
2017-08-29broadband-modem: do not release SIM swap port contexts on disableCarlo Lobrano
Currently when the modem is disabled, it releases SIM hot swap ports context, and is not able to receive any notification about the SIM status. This patch keeps these ports opened when Modem is disabled and released them only when SIM swap is detected or when modem is released.
2017-08-29wavecom: fix async operation completionAleksander Morgado
2017-08-29blacklist: ignore Silicon Labs USB Zigbee donglesMario Limonciello
2017-08-22base-manager: avoid events of USB interface from removing MMDeviceBen Chan
When a USB modem is switching its USB configuration, udev may deliver the remove events of USB interfaces associated with the old USB configuration and the add events of USB interfaces associated with the new USB configuration in an interleaved fashion. An interleaved remove event of USB interface could trigger the special case handling code in mm-base-manager.c:device_removed() and incorrectly remove a MMDevice under probing. See https://lists.freedesktop.org/archives/modemmanager-devel/2017-August/005626.html for more details. This patch adds a check to ensure that only remove events of USB device (i.e. not interface) can trigger the special handling code.
2017-08-16charsets: simplify check to see if conversion to charset possibleAleksander Morgado
Instead of having a method that returns the expected length after the conversion and the amount of input UTF-8 characters that couldn't be converted to the given charset, simplify the logic and just define a method that returns a boolean specifying whether the conversion is possible or not. Also, include unit tests.